前言
最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。
我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以整理了一些资料来解答这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。
技术面(一、二、三面)
- Java 有什么锁类型?
- 有了解Spark吗?Spark为什么比Hadoop要快?
- 谈谈poll和epoll,epoll是同步还是异步
- JMM、老年代在什么情况下会触发GC、对老年代的GC会不会导致程序卡顿?(最优吞吐量和最短停顿时间)
- TCP怎么断开连接
- 讲一讲红黑树
- 红黑树插入一个结点的时间复杂度
- 你所知道的算法的时间复杂度有哪些?快排的复杂度是多少?为什么?
- HashMap的实现,为什么结点插在链表的头部容易导致死锁?
- HashMap扩容
- 手撕代码:字符串a和b,假设只由26种小写字母组成,且a比b长,判断b中字符是否在a中都有出现
- JDK11的ZGC
- Java类加载过程
- 手撕代码:双向有序链表,去除有重复值的所有结点
- 说你熟悉的几种设计模式,手写单例设计模式
- ConcurrentHashMap的实现有了解吗
- 画B+树的底层框图,B+树的叶子结点是什么结构</