近期Java高级开发岗面试总结

原文出处:公众号:编程大道

作者:walking

近期Java高级开发岗面试总结

哈喽大家好,我是walking,这是我的公众号:编程大道。

很久没和大家见面了,文章更新的速度略有延后。这个公众号断断续续的也维护了有三年了,其实实际开始专心维护的时间也就从1年多前开始的,总是忙于工作,没有太多的时间静下心来好好写,好在有400多个小伙伴关注着,不离不弃的,加油,继续努力。

 

上周抽空开放了一下招聘网站上的简历,抱着试一试的态度,主要是想检验一下自己这段时间学的怎么样,如果有好的工作机会还是会考虑一下的。

 

不一会儿就有十几个人打招呼,看有的是外包我就直接回绝了,有几个看着还行的就简单聊了几句发送了简历,其中有四个很快就安排了面试。面试如期而至,以下是几次面试的面试题,面完之后我记录下来了。

 

某移动通讯公司

1. java三大特征,以及在代码方面的表现

2. 父类被那些访问修饰符修饰才能被继承?

3. String能被继承吗?

4. 操作String最高效的方式

5. StringStringbufferStringbuilder的区别

6. 内存溢出是怎么导致的?

7. 哪些对象是垃圾对象但是无法被回收

8. 线程了解吗,创建线程的几种方式

9. 怎么去停止一个线程

10. 创建线程池的方式

11. 线程池都有哪些参数

12. 什么时候要考虑设置最大线程数,或者说出于什么考虑要设置最大线程数

13. 线程之间怎么通信

14. 那不会产生死锁吗?怎么防止产生死锁

15. 怎么去调第三方的接口?

16. http的方法都是做什么用的,比如getpostdelete

17. 用过微服务吗

18. 我们聊一下业务吧,你介绍一下你最近做的项目,从项目介绍到技术栈

19. 你们的**功能会有一个定时任务吧?那定时任务的话有这样一个场景,比如我每两分钟一个定时任务,肯定会部署多个服务,那我想只有一个服务去执行怎么做?

20. 那如果一个服务去执行了定时任务两分钟还没执行完,又轮到第二个执行任务了怎么办

21. 你们项目是怎么部署的?

22. 你们没有k8s

23. 你有什么要问的?

 

小结:这是工作三年后第一次面试,心里还是有些紧张的,有几个问题回答的不好,也罢,当时问hr说不是外包,提问环节问面试官了其实还是外包

 

某知名金融公司

1. 自我介绍

2. 现在是在职的状态,为什么考虑换工作?

3. 职业规划是什么?

4. 职业规划中想发展哪方面?

5. 做个题,student表,两个字段,stu学生,class所属班级,统计班级学生大于50的班级个数

6. 先问一些基础的吧,GC了解吗说一下GC的过程

7. 遇到过内存溢出吗,怎么发生的

8. 遇到过full GC吗,怎么发现的,怎么解决

9. 生产上就一直看着日志看有没有发生GC吗?

10. 监控是怎么做的?以什么方式通知发生了full GC

11. GC日志怎么看的?就用肉眼看吗?

12. 那怎么解决full GC

13. 线程池用过吗,讲一下线程池的特点

14. 线程池参数都是什么意思

15. 你们用的哪种拒绝策略?怎么选择?

16. 线程池执行任务的过程

17. 还有哪些你擅长的 我没有问到的

18. 你了解过我们这个职位吗?

19. 你有什么要问的

 

小结:视频面试中面试官在家办公,不苟言笑的样子很严肃,问GC比较多,整个过程面得很快,因为问的问题也不多,应该是着急面后面的面试者,在挑选。

 

某中型软件公司

1. 自我介绍

2. 用过多线程吗,哪些业务用到了多线程,为什么要用多线程,用多线程的好处、坏处

3. 用多线程时遇到过哪些问题,怎么解决的

4. 一个请求响应慢怎么排查问题

5. 类加载过程

6. GC算法,垃圾收集器,你们用的哪个收集器

7. 设计模式用过哪些?

8. 那了解过其他的设计模式吗?知道都是适用于什么场景吗?

9. 做过哪些SQL优化,缓存优化?(简历上写的有这些)

10. 说一下Redis数据结构及使用场景,Redis高并发常见的问题及解决方案简历上写的有这些

11. 使用MQ时是如何发现消息丢失的,怎么排查消息丢失的,最后是怎么解决的?

12. 你有什么要问的?

 

小结:整体上问的不难,但是有些东西我忘记了,比如,线程池在使用时遇到过哪些问题怎么解决的,这些和实际项目相关的,因为线程池我实际用的不多,所以这个问题答的不好;还有对于没用过的设计模式忘记了使用场景;MQ实际没有使用经验回答的也不好。但是一面过了,二面因为时间有冲突还待安排。

 

某安全相关软件公司

一面

1. 自我介绍

2. 介绍一下gc算法

3. 介绍一下类加载机制

4. 介绍一下双亲委派机制

5. 我们自己写的String类能被加载吗

6. 怎么自定义类加载器

7. 自定义了类加载器就能加载自定义路径下的类了吗

8. HashMap的底层原理

9. 为什么要用数组

10. nginx做了什么

11. 怎么配置反向代理(具体的配置)

12. 用的哪种中间件容器(web容器)

13. 数据库的四大特性是什么

14. 对于隔离性有几种隔离级别,分别解决了什么问题

15. spring提供的事务传播机制有几种分别是什么

16. 线程池的参数

17. 线程池的核心线程数和最大线程数的关系

18. Redis哨兵模式的工作原理,怎么从剩余的slave中选举

19. 用过哪些设计模式

20. spring的都用到哪些设计模式,分别在哪些场景用到的

21. spring aop用的什么代理模式

22. 怎么理解静态代理和动态代理

23. 说一下对IOC的理解,IOC解决了什么问题

24. 读过哪些框架的源码

25. spring MVC的执行流程

26. 怎么在spring中实现一个拦截器

27. mybatis的动态SQL都有哪些标签

28. mybatis的插件机制(拦截器)了解过吗,怎么用的

29. mybatis的分页原理,pagehelper插件的分页原理

30. 用过哪些RPC框架,dubbo底层用的什么通信技术

31. netty熟悉吗

32. springboot的自动配置原理

33. 怎么自定义一个starter,步骤是什么

34. 你有什么要问的?

 

二面

1. 介绍一下你做过的项目用的哪些技术

2. 你做过性能优化?你说说JVM怎么优化的,缓存怎么优化的

3. 为什么JVM调优,怎么不用默认的,不是会自动增长吗

4. 你们服务器是什么配置(硬件配置)

5. httpHTTPS的区别,不要说加密和不加密

6. http的请求头,请求行,请求体的作用

7. 请求头都有哪些参数都是干什么用的

8. 请求体是干嘛的

9. 七层网络协议,每一层是干嘛的

10. 数据库三范式

11. 你有什么要问的?

 

小结:这是一家做安全相关软件的公司,公司人不多,两次面试都过了,最后邀请去公司和公司合伙人聊聊,婉言拒绝了。其实二面我回答的不好,也过了,纳闷估计是缺人吧。

 

总结

这几个都是招的Java高级开发,招聘JD上写的工资都是15K+,基本问的最多的就是jvm、GC、多线程、设计模式等,基本都是结合项目问的,整体问的不难,但是有的是实际项目中没有经历过,有些细节回答的不好,也是给我检验自己的机会吧,查漏补缺,一个完善自己的过程,毕竟一直学不去看学的如何也是不行的。

 

之前疫情严重的时候,就想着面试试一试,但是一直没有勇气去尝试,这几天终于突破了自己,毕竟三年没去面试了。这2个月我也帮公司面了十几个了,第一次当面试官,有时候还不知道如何考察面试者,只是搜几篇面试题去问,这样效果也不好。自己去面试,去了解别人是怎么问问题的,也是一个提高。

 

每一次跳槽、面试、挑公司都是一件很重要的事情,公司就是一个平台,找到一个好的平台很重要。

 

以上就是我对这几次面试的总结,希望对你有帮助。欢迎点赞转发呀~

 


 

欢迎关注公众号,第一时间获取文章资讯