自我介绍

渣硕一枚,毕业快两年了。

面试

准备

刷题

刷题不是必须的。比如招银网络、阿里巴巴。在我面试阿里巴巴的过程中,真的是一道题没有做。所以对于有目标公司的同学,可以针对性的准备

简历

我觉得写好项目经历有以下原则:

  • 你必须能为简历上的每一个字负责
  • 项目经历请用数据来支撑,比如你做了一个服务端应用接口的优化,那么你做了哪些工作,使得QPS从多少提升到多少?
  • 每一个项目经历都必须有亮点,至少你自己觉得很亮。如果实在想不出亮点,可以适当借用别人的东西来做亮点,前提是你能够盘的清楚
  • 自己的工作应该要能聊清楚。现在这种分工合作的年代,基本不会有什么项目是完全由自己撸出来的。所以着重把自己的那一部分讲好

面经

腾讯

腾讯总共面了5轮,其实我请同学帮忙推的是微视,但是简历莫名其妙的留到了QQ音乐那边。

一面

  1. 大数据问题。给定4G内存,以及16亿个QQ号,这些QQ号里面有重复的,找出重复次数排名前100个QQ号。
  2. 聊了下微服务,服务注册发现是怎么做的?微服务的监控是怎么做的?
  3. 实现一个线程安全的阻塞队列。
  4. 给定两个数组,每个数组中都有重复的数字。不用类库函数,对这两个数组排序。
  5. 多路复用是什么?怎么用?
  6. Linux中的文件节点是什么?(这个不太会)
  7. 聊了下项目架构

二面

  1. 给定一个数组,求该数组所有的自子数组
  2. 去掉一个字符串中的所有空格(送分题)
  3. 两个系统A和B,如果A调用B的时候发生超时,这个时候A会重试,那么怎么确保B只调用一次?
  4. 项目中的数据库分表是怎么做的?

三面

  1. 给定一个数组,元素的大小0~25,有重复元素。按出现频次的高低输出所有的数字。
  2. 聊一下项目中HBase的RowKey是怎么设计的?
  3. 项目中的事务消息是怎么做的?
  4. 对加班怎么看?表示自己可以996

四面

  1. 给定一个二叉树,依次打印出每一行。
  2. 聊一下Redis的zset?实现原理是什么?为什么不用红黑树来实现?
  3. redis哨兵怎么选举主节点?
  4. 为什么IP分组到达的时间不一样?
  5. 有什么要问我的?

五面

我真的已经忘记聊什么了。很快,没聊什么技术。聊了下为什么想换工作?以及自己的职业规划

京东

一面

  1. leetcode 2
  2. 自我介绍
  3. 线程池实现原理,用法
  4. JVM内存结构,垃圾回收机制
  5. Synchronized加锁原理。偏向锁、轻量级锁、重量级锁。
  6. AQS原理。公平锁和非公平锁。
  7. MySQL索引什么时候失效?
  8. RocketMQ生产消息,存储消息,生成索引,消费消息全流程。
  9. ConcurrentHashMap扩容算法
  10. 有什么要问我的?

二面

  1. 求N内的所有素数;
  2. 给定一个乱序数组,求数组内最大连续的数;
  3. 自我介绍
  4. 聊项目。项目中的难点是什么?如何解决,我讲了RocketMQ的调优
  5. 分布式ID实现,不准用UUID
  6. MySQL间隙锁的机制?主要解决的问题是什么?
  7. 课余时间怎么学习?
  8. 有什么要问我的?

三面

  1. 讲项目,redis的作用,HBase RowKey的设计。项目主要做了些什么?有什么难点?
  2. Leetcode 146
  3. Leetcode 470
  4. 有什么要问我的?

总结

最后拿到了招银、腾讯、快手的Offer,面试阿里被挂掉了,有赞、oppo面试都很神仙。有赞面了5分钟把我挂了,oppo面了一轮,感觉聊得不错,然后就没有然后了。最后去了快手。

分享

最后小编整理了一份Java面试、进阶相关的学习资料,需要的小伙伴(文末获取)

 

java面试题及大厂真题

 

大量电子书

文章中的资料大家都可以可以添加小编的vx:mxzFAFAFA即可免费领取!