秋招面试题汇总
大约 3 分钟
秋招面试题汇总
对整个秋招过程中所遇到的面试题做一个汇总,便于自身查漏补缺,也希望能给正在求职过程中的人带来帮助。
Java
- Object 有哪些方法?
wait
和sleep
的区别。- 创建线程有哪几种方法?
- 线程池的核心参数?线程池新建任务怎么工作?
- Java 实现锁的方式。
- synchronized 与 ReentrantLock 的区别。
- 什么是公平锁,什么是非公平锁。
- Java 的 String 类有什么特点?
==
与equals
区别。new Integer(127) == new Integer(127)
是 true 还是 false,new Integer(12) == 12
是 true 还是 false?- 重载和重写的区别。
- Java 中父类的引用指向子类的实例,实际调用子类的方法,是怎么实现的?
- 方法的调用是值传递还是引用传递?
- Comparble 与 Comparator 的区别。
- HashMap 相关:
put
过程,key
为null
时,咋办?- 扩容流程。
- 扩容时机。
- 处理哈希冲突的方式。
- ReentrantLock 的
tryLock
加锁的过程。 - 静态方法和普通实例方法的区别是啥?
- 阻塞队列使用过哪些?
- Spring 为什么会使用三级缓存?
- 说下 Java 集合的 Collection 有哪些类型?有哪些具体的实现类?各自的适用场景?
- 你常用的线程池的拒绝策略。
MySQL
- 数据库什么时候会产生死锁?
- MySQL 有哪些隔离级别,隔离级别的特点。
- 什么叫不可重复读,怎么解决?
- MySQL 有哪些索引类型?
- MySQL 什么时候会进行回表查询?
- MySQL 日志有哪些?具体有什么作用?一个事务提交的时候,这几个日志落盘的顺序是怎么样的?
- MySQL 的隔离性是怎么实现的?
- MySQL 幻读怎么理解,怎么解决?
- MySQL 中的行级锁有哪些?
select * from emp where name = 'a'
加了什么锁?哪些数据行会加上锁?- 给一个 sql,问会走哪些索引,考察最左前缀,怎么验证?
Redis
- 你一般用 Redis 做什么?
- Redis 内存满了,内存淘汰策略是怎么样的?
- Redis 基础数据类型及其底层数据结构,和各自适用的场景?
计网
- 对称加密与非对称加密的区别,非对称加密什么场景下会使用。
- HTTPS 怎么实现安全的。
- HTTPS 连接建立的过程。
- TCP 第四个数据包丢失了会怎么样?
- TCP 拥塞控制具体有哪些方法?
- 用户输入一个网址到服务器处理,再到结果返回给用户,从计网的视角如何解读?
操作系统
- 操作系统的内核态与用户态有很多差异,这种差异在 Linux 系统是怎么实现的?
- 操作系统是怎么支持上层的应用程序来完成系统调用。
- 操作系统管理的分段和分页各自解决了哪些问题?
- 虚拟地址远大于实际地址的时候,操作系统是怎么处理的?
- 死锁的条件是啥?
- 浮点数怎么转二进制的?
上面这一块操作系统的问题,都是面美团的时候问的,确实给我问的有点流汗了。
- 进程、线程、协程的区别?
其他
- 什么场景下会用到限流。
- 消息队列选型问题。
- 设计模式里,策略模式和模板方法模式的区别是啥?
- 用过哪些设计模式?
- 对 ZooKeeper 怎么理解?
- ZooKeeper 节点类型有哪些?
- 线上,MySQL 中一个表中大量数据进行变更,怎么做?