秋招已经结束,说说我的秋招经历吧
⠀
我是今年1月份才开始准备春招(其实已经算晚的了),所以春招基本上都是一面就挂了。但春招也让我认识到自己有哪些不足,至少在春招就把很多坑都踩了。
⠀
秋招我是7月20开始投简历,8月基本都是在笔试。9月才开始面试。很多大厂都是挂在了笔试,感觉自己笔试这块还是没有准备充分。
⠀
⠀⠀⠀
⠀
下面是秋招面经,基本按时间顺序写的。
网易一面(8.30)
自我介绍
java有哪些基本数据类型
try中的return是在finally前执行?
装箱和拆箱
hashcode
==和equals区别
反射能做什么,spring哪里用到了反射
bio/nio/aio
多线程的几种方式,为何继承要重写run方法
如何保证并发安全
sleep和wait的区别
遇到的困难,怎么解决
写完项目有没有总结(回答了有收获)
以后遇到相同的问题怎么解决(懵了)
反问:有什么建议
总结:这一面问的都比较基础
⠀
⠀
⠀
陌陌一面(9.4)
自我介绍
项目是练手项目?
concurrenthashmap的1.7和1.8的区别
concurrenthashmap的构造器参数
hashmap死链循环,是get产生还是put时产生
reentlock重入实现原理
reenlock和sync的区别
list中5万个元素查询1000次怎么优化(hashset)
5个任务需要在1秒内完成,每个任务需要0.5s(多线程来完成)
外排流程
讲讲cms
判断链表是否有环
联合索引失效问题
索引排序问题
mysql默认隔离级别
mvcc解决了幻读问题?
手写快排
项目分布式事务怎么用的
有没有在实习
看的一些技术书
反问:业务
⠀
⠀
万方一面(9.8)
自我介绍
项目
读过哪些并发相关的源码,说下concurrenthashmap
内存结构
java是编译型还是解释型,jit及时编译器如何优化编译
java内存模型
如何保证可见性(volatile),又追问了缓存一致性协议(mesi)
创建线程的方式,为何要使用线程池
tcp和udp的区别
⠀
⠀
陌陌二面(9.8)
项目
https的ssl握手过程
线程池可以修改核心线程数量?超过核心线程数量如何处理
为何选择服务端开发
双亲委派机制的缺点,优点
jvm内存结构
反问
⠀
⠀
陌陌hr三面(9.9)
前面几位面试感觉怎么样
了解陌陌?
了解直播?
有哪些offer了,面试进度
介绍一下项目团队
除了陌陌你还想去哪家公司
反问:能否提前去实习
⠀
⠀
陌陌四面主管(9.13)
项目团队
项目中es用了哪些技术点
为何选择陌陌
反问了技术栈
⠀
⠀
去哪儿一面(9.17,50分钟)问得很深很细
项目怼了半个小时,问了es倒排索引,为何选用es,JWT,分布式等等。
mysql索引,讲了b+树存储方式,又追问了b+树和b树的区别,mysql为何要设置页的大小
发送http请求的整个流程
对锁的了解(说了synchronized,reentrant,读写锁,信号量,细说了synchronized的轻量级锁,偏向锁,synchronized和reentrant的效率对比),内核态和用户态切换为何有性能损耗
对volatile的了解,引出了内存模型,最后问了工作内存之间数据不一致的根本原因(cpu多核引起的)
反问了业务
⠀
⠀
去哪儿二面(9.17,30分钟)
项目介绍,点赞功能优化
redis问了有哪些数据类型,hash的应用场景
rabbitmq怎么保证消息不被丢失,怎么保证不重复消费
es的倒排索引,es的ik分词器切割不准确怎么处理
cms和g1的区别,g1解决了cms的哪些问题(提示了内存碎片)
mysql的索引优化,防止索引失效。
线程池的参数以及作用,任务添加的流程,超过核心线程数怎么处理
反问了培训安排,每天工作时间
⠀
⠀
去哪儿三面hr(9.17,20分钟)
自我介绍
面试感受
了解去哪儿?
项目的收获
学习过其他语言?python,go
想去哪些公司
反问了培训安排,面试结果通知
⠀
⠀
便利蜂1面(9.23)
全程项目问
⠀
⠀
便利蜂2面(9.23)
二面也是问项目(挂了)
⠀
⠀
同花顺1面(9.24)
自我介绍
定义字符串的几种方式
怎么定义常量
String s1=“a” 和String s2=new String(“a”) ,s1和s2是否相等
如何保证集合线程安全,有哪些线程安全的集合
弱引用的原理,弱引用和垃圾回收的关系
如何让实现线程切换(好像是想问wait/notify)
一个大文件10g,10m内存排序
了解ipc?rpc?,rpc原理
大量请求怎么处理(消息队列,限流)
最近有在学习什么?
反问业务,什么时候出结果
⠀
⠀
同花顺2面(9.27)
自我介绍
项目,挑一个难点说,说了分布式事务,以及分布式事务的原理
如何保证redis高可用,哨兵模式原理,如何选举(投票机制)
http的请求过程,http的内容格式,http响应状态码
微服务负载均衡,有哪些算法,怎么知道服务的压力大小(说了springboot的监控)
算法:一个字符串在另外一个字符串中出现的次数
最近看了什么书
tcp数据丢失怎么处理(自己说了tcp有重传机制,保证了数据的传输可靠)
能否来实习
自己的职业规划
⠀
⠀
同花顺hr面(9.30)
介绍你的家乡
介绍你的学校
其他offer
杭州和北京更想去哪里,为什么
期望薪资
反问加班情况
⠀
⠀
京东java面试(10.13,50分钟)
手写代码 实现消费者生产者模型(我写了个阻塞队列)
b+树了解多少
联合索引,联合索引失效情况
mysql的事务,事务隔离级别,mvcc
mysql分库时生成唯一id的方式。redis生成唯一id的吞吐量有限,有什么更好的办法?(用多台redis,每台redis只生成指定范围的id)
redis的基本数据类型,zset的底层(好像数量小的时候是使用了ziplist,超过一定数量使用 跳表+哈希表),redis用过哪些基本数据类型
说说bio,aio,aio的区别,epoll和poll的区别
说说零拷贝
cms的工作机制
Executors创建的线程池有哪些缺点
synchronized的锁机制
反问业务,结果
⠀
⠀
京东java二面(10.15,30分钟)
问了项目,说下项目架构,团队分工
他自己介绍了部门工作内容,部门好像涉及到了大数据
反问:问了培训
最后问我想不想来京东
⠀
⠀
古茗科技一面(10.25左右)
自我介绍
项目问了30分钟,redis,分布式事务,分布式事务的锁问题
反问业务是做哪些
⠀
⠀
古茗科技hr面(10月底的样子,15分钟)
了解古茗?
其他offer
了解古茗商业模式?(直接说不了解)
还有一些记不清了,hr好像感觉到我不太想来。反问了加班情况
⠀
⠀
招商金科一面(11.5左右的样子,50分钟)
项目问了很久,问了token原理,token失效问题,token存在哪,redis有没有做集群,有没有分库分表,nacos如何保证高可用
又问了项目的部署情况,项目的跨域问题
谈谈你对jvm的理解
⠀
⠀
招商金科二面(11.10左右)
自我介绍
项目介绍,项目分工
其它offer,期望薪资,哪里人
⠀
⠀
小米一面(11.22,37分钟)
自我介绍
项目介绍,redis做了哪些功能,redis还有有哪些数据类型,说说跳表原理,jwt的组成结构
写一个单例模式(写了双重校验锁这个)
[1,2,3,4,5]所有排列组合的算法实现
还有些忘了
⠀
⠀
小米二面(11.24,50分钟)
自我介绍
项目介绍,问了es,es的索引结构,jwt的过期时间怎么处理,redis为什么单线程以及如何保证高吞吐量
下面程序输出结构
int i=1;
Integer j=1;
Integer k=new Integer(1);
System.out.println(i==j);
System.out.println(j.equals(i));
System.out.println(j==k);
System.out.println(k.equals(j));
int i=128;
Integer j=128;
Integer k=new Integer(128);
System.out.println(i==j);
System.out.println(j.equals(i));
System.out.println(j==k);
System.out.println(k.equals(j));
object有哪些方法
多线程的实现的几种方式
谈谈wait和notify,wait后怎么知道代码执行到哪里(程序计数器),notify,notifyall唤醒原理(等待队列,阻塞队列),中途还问了栈和堆的区别,以及程序计数器是使用栈还是堆实现的
mysql的索引,索引结构,a、b、c这样的字段组成的联合索引,它在B+树中如何存储的?
25人,5条跑道,每条跑道只能有一人,问知道前三名最少跑多少次
⠀
⠀
最终收到的offer:
万方(北京,国企)
去哪儿(北京),好像意向发多了,给了劝退价
同花顺(杭州)
招商金科(深圳,央企)
小米(武汉)
⠀
⠀