一面:
先是问了问项目,然后就开始问一些问题
1、每个请求耗时100ms,机器的配置是4核8G,问要达到10000TPS需要多少台机器?
没答上来,问了问是IO密集型还是CPU密集型,然后面试官说我想得太复杂了
2、怎么实现网页的自动跳转
答301 302的Location字段,然后又问了我这两个有什么区别
3、有一个10G大小的文件,里面都是32位的无符号整数,但是内存大小只有1G,问如何找出里面重复的数字
一开始说用hash,先hash到小文件。面试官说有没有更简单的,答位图,又问你觉得位图会占用多大的内存空间。算了一会,答512M
然后就是算法题,一个Unix的路径,简化这个路径,Leetcode上有原题
一面大概36分钟
二面:
围绕项目问了很多问题,和我讨论了怎么保证双写的一致性、消息队列中消息积压了怎么办、为什么要用到分布式锁、ZK的分布式锁的使用流程、ZK的选主策略、同步策略然后又围绕Kafka问了一些问题。
1、Kafka怎么保证顺序消费?
2、Kafka的架构是什么样的?
3、Kafka可以保证一个主题所有的分区都顺序消费吗?
算法,给一个数n,求所有和等于这个数的连续子序列,比如15=1+2+3+4+5=4+5+6=8+7,所以输出3.
三面:
主要是围绕着基础的知识问了一些问题:
1、Java的GC
2、反射,反射是怎么实现的。
没看过是怎么实现的,现场猜想了一下,应该答错了
3、讲一下乐观锁和悲观锁
4、网络协议的分层,每一层是干嘛用的
5、DNS是哪一层的,域名解析的过程是什么样的?
6、进程间通信的方式,什么情况下需要进程间通信?
这个题答得也不太好,讲了管道、信号、共享内存区域
7、volatile关键字
8、Synchronized和Lock
这个地方我是想等他来问我底层的原理,所以说的时候没说完。不过说完他也没反馈,也许知道什么就应该全部说出来?
做一道算法题,序列化和反序列化二叉树
9、内核态和用户态介绍一下
最后面试官和我聊了聊平时是怎么学习的,最近学什么东西比较有心得,以后的职业规划是什么。
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以扫码领取!
学习分享,共勉
这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!
资料整理不易,读者朋友可以转发分享下!
Java核心知识体系笔记.pdf
中高级Java开发面试高频考点题笔记300道.pdf
架构进阶面试专题及架构学习笔记脑图
Java架构进阶学习视频分享
11090779485)]
架构进阶面试专题及架构学习笔记脑图
[外链图片转存中…(img-KmYhtkoR-1711090779486)]
Java架构进阶学习视频分享
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!