Files
Knowledge/3 札记/面试.md
T

58 lines
3.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
岗位匹配度:
1. 扎实的Java编程能力,熟悉分布式、多线程及高性能的设计与编码及性能调优。
1. 如何将一个 GBK 编码的字符串转为 UTF-8 编码的字符串。
2. 多个线程间共享变量有哪些方式?
1. **volatile变量**:保证可见性,不保证原子性
2. **synchronized方法/代码块**:保证原子性和可见性
3. **ReentrantLock等显式锁**:更灵活,支持公平锁、条件变量
4. **Atomic原子类**:`AtomicInteger`, `AtomicReference`等
5. **ThreadLocal**:线程本地变量,每个线程独立副本
6. **阻塞队列**:`BlockingQueue`,生产者-消费者模式
7. **并发容器**:`ConcurrentHashMap`, `CopyOnWriteArrayList`等
8. **CountDownLatch/CyclicBarrier**:线程间协调
9. **volatile + CAS**:无锁编程模式
3. 如何分析 Maven 依赖冲突。
1. mvn dependency:tree
2. mvn dependency:analyze
3. 使用`<exclusions>`排除不需要的传递依赖
2. 精通Spring、SpringBoot/SpringCloud、Mybatis等主流开源框架。
3. 熟练使用关系型数据库(Oracle、MySQL),了解Redis、MongoDB等非关系型数据库。国产数据库。
1. 如何分析一个 sql 是否使用了索引进行加速。[[EXPLAIN]] type 有哪些类型。ALL
2. 前台界面需要拖拽排序,后台接口和数据库如何实现。
3. 有一张打卡记录表,如何查找连续两天漏打卡的人。[[查找连续两天漏打卡的人]]
4. 掌握 TCP/IP 通信协议相关知识,熟练进行 Socket 网络编程。
1. 一个TCP 报文有多长,有效的数据长度有多少?如果发送的数据很长会怎么处理。发送的数据都很短会怎么处理。
- **最大报文段长度(MSS)**:通常1460字节(1500 MTU - 20 IP头 - 20 TCP头)
- **有效数据长度**:可变,最大约1460字节
- **最小报文长度**:纯ACK包约40字节(只有头部)
2. 一个 Http Get 请求数据量,Post 请求数据量1M。
- RFC 标准未规定上限
- IE浏览器:2083字符
- Chrome/Edge:~32K字符
- Apache服务器:默认8190字节
- Nginx:默认1K,可配置到8K
5. 熟悉 JNI 开发。
1. String 类型传递给 C 用什么类型,结尾字符如何处理?
2. C 代码中如何调用 java 内的函数,java 中抛出异常,C 中如何处理。
6. 云架构体系以及微服务
1. docker 的基本操作,在 docker 内如何做监控。
7. 密码学相关背景知识
1. pkcs10 标准的主要内容是什么,证书请求和证书的主要内容是什么?
- **证书请求信息**:版本、主题、公钥、属性
- **签名算法标识符**:如sha256WithRSAEncryption
- **数字签名**:用私钥对请求信息签名
2. 用户的口令在数据库中应该如何存储?
8. 解决问题能力、持续主动学习能力,文档能力、团队合作能力。
1. 线上环境偶发问题有什么排查思路?
2. 概要设计文档应该包含哪些必要内容 [[项目管理文档编写]]
9. git (log、stash、worktree)
Python 面试:
1. Python Socket 客户端如何设置链接超时时间和通信超时时间。
2. 如何将项目打包为 whl ,可以让别人通过 pip 安装和管理。如何把包内的方法暴露出来。venv 环境管理。
3. Python中的GIL(全局解释器锁)是什么?它对多线程编程有什么影响?在什么情况下应该使用多进程而不是多线程?[[Python GIL 锁]]
4. Python 调用 C 代码、动态库。二级指针。
5. Python 性能分析。火焰图。
6. Python 编写测试脚本。AI 调用。未来规划。已经做了哪些。