八年老程序员呕心沥血分享,面试中的几点建议和京东Java后端研发面试真题

金三银四已经告一段落了,你是否还在寻找没有“996”的公司,或者你在面试上面摘了跟头?准备了体体面面的自我介绍,败在了技术深度上;又或者技术知识背得完完全全,却输在了面试技巧。

小编周围有些做架构师和做HR的好友,向他们了了解了一下一些近期面试的趣闻和规则,以下整理出十条心得供大家参考。

1、千万不要裸面

不做任何随便写份简历就出去面试,挂的概率高达90%以上,除非你特别牛。

2、简历书写,不要觉得简历描述清楚就行了

同样的一个人,普通的简历和优化后的简历,面试官对你的定位和问的问题也是不一样的。

这个是我亲身体验,我之前拿着一份普通简历出去面试,面试官就只能把你当成一个普通的3年经验的来面,问一些特别基础的问题。就算你知道很多东西,但是面试官根本不问。

而优化后的简历,面试官一看这简历写的这么牛逼,先随便问几个问题,你都能回答不错。

然后,就直接开始问底层源码、架构设计等比较open的问题,这样对你的定位和档次一下就上去了。

3、精心准备2个你做过的项目

对于你写在简历上的项目,一定要反复的梳理。对项目的业务边界、技术架构必须了然于胸,而且用到的技术都保证不能被问倒

4、Java基础

基础的重要性我就不多说了,但是我想说的是,像集合、线程、volatile、锁、网络IO等这些,不要停留到网上博客的那种表面程度。

必须要深入到源码级别,这样才能突出,跟其他候选人拉开差距。

5、数据库的各种机制

ACID、事物隔离级别以及原理、索引原理、常见分库分表姿势等

6、JVM里的各种东西

分代、回收算法、垃圾回收器搭配和对比优劣、线上问题排查、类加载等等。

这些东西,最低要求都要流畅的说出来,但是如果要和其他候选人拉开差距,还要突出亮点。

比如,我之前做过垃圾回收器的调优,从CMS换到G1。

我把CMS的分代、垃圾回收算法过程这些基本东西说完之后,然后说出CMS有两大缺点:一个是会产生内存碎片,另一个是会产生浮动垃圾。

然后就开始说为什么会产生这两大缺点?因为这两大缺点会怎么样?(导致RT升高);然后换成G1之后有啥优点?

接着再把那些原理喷一遍,调优之后性能上有多少多少的提升,这在面试官心中档次一下就上来了,跟其他候选人拉开了差距。

7、框架

你使用过的框架都要做到了然于胸吧,Spring最基本的IOC、AOP、Spring事务一定得看过吧。

Mybatis、Tomcat常用的姿势要知道,Redis常见的部署方案、集群原理、持久化机制、5种数据类型对应的底层数据结构。

Reactor模型运转机制、常见的缓存问题解决方案。

Dubbo、ZooKeeper的使用姿势和基本原理要知道吧。如果你研究过这种RPC的源码,无论是Dubbo还是SpringCloud全家桶,那就更好了,直接说出来,碾压面试官,让面试官听你聊。

8、分布式相关的问题

如果研究过大数据相关的框架那就更好了,绝对的加分项

比如,我深入研究过Kafka的底层机制,之前面试蚂蚁的时候,直接就问我Kafka的底层:

  • 如果让我来设计,如何保证消息零丢失。直接从三个可能丢消息的阶段说出如何设计来保证

还有分布式锁常见的方案要知道、分布式事务常用的方案都要研究过吧。

比如:面试蚂蚁的时候,就问我TCC的机制,直接说出使用姿势,使用场景,使用TCC的优缺点

9、算法

这个字节跳动面试问的多一点,不过这方面能多掌握点都是好的,不怕一万就怕万一。

最后还有一点,就是面试过程中一定一定要有自信,给面试官一种特别有底气,做什么事都没问题的感觉。

以上就是这段时间走来的一些经历感悟总结,希望对大家有一些作用!

下面是一份高级Java研发岗面试真题,可以参考下。

  1. HashMap为什么不是线程安全的?
  2. ConcurrentHashmap底层实现?
  3. 线程池(包含什么,core、max联系)原理?
  4. Synchronized原理?
  5. Volatile原理?
  6. JMM(主内存、工作内存、happens-before)是什么?
  7. 有哪些无锁数据结构?无锁实现的原理?
  8. 设计模式(装饰器设计模式、代理模式、单例模式、工厂模式)
  9. Dubbo设计思路、netty原理是什么?
  10. 说下一次RPC请求的过程
  11. MySQL怎么创建合理索引、索引怎么优化?
  12. B+tree怎么分裂、什么时候分裂、为什么是平衡的?
  13. MySQL事务实现原理,ACID实现原理
  14. MySQL怎么优化table scan?
  15. 算法:有3n+1个数字,其中3n个中是重复的,只有1个是不重复的,怎么找出来?
  16. Dubbo的底层实现原理和机制?
  17. 分布式系统怎么做服务治理?
  18. 接口的幂等性的概念介绍下

 

对于现目前我这边也整理了适合1~5年程序员进阶的一些面试真题(含答案)还有些Java进阶必备知识架构资源以及一些阿里大牛精讲的视频资源,现免费分享给大家。希望对你们有点帮助。还有学习线路知识脑图。

需要的都可以加入Q群Java进阶之路:643459718,免费获取。

发布了149 篇原创文章 · 获赞 20 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览