提离职原因
ZooKeeper
1. CAP定理
2. ZAB协议
3. leader选举算法和流程
Redis
1. Redis的应用场景
2. Redis支持的数据类型(必考)
3. zset跳表的数据结构(必考)
4. Redis的数据过期策略(必考)
5. Redis的LRU过期策略的具体实现
6. https://blog.csdn.net/nakiri_arisu/article/details/79205660
7. 如何解决Redis缓存雪崩,缓存穿透问题
8. Redis的持久化机制(必考)
9. Redis的管道pipeline
Mysql
1. 分布式事务
a) https://www.cnblogs.com/xifenglou/p/8440836.html
2. 分库分表、聚合查询
4. 事务的基本要素
5. 事务隔离级别(必考)
6. 如何解决事务的并发问题(脏读,幻读)(必考)
7. MVCC多版本并发控制(必考)
8. binlog,redolog,undolog都是什么,起什么作用
9. InnoDB的行锁/表锁
10. myisam和innodb的区别,什么时候选择myisam
11. 为什么选择B+树作为索引结构(必考)9.索引B+树的叶子节点都可以存哪些东西(必考)
12. 查询在什么时候不走(预期中的)索引(必考)
13. sql如何优化
14. explain是如何解析sql的
15. order by原理
JVM
1. 运行时数据区域(内存模型)(必考)
2. 垃圾回收机制(必考)
3. 垃圾回收算法(必考)
4. Minor GC和Full GC触发条件
5. GC中Stop the world(STW)
6. 各垃圾回收器的特点及区别
7. 双亲委派模型
8. JDBC和双亲委派模型关系
Java基础
1. HashMap和ConcurrentHashMap区别(必考)
2. ConcurrentHashMap的数据结构(必考)
3. 高并发HashMap的环是如何产生的
4. volatile作用(必考)
5. Atomic类如何保证原子性(CAS操作)(必考)
6. synchronized和Lock的区别(必考)
7. 为什么要使用线程池(必考)
8. 核心线程池ThreadPoolExecutor的参数(必考)
9. ThreadPoolExecutor的工作流程(必考)
10. 如何控制线程池线程的优先级
11. 线程之间如何通信
12. Boolean占几个字节
13. jdk1.8/jdk1.7都分别新增了哪些特性
14. Exception和Error
15. 公平锁与非公平锁
公平锁的作用就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。
默认情况下 ReentrantLock 和 synchronized 都是非公平锁。ReentrantLock 可以设置成公平锁。
Spring
1. Spring调用流程
2. Spring 依赖注入 控制翻转
3. Spring的IOC/AOP的实现(必考)
4. 动态代理的实现方式(必考)
5. Spring如何解决循环依赖(三级缓存)(必考)
6. Spring的后置处理器
7. Spring的@Transactional如何实现的
8. Spring的事务传播级别
9. BeanFactory和ApplicationContext的联系和区别
其他
1. 高并发系统的限流如何实现
2. 高并发秒杀系统的设计
3. 负载均衡如何设计
补充
另外还会考一些计算机网络,操作系统啊之类的。像消息队列,RPC框架这种考的比较少。
计算机网络就是分层啊,tcp/udp啊,三次握手之类的。操作系统就是进程与线程啊,进程的数据结构以及如何通信之类的。数据结构的排序算法也比较常考,考的话一定会让你手写个快排。剩下的算法题就靠LeetCode的积累了。其实非算法岗考的算法题都蛮简单的,很多题完全就是考察你智力是否正常,稍微难点的涉及到一些算法思想的按照LeetCode题目类型的分类,每种题做一两道基本就能完全应付面试了。
面试感受及评价
除了外企,体验最好的就是阿里。绝对的脱颖而出,无论是面试官的专业程度还是面试官对参与面试人员的态度都完全突出于其他公司。非常的尊重人,以及会引导我去作出正确的回答,唯一就是阿里的HR是非常强势的,永远有一票否决权。而有些公司面试官会故意误导你,想方设法让你说出错误的答案,并且有些态度极其傲慢,让人感觉很不尊重人。这里点名批评面试体验最差的两家公司:美团和Boss直聘。
外企的话,体验都很好。微软是英文面的,亚马逊不是。这俩都是以算法为主,微软除了算法还聊了操作系统和计算机网络,亚马逊聊了较长时间的项目细节。
最后
最后说下自己的情况,17年在京东实习,19年7月离职。正式工作时间很短,就一年(算实习两年),而且19年有半年的时间准备考研所以有半年的空档期,这也是为什么我被很多HR挂了的原因。虽然Offer没拿几个,但是一半多都面到HR面了,所以对于两三年经验的感觉整理的问题还是比较有代表性的。
补
算法题
1. 两个单聊表相交
2. 杨辉三角求数字位置,LeetCode118,119题相关。(滴滴)
3. 循环有序数组的查找,LeetCode33题。(滴滴)
4. 求二叉树的最近公共祖先,LeetCode236题。(滴滴)
5. 求阶乘后的0,LeetCode172题。(蚂蚁金服笔试)
6. 实现一个增删查功能的LinkedList,LeetCode707题。(Boss直聘笔试)
7. 矩阵置0,LeetCode73题。(跟谁学笔试)
8. 二又树的层序遍历,LeetCode102题。(搜狐)
9. 中文转数字/数字转中文。(头条)
10. 链表的两数相加,LeetCode2题类型题。(头条)
11. 反转链表,LeetCode206题。(头条,搜狐)
12. 合并两个有序链表,LeetCode21题。
13. (猿辅导)
14. 括号匹配,LeetCode20题。(拼多多)
15. 队列实现栈,栈实现队列,LeetCode225,232题。(拼多多)
16. 判断字符串(IP地址)是否在集合内。
17. (微软)
18. 中缀表达式的计算,LeetCode224题。
19. (微软)
20. 划分字母区间,LeetCode763题。(亚马逊)