java后端秋招面经

秋招已经结束,说说我的秋招经历吧

我是今年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:

万方(北京,国企)

去哪儿(北京),好像意向发多了,给了劝退价

同花顺(杭州)

招商金科(深圳,央企)

小米(武汉)


你可能感兴趣的:(面试)