课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
对于大多数不爱交流的程序员来说,面试一直都是一个大问题,而今天我们就给大家简单分享了程序员技术面试会遇到哪些问题,一起来了解一下吧。
1.技术栈
1.1Java基础
这种面试题基本不固定,主要考察你对java基础的学习程度和理解能力,比如;
byte占几个字节
for循环与foreach
java8的新特性
hashmap的实现原理
线程池和锁的使用和原理
设计模式和面向对象
1.2Spring
Spring的好处
AOP与IOC
Spring注解
SpringBean加载过程
SpringBean生命周期
Spring中事务
1.3Mybaits
Mybatis的好处
Mybaits的缓存
如何进行分页
插件是怎么运行的
#{}和${}的区别是什么
Mybatis是否支持延迟加载?
1.4Rpc框架-Dubbo
通信模型是什么样
怎么暴露服务的
数据序列化方式
Rpc框架还有哪些,有什么优缺点
1.5Redis
redis基本常用的方法
分布式加锁
主备同步
RDB与AOF
什么是缓存击穿
集群
1.6RabbitMQ
MQ的好处
MQ发送失败怎么办
MQ的应用场景
广播
1.7Netty
Netty应用在各个框架中非常广泛,例如Dubbo、MQ等,属于一块核心技能。
Netty有什么好处
多路复用
流量切块
数据整形
编码也解码器
半包粘包
2.源码理解
对于一些java中的核心方法比如hashmap、ArrayList等的实现
Spring一些源码
Mybatis实现上的一些源码
以及个人简历中写了的内容
3.工具使用
linxu常用命令,查日志、线程
java一些命令;jstack、jmap、jstat、javap等
git如何建分支(你说我就用过工具,显得就不专业了)
监控工具、部署工具、压测工具等等,是一个知识面的拓展
4.项目经验
项目方面完全依照个人在简历中提到的项目进行询问,但好在项目中写出一些可以被拿来聊的点。比如这项目是做什么的、个人负责了那块、核心流程是什么、你解决过什么样的问题等等。
如果是一些金融或者订单等,会有专门的面试内容,比如;清分、结算、幂等、多支付、对账、秒杀、发货、分布式锁、一致性等等。这些东西是编不来的,需要亲身经历,否则问不了几个问题,你就漏了。
如果说你还没有一个什么像样的项目,那么可以去github寻找,并学习。
5.个人发展
这个就是一个比较开放性的问题了,主要是面试的一个收尾,也收复心情。只要不聊的太放飞自我,这里不是问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。