猿辅导社招一二三面复盘
本人19届入职10个月,2月10号参加了猿辅导猿编程部门一二面面试,三面面试官没时间就约了12号,由于刚毕业不到一年,面试内容依然以基础为主。
一面1h(leader面):
1 自我介绍;
2 springboot与spring、springmvc的关系;
3 spring IOC、AOP原理;
4 java中集合容器了解什么,详述HashMap的put操作,想过为什么链表长度到8会转化为红黑树吗,扩容操作怎么实现的;
5 mysql索引了解吗,为什么用索引;有哪些索引;如果没有主键的话会怎么样;聚簇索引和非聚簇索引的区别;myisam和innodb哪个会保存表的总记录数,为什么;为什么用联合索引;bc会走abc联合索引吗;
6 mysql锁有哪些,意向锁的原理;
7 mysql隔离级别,分别解决了哪些问题,脏读、不可重复读、幻读是什么意思,可重复读是怎么实现的;
8 mysql主从节点怎么保证数据的一致性;
9 为什么用kafka,kafka怎么实现的高可用
9 为什么用kafka,kafka怎么实现的高可用
10 kafka怎么处理丢消息;
11 kafka怎么保证幂等;
12 kafka怎么保证只有一个消费者消费;
13 消息队列有哪些应用场景;
14 垃圾回收器有哪些;
15 垃圾回收算法有哪些;
16 算法:m*n二维数组整体有序,查找value(二分)。
二面1h(交叉面):
1 自我介绍;
2 接口鉴权怎么设计实现的;
3 java中的锁,synchonized底层怎么实现的,RetreenLock底层怎么实现的,公平锁和非公平锁是怎么实现的,AQS是什么;
4 Redis可以用在哪些场景,项目中用在了哪个场景,zset底层是什么数据结构;
5 怎么保证mysql和redis中数据的一致性;
6 BIO和NIO的区别;
7 IO多路复用如何实现的,select、poll、epoll的区别;
8 Http2.0的和Http1.0的区别;
9 Http和Https的的区别;
10 Https原理;
11 算法:k个一组反转链表。
三面30min(总监面)
面试官要开会,很着急,没有自我介绍,面试官对项目也不是太感兴趣,直接扔了一道算法题leetcode32 最长有效括号长度,以前做过好久没看忘记了,写的磕磕绊绊最后也没bugfree,估计是凉了。
自我总结与反思:
1 个人简介:需要准备1和5分钟两个版本,包括学习经历、工作经历、项目经历、个人优势、一句话总结,背的滚瓜烂熟,张口就来;
2 基础知识:需要从定义、来源、实现、问题、优化、应用方面来系统性的回答;
3 项目:形成包括【架构与实现细节】、【正常流程与异常流程】、【难点+坑+复盘优化】三位一体组合拳;
4 压力练习:表达面试时难免紧张,可能会严重影响发挥,可以找人多分享交流;
5 重点针对:简历上缩写的技术要重点准备。