阿里云一面
03.29 偏基础八股
Java
- Java 集合接口的区别
- ArrayList 和 LinkedList 的区别
- 有哪些 Map 数据结构
- ConcurrentHashMap 为什么是线程安全的
- HashMap 有可能做到线程安全吗?原理是什么,如何实现?(利用 Collections 的包装类转换成线程安全的类,同步方法)
- synchronized 的修饰成员方法和静态方法的区别
- == 和 equals 的区别
- 一个类没有重写 equals 方法,调用 equals 会发生什么
- 线程池有哪些参数,具体有什么用
- ThreadLocal 的使用场景?为什么可以确保线程私有?
JVM
- 有哪些回收算法,优缺点
- 用过哪些垃圾收集器,有什么区别
- 如何判断一个对象实例是否可回收
数据库
- mysql 有哪些索引
- 索引的底层数据结构
- 为什么是 B+树,而不是平衡树、红黑树或其他的
- 一个表存了十几亿行数据会有什么问题?如何优化
- 水平分表和垂直分表的策略,如何决定?
计网
- 网络模型有几层
- TCP/IP四层和OSI七层的区别
- HTTP 和 UDP 属于哪一层
Linux
- 了解哪些命令
- 如何在日志文件中搜索符合某个规则的日志
- 如何读取一个日志文件的前几行
项目
- 如何收集日志
- 直接使用slf4j是否达到要求?具体使用了哪种日志实现?
手撕 1:判断两个链表是否有交集
手撕 2:实现一个生产者消费者模型
#面经##校招##晒一晒我的offer##25届暑期实习#