自我介绍
渣硕一枚,毕业快两年了。
面试
准备
刷题
刷题不是必须的。比如招银网络、阿里巴巴。在我面试阿里巴巴的过程中,真的是一道题没有做。所以对于有目标公司的同学,可以针对性的准备。
简历
我觉得写好项目经历有以下原则:
- 你必须能为简历上的每一个字负责
- 项目经历请用数据来支撑,比如你做了一个服务端应用接口的优化,那么你做了哪些工作,使得QPS从多少提升到多少?
- 每一个项目经历都必须有亮点,至少你自己觉得很亮。如果实在想不出亮点,可以适当借用别人的东西来做亮点,前提是你能够盘的清楚
- 自己的工作应该要能聊清楚。现在这种分工合作的年代,基本不会有什么项目是完全由自己撸出来的。所以着重把自己的那一部分讲好
面经
腾讯
腾讯总共面了5轮,其实我请同学帮忙推的是微视,但是简历莫名其妙的留到了QQ音乐那边。
一面
- 大数据问题。给定4G内存,以及16亿个QQ号,这些QQ号里面有重复的,找出重复次数排名前100个QQ号。
- 聊了下微服务,服务注册发现是怎么做的?微服务的监控是怎么做的?
- 实现一个线程安全的阻塞队列。
- 给定两个数组,每个数组中都有重复的数字。不用类库函数,对这两个数组排序。
- 多路复用是什么?怎么用?
- Linux中的文件节点是什么?(这个不太会)
- 聊了下项目架构
二面
- 给定一个数组,求该数组所有的自子数组
- 去掉一个字符串中的所有空格(送分题)
- 两个系统A和B,如果A调用B的时候发生超时,这个时候A会重试,那么怎么确保B只调用一次?
- 项目中的数据库分表是怎么做的?
三面
- 给定一个数组,元素的大小0~25,有重复元素。按出现频次的高低输出所有的数字。
- 聊一下项目中HBase的RowKey是怎么设计的?
- 项目中的事务消息是怎么做的?
- 对加班怎么看?表示自己可以996
四面
- 给定一个二叉树,依次打印出每一行。
- 聊一下Redis的zset?实现原理是什么?为什么不用红黑树来实现?
- redis哨兵怎么选举主节点?
- 为什么IP分组到达的时间不一样?
- 有什么要问我的?
五面
我真的已经忘记聊什么了。很快,没聊什么技术。聊了下为什么想换工作?以及自己的职业规划
京东
一面
- leetcode 2
- 自我介绍
- 线程池实现原理,用法
- JVM内存结构,垃圾回收机制
- Synchronized加锁原理。偏向锁、轻量级锁、重量级锁。
- AQS原理。公平锁和非公平锁。
- MySQL索引什么时候失效?
- RocketMQ生产消息,存储消息,生成索引,消费消息全流程。
- ConcurrentHashMap扩容算法
- 有什么要问我的?
二面
- 求N内的所有素数;
- 给定一个乱序数组,求数组内最大连续的数;
- 自我介绍
- 聊项目。项目中的难点是什么?如何解决,我讲了RocketMQ的调优
- 分布式ID实现,不准用UUID
- MySQL间隙锁的机制?主要解决的问题是什么?
- 课余时间怎么学习?
- 有什么要问我的?
三面
- 讲项目,redis的作用,HBase RowKey的设计。项目主要做了些什么?有什么难点?
- Leetcode 146
- Leetcode 470
- 有什么要问我的?
总结
最后拿到了招银、腾讯、快手的Offer,面试阿里被挂掉了,有赞、oppo面试都很神仙。有赞面了5分钟把我挂了,oppo面了一轮,感觉聊得不错,然后就没有然后了。最后去了快手。
分享
最后小编整理了一份Java面试、进阶相关的学习资料,需要的小伙伴(文末获取)
java面试题及大厂真题
大量电子书
文章中的资料大家都可以可以添加小编的vx:mxzFAFAFA即可免费领取!