最新面试题与面试技巧分享
社招面试:第一轮(生死面)
下边列出这段时间笔者遇到的高频基础知识点。(注意啦!!!注意啦!!!别眼高手低,看着简单,但是你能扛得住三连问吗???)
多线程并发编程:
线程池的构造参数及其含义,如何确定线程池中线程的个数等
定时线程池如何实现的?
synchronized,volatile关键字
原子性,可见性与有序性
可重入的锁ReentrantLock
ThreadLocal的实现原理
AQS底层实现,与ReentrantLock的关系
JVM知识点:
内存区域划分
OOM介绍
对象分配与回收
CMS和G1垃圾收集器
对象可达性分析
类加载机制
JVM调优参数
Full GC,Minor GC
对象的栈上分配(JIT编译器)
MySQL知识点:
MySQL隔离级别
一致性视图
日志模块:undo log,redo log和binglog
索引结构,回表,最左前缀原则
间隙锁,幻读,MVCC
SQL优化实战
Java基础:
NIO的实现原理
HashMap,HashSet,LinkedHashMap以及ConcurrentHashMap
hashcode与equals方法的区别
RuntimeException Exception Error
注解的使用
基本数据类型
五种常见的网络IO模型
Spring&MyBatis:
Spring IOC和AOP的原理
SpringBoot源码解读,启动方式,配置顺序等
SpringMVC和Spring父子容器的关系
Spring的事务实现方式
如何自定义实现SpringBoot中的starter
MyBatis中#和$符号的区别
网络协议:
TCP与UDP区别
TCP可靠性如何保证
TCP网络包分片与重组
三次握手与四次挥手,状态转换
SSL握手协议使用的加密算法,非对称加密的缺点
XSS和CSRF介绍
Redis&Kafka:
redis实现分布式锁
redis数据结构类型
redis zset实现延时队列
跳表如何维护
redis线程模型
redis的数据过期方式
redis持久化方式
缓存雪崩,缓存穿透,缓存击穿
Kafka主题,分区和日志文件的关系
Kafka日志压缩和删除
消息队列基本特性
社招面试:第二轮
一轮面试如果通过得话,恭喜你,你的面试其实已经通过了一半。因为一面面试官已经在基础知识方面对你进行肯定,二面面试官得提问方向就相对比较多了。二面面试官得重头戏还是你对项目的理解。
本轮面试会让你继续讲解一个或者多个项目,因为没有了基础知识点的考察“压力”。面试官会对项目进行深入了解,包括其业务架构,技术架构与技术原理等。大概包括如下的技术点:
项目业务架构,针对项目中各个知识点进行扩展与提问
项目技术架构,技术架构中比如说Thrift的实现原理,nginx相关知识点等
项目中学到了哪些技术?或者之前学到的技术哪些在项目中可以体现?
服务的QPS如何?如何保证服务高可用性?
如何限流,熔断和降级服务?
服务的部署方式,各个集群数据库的同步方式
MySQL单表数据量多大?索引结构如何?
上线新服务如何进行压测?
内存泄露的排查方式?
线上接口响应超时的排查思路
当然了,在这些比较开放的问题之外,部分面试官依然会考察一些基础知识点,这个看各个面试官的风格了。但是,二轮面试看重的还是项目技术架构以及你所做的贡献有哪些。
二面总结:
二轮面试考察的不仅仅是基础知识点的掌握,更重要的是实际的业务逻辑能力。如果你可以在回答中表现出自己良好的解决实际线上故障的能力与水平,并且在实际的工作中对一些方向有进行过深入的了解,那么你的面试之路将会顺利许多。
社招面试:第三轮/第四轮
本轮面试基本上就是业务部门老大在面试,主要考察的方向也比较固定吧。主要考察的方向包括:
为什么出来看机会?
原公司团队的一些基本情况
项目的简单介绍
开放性的系统设计题目:
排队系统
点餐系统
停车场系统
未来的职业规划
有什么兴趣爱好
你还有什么想要了解的呢?
HRBP轮次
HRBP面试主要考察候选人得价值观和上进心吧。主要涉及问题如下:
在原公司得哪一段时间是比较享受的?(注意,这里要说自己的成长!)
为什么现在出来看机会呢?看什么类型的机会?(提升自己,挑战自己等)
同事或者朋友之间如何评价你?(说自己的优点,乐于助人等,热心)
平时如何学习呢?有没有什么技巧?(看书,官网,做项目)
你对我们的业务方向有了解吗?(通过前面面试反问环节,有所了解,大概说下)
你的职业规划是什么?(深度和广度,钻研某个放心,沉淀自己,寻找感兴趣的技术点等)
你的一些优点有哪些?(哈哈.jpg)
目前还在看哪些机会呢?手里还有别的Offer吗?(实话实说,多了去了^_^)
对,你没有看错,大概就是这些问题,只要我们稍加准备即可应对HRBP面试。
面试技巧:
那么社招面试都有哪些技巧呢?我认为技巧始终应该建立在实力的基础上。那么如何拥有实力呢?分模块进行梳理总结知识点,在日常的学习工作中,对各个知识点进行不断的丰富与补充。
什么?你没有时间进行总结?没关系,待会我会有干货资源分享,大家只需要在此基础上进行差缺补漏即可。
在拥有了一定的实力之后,我们该如何真正应对面试?这里说几个小技巧(建议)吧。
(1)在面试之前,你需要系统的复习准备相关基础知识点(毕竟一轮面试才是生死面)。
(2)在面试之前,你还需要准备一套自我介绍说辞,深度挖掘项目中的技术难点和卡点。
(3)面试过程中,如果之前没有接触或者研究过,可以直接说,“抱歉,我没有研究这块”,切忌不懂装懂,胡说八道,影响面试表现。
(4)每轮面试的反问环节,我们可以让面试官对该部门的业务逻辑进行介绍。
(5)面试结束后,及时写下面经,尤其是面试中回答错误或者一些知识盲点。查缺补漏,每一轮面试都会有所收获。
获取往期更多最新面试题资料,直接转发一下这篇文章+关注公众号【Java烂猪皮】关注后回复【666】即可获取哦~
腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)
面试:史上最全多线程面试题 !
最新阿里内推Java后端面试题
JVM难学?那是因为你没认真看完这篇文章
关注作者微信公众号 —《JAVA烂猪皮》
了解更多java后端架构知识以及最新面试宝典
看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力