更新时间:2020-07-02 15:19:03 来源:极悦 浏览2604次
2020年高级Java工程师面试题宝典,在面试时,应当综合准备java Core,数据库,框架,分布式等方面的题目。我发现不少面试者走了弯路,他们或者干脆不准备,准备时可能方法不到位,单准备一个方面。比如只准备了算法题,在这方面回答很好,但其它方面就一无所知了。
所以说,没有所谓的一定能成功的面试秘籍,但有可以帮助提升成功率的准备方法。
切记,面试前一定得准备,否则成功的可能性很低,准备时,得综合看各方面的点。至于每个点要到什么程度,后文会讲到。
架构方面需要准备的点
熟悉SSM架构,至少在项目里
Spring Bean的周期
最好能通过阅读源代码,说下IOC,AOP以及Spring MVC的工作流程
最好能结合反射,说下IOC等的实现原理
Spring Boot和Spring Cloud的一些知识点
数据库方面需要准备的点
不少候选人会看很多SQL的技巧,比如select该怎么写,insert又该怎么写,但仅限于此,不会再准备其它的。
这样就很吃亏,因为面试官会认为,哪怕是初级开发,SQL语句也该会写,所以这块不会多问,而会问如下方面的问题。
索引怎么建的,怎么用的?比如我建好了一个索引,在where语句里写name like'123%'会不会走索引,怎么情况下不该建索引,哪些语句不会走索引。
除了索引之外,你有过哪些SQL优化方面的经验,比如分库分表,或通过执行计划查看SQL的优化点。这最好是能结合你做的项目实际来讲。
这里,大概有70%的面试者只知道基本SQL的写法,所以哪怕你是只有理论经验,会说一些优化点,也是非常有利的。
这块对于高级开发而言,更得了解优化方面的技能。
集合方面
Set如何实现防重的,比如TreeSet和HashSet等。
的一些方法,比如比较方法,包装成线程安全的方法等。
可能有些面试官会问,如何通过ArrayList实现队列或堆栈,这个可以准备下。
多线程方面
其实在项目里不怎么会用到,但会问如下的问题:
synchronized和可重入锁的差别,然后可能会顺便问下信号量等防并发的机制。
在线程里该如何返回值,其实就是callable runnable区别。
一定得通过ThreadLocal或volatile关键字,来说明线程的内存模型。
线程池方面,会用,了解些常用参数
线程方面,可能问得比较多的就是并发机制,高级开发,会问得很深
架构方面
能证明自己可以干活(这不难),同时能结合底层代码说出IOC,AOP或的流程,只要能说出一个即可。或者能说出拦截器,Controller等的高级用法。
能证明自己有Spring Boot或Spring Cloud的经验,比如能说出些Spring Cloud组件的用法。
如果能证明自己有分布式开发的经验,那最好了,其实这不难证明,比如能说出服务的包是放在多台机器上(大多数公司其实都这样),而且能说出如何部署,如何通过nginx等做到负载均衡。
以上就是极悦java培训机构的小编针对“2020年高级Java工程师面试题宝典”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习