近期Java高级开发岗面试总结
原文出处:公众号:编程大道
作者:walking
近期Java高级开发岗面试总结
哈喽大家好,我是walking,这是我的公众号:编程大道。
很久没和大家见面了,文章更新的速度略有延后。这个公众号断断续续的也维护了有三年了,其实实际开始专心维护的时间也就从1年多前开始的,总是忙于工作,没有太多的时间静下心来好好写,好在有400多个小伙伴关注着,不离不弃的,加油,继续努力。
上周抽空开放了一下招聘网站上的简历,抱着试一试的态度,主要是想检验一下自己这段时间学的怎么样,如果有好的工作机会还是会考虑一下的。
不一会儿就有十几个人打招呼,看有的是外包我就直接回绝了,有几个看着还行的就简单聊了几句发送了简历,其中有四个很快就安排了面试。面试如期而至,以下是几次面试的面试题,面完之后我记录下来了。
某移动通讯公司
-
java三大特征,以及在代码方面的表现
-
父类被那些访问修饰符修饰才能被继承?
-
String能被继承吗?
-
操作String最高效的方式
-
String、Stringbuffer和Stringbuilder的区别
-
内存溢出是怎么导致的?
-
哪些对象是垃圾对象但是无法被回收?
-
线程了解吗,创建线程的几种方式
-
怎么去停止一个线程?
-
创建线程池的方式?
-
线程池都有哪些参数?
-
什么时候要考虑设置最大线程数,或者说出于什么考虑要设置最大线程数?
-
线程之间怎么通信?
-
那不会产生死锁吗?怎么防止产生死锁
-
怎么去调第三方的接口?
-
http的方法都是做什么用的,比如get,post,delete...
-
用过微服务吗
-
我们聊一下业务吧,你介绍一下你最近做的项目,从项目介绍到技术栈
-
你们的**功能会有一个定时任务吧?那定时任务的话有这样一个场景,比如我每两分钟一个定时任务,肯定会部署多个服务,那我想只有一个服务去执行怎么做?
-
那如果一个服务去执行了定时任务两分钟还没执行完,又轮到第二个执行任务了怎么办?
-
你们项目是怎么部署的?
-
你们没有k8s吗?
-
你有什么要问的?
小结:这是工作三年后第一次面试,心里还是有些紧张的,有几个问题回答的不好,也罢,当时问hr说不是外包,提问环节问面试官了其实还是外包...
某知名金融公司
-
自我介绍
-
现在是在职的状态,为什么考虑换工作?
-
职业规划是什么?
-
职业规划中想发展哪方面?
-
做个题,student表,两个字段,stu学生,class所属班级,统计班级学生大于50的班级个数
-
先问一些基础的吧,GC了解吗?说一下GC的过程
-
遇到过内存溢出吗,怎么发生的?
-
遇到过full GC吗,怎么发现的,怎么解决
-
生产上就一直看着日志看有没有发生GC吗?
-
监控是怎么做的?以什么方式通知发生了full GC?
-
GC日志怎么看的?就用肉眼看吗?
-
那怎么解决full GC?
-
线程池用过吗,讲一下线程池的特点
-
线程池参数都是什么意思
-
你们用的哪种拒绝策略?怎么选择?
-
线程池执行任务的过程
-
还有哪些你擅长的 我没有问到的
-
你了解过我们这个职位吗?
-
你有什么要问的?
小结:视频面试中面试官在家办公,不苟言笑的样子很严肃,问GC比较多,整个过程面得很快,因为问的问题也不多,应该是着急面后面的面试者,在挑选。
某中型软件公司
-
自我介绍
-
用过多线程吗,哪些业务用到了多线程,为什么要用多线程,用多线程的好处、坏处
-
用多线程时遇到过哪些问题,怎么解决的
-
一个请求响应慢怎么排查问题
-
类加载过程
-
GC算法,垃圾收集器,你们用的哪个收集器
-
设计模式用过哪些?
-
那了解过其他的设计模式吗?知道都是适用于什么场景吗?
-
做过哪些SQL优化,缓存优化?(简历上写的有这些)
-
说一下Redis数据结构及使用场景,Redis高并发常见的问题及解决方案吧(简历上写的有这些)
-
使用MQ时是如何发现消息丢失的,怎么排查消息丢失的,最后是怎么解决的?
-
你有什么要问的?
小结:整体上问的不难,但是有些东西我忘记了,比如,线程池在使用时遇到过哪些问题怎么解决的,这些和实际项目相关的,因为线程池我实际用的不多,所以这个问题答的不好;还有对于没用过的设计模式忘记了使用场景;MQ实际没有使用经验回答的也不好。但是一面过了,二面因为时间有冲突还待安排。
某安全相关软件公司
一面
-
自我介绍
-
介绍一下gc算法
-
介绍一下类加载机制
-
介绍一下双亲委派机制
-
我们自己写的String类能被加载吗
-
怎么自定义类加载器
-
自定义了类加载器就能加载自定义路径下的类了吗
-
HashMap的底层原理
-
为什么要用数组?
-
用nginx做了什么?
-
怎么配置反向代理(具体的配置)?
-
用的哪种中间件容器(web容器)?
-
数据库的四大特性是什么?
-
对于隔离性有几种隔离级别,分别解决了什么问题?
-
spring提供的事务传播机制有几种分别是什么?
-
线程池的参数
-
线程池的核心线程数和最大线程数的关系
-
Redis哨兵模式的工作原理,怎么从剩余的slave中选举?
-
用过哪些设计模式?
-
spring的都用到哪些设计模式,分别在哪些场景用到的?
-
spring aop用的什么代理模式?
-
怎么理解静态代理和动态代理?
-
说一下对IOC的理解,IOC解决了什么问题?
-
读过哪些框架的源码?
-
spring MVC的执行流程?
-
怎么在spring中实现一个拦截器?
-
mybatis的动态SQL都有哪些标签?
-
mybatis的插件机制(拦截器)了解过吗,怎么用的?
-
mybatis的分页原理,pagehelper插件的分页原理
-
用过哪些RPC框架,dubbo底层用的什么通信技术?
-
netty熟悉吗
-
springboot的自动配置原理
-
怎么自定义一个starter,步骤是什么?
-
你有什么要问的?
二面
-
介绍一下你做过的项目用的哪些技术?
-
你做过性能优化?你说说JVM怎么优化的,缓存怎么优化的?
-
为什么对JVM调优,怎么不用默认的,不是会自动增长吗?
-
你们服务器是什么配置(硬件配置)?
-
http和HTTPS的区别,不要说加密和不加密
-
http的请求头,请求行,请求体的作用
-
请求头都有哪些参数都是干什么用的?
-
请求体是干嘛的?
-
七层网络协议,每一层是干嘛的?
-
数据库的三范式?
-
你有什么要问的?
小结:这是一家做安全相关软件的公司,公司人不多,两次面试都过了,最后邀请去公司和公司合伙人聊聊,婉言拒绝了。其实二面我回答的不好,也过了,纳闷...估计是缺人吧。
总结
这几个都是招的Java高级开发,招聘JD上写的工资都是15K+,基本问的最多的就是jvm、GC、多线程、设计模式等,基本都是结合项目问的,整体问的不难,但是有的是实际项目中没有经历过,有些细节回答的不好,也是给我检验自己的机会吧,查漏补缺,一个完善自己的过程,毕竟一直学不去看学的如何也是不行的。
之前疫情严重的时候,就想着面试试一试,但是一直没有勇气去尝试,这几天终于突破了自己,毕竟三年没去面试了。这2个月我也帮公司面了十几个了,第一次当面试官,有时候还不知道如何考察面试者,只是搜几篇面试题去问,这样效果也不好。自己去面试,去了解别人是怎么问问题的,也是一个提高。
每一次跳槽、面试、挑公司都是一件很重要的事情,公司就是一个平台,找到一个好的平台很重要。
以上就是我对这几次面试的总结,希望对你有帮助。欢迎点赞转发呀~
欢迎关注公众号,第一时间获取文章资讯
image