前言
所列出问题均是我自己和其他求职者在今年面试中遇到的,坐标西安。我会按照公司整理问题,标注出公司性质及薪资,公司名字脱敏掉。
另外,聊一下我今年的感触。本人15届,专业就是软件工程,以往跳槽,几乎不需要投简历。朋友介绍也好,boss上看到合适的岗位自己沟通也好,几乎都是很顺利就入职新公司,工资也都涨幅不小。但是今年的行情不同,特别的困难,可以说,今年西安地区,java找工作是地狱级难度!无论技术强弱,地狱级难度!要人的几乎都是外包公司,而且外包都挑人,要求以往项目业务匹配度高,要求求职者985/211,而且还会卡年龄!!西安的中小公司就更离谱了,要求会前端,能做运维,还有离谱的直接问,能独立开发一个移动端项目吗?回答能,然后聊价格,好家伙,最高给13!
最后,一些忠告。
1.在职的朋友如果干的不顺心,不要裸辞,先找到工作再离职。
2.求职中的朋友,如果有退路的话,多在自己的退路上下下功夫,如果没有退路,只能java这条路走到黑,那么根据自身情况,如果能在外地找到好公司,去外地赚赚钱,北上广苏杭再惨淡也还是有些自研公司的,西安....外包的主场。如果各种原因,无法去外地,那就只能一边卷一边投简历了,期望薪资放低,不排斥外包,慢慢找还是有一些希望的。
3.打算转入java这一行的朋友,如果你不是985/211本科以上,计算机相关专业的话,建议别入这行,现在西安市场给我的感觉就是,java已死,入行即跳坑,慎重,慎重。如果是的话,考虑两件事,第一,你是否能做到持续学习,第二,你的年龄距离中年危机是否还有一定的缓冲,如果能,且有缓冲,入行,还有饭吃,如果俩都是否,慎重。
面试题 -- 按公司分类整理
公司1
公司类型: 通讯服务商
薪资:17-20
面试问题:
1.jvm内存模型,GC算法,调优参数
2.讲一讲你们项目的技术架构,你们的项目是如何处理高并发场景的
3.聊一聊熔断,降级,sentinal使用中遇到过的问题
3.kafka消息堆积问题遇到过吗,怎么处理
4.kafka会不会丢失消息?丢失消息怎么办?如何设计才能既保证高性能,又不会有消息的丢失?
5.聊一聊对nacos的理解和使用,略微聊了一点儿nacos源码
6.聊到了nacos的源码中的大量使用的订阅发布模式,所以聊了一些该模式的实现和应用
7.nacos遇到过一次问题,有个开发人员修改了配置文件后,启动服务后无法在nacos服务器上注册服务了,这个可能是什么导致的?
总结:可能由于是运营商的项目,比较关注高并发,对高并发的提问比较多,而且拿出了一些项目中实际的问题考察面试者,比较考验面试者的功力和技术宽度。
公司2
公司类型: 某银行外包
薪资:15K
面试问题:
一面:
1.Map数据结构
2.ThreadLocal
3.springcloud使用过没?都用过哪些组件?每个组件聊了几句,就介绍一下使用
二面:
1.介绍项目,着重项目用到的技术及遇到的问题
2.springboot的启动原理
3.kafka/rocketMQ的原理及区别(主要就是说说他们的模型,一些特性的支持)
3.说说jvm内存模型
4.kafka使用情况介绍
总结:一般,问的东西都很肤浅,偏八股文,感觉面试官没啥经验
公司3
公司类型: 跨境电商
薪资:20-22
面试问题:
1.讲项目,讲项目中遇到的棘手问题。然后针对该问题展开了一系列问题
2.seata,分布式事务,AT,TCC。问了为啥后面项目不用seata了,以及我们自己如何处理分布式事务的。
3.Thradllocal,原理,弱引用,父子线程传值(InheritableThreadLocal)
3.mysql的缓存,mybatis的一二级缓存,为什么一般不开二级缓存?
4.链路追踪技术 skywalking
5.springCloud微服务架构下使用websocket
6.有没有海外云服务器使用经验?聊了一下谷歌云
总结:给的高是有理由的,抓着项目聊了好久,在聊项目时候问的很细,细到不像面试,像需求澄清......
公司4
公司类型: 银行业务
薪资:15
面试问题:
一面:
1. 分布式事务如何保证,不用seata咋办
2. 分布式锁原理
3. gateway做过啥扩展
4. 服务器问题定位过程讲讲
5. 基于nacos做过啥扩展,例如某个服务器挂了,其他服务器怎么同步它的数据
6. 讲讲你如何在代码中使用设计模式进行优化
7. 两个服务之间传输大量数据怎么处理的
8. 讲讲你们对es的使用
二面:讲讲你做过的性能优化
1.jvm做过什么调优 线上问题定位 比如一个死循环如何定位到是哪个代码
2.springboot做过哪些拓展
3.spring事务,事务失效场景,怎么处理
4.seata原理,你们怎么用的
5.kafka消息幂等问题
6.Dubbo注册nacos和其他有啥区别
7.mybatis一二级缓存
8.redis的部署模式有哪些,redis和数据库如何保持数据一致性
9.xxl-job使用 微服务分布式下问题
10.linux常用命令
11.springboot 优雅停机
总结:中规中矩的面试,二面面试的兄弟人很好,很聊得来,比起面试更像一次技术交流。
公司5
公司类型: 银行驻场
薪资:
面试问题:
1.gateWay自定义过滤器
2.git工具。
A先提交代码,B后提交代码,现在想回退A代码保留B代码
git reset --hard 丢失提交如何找回
3.聊项目,一直在聊项目
总结:第一次遇到聊git使用的,怕不是这个面试官哥们搞过什么大事故。
公司6
公司类型: 外包
薪资:16-17
面试问题:
1.jvm调优
2.ThreadLocal核心原理
3.mq消息积压
3.concurrenthashmap的key可以为null吗?
4.concurrenthashmap的分段锁原理
公司7
公司类型: 物联项目
薪资:10-15
面试问题:
1.索引失效
2.JVM调优,命令、工具
3.问带人规模,分工负责
4.甲方给了你需求,和现有版本冲突很大,怎么处理?
5.主要问平时项目上问题
公司8
公司类型: 大数据业务
薪资:12-15
面试问题:
1.十亿级数据的存储,条件搜索
2.元模型抽取项目介绍(我之前的项目和该公司项目业务一致)
3.Redis内存满了怎么处理?原理,解决方法
4.redis淘汰策略
5.分库分表具体实现,会产生有什么问题
6.MySQL隐形转换?导致索引失效
7.springboot先执行过滤器还是先执行拦截器
二面:
1、 插入数据如何保证幂等性;
2、 GC有哪些算法;
3、 新生代和老年代内存比例;
4、 锁升级过程;
5、 CAS导致什么问题,具体解决方案;
6、 线程池核心原理、使用场景、参数
7、 数据库添加索引为什么能加快查询速度
8、 索引失效场景
9、 数据库查询慢,怎么优化;
10、 哨兵模式底层原理;
11、 索引为什么会让查询变快;
12、 项目中哪用到Redis
公司9
公司类型: 外包
薪资:9-13
面试问题:
1.我自己项目:数据加解密
2.密文怎么支持模糊搜索;
3.G1垃圾收集器的原理
4.一个对象的分代年龄记录在哪
5.对象头包含哪些信息;
6.为什么用可达性分析不用计数;
7.springboot常用注解;
8.CountDownLatch;
9.mvcc理解;
10.系统引入一个包,maven冲突怎么解决;
11.登录这块怎么实现;
12.说下你们微服务系统交互;
公司10
公司类型: 外包
薪资:12-17
面试问题:
1.聊项目,主要聊了数据治理平台项目
2.聊一聊为服务间传递大量数据的解决方案
3.聊项目,乡农商城项目
4.spu/sku表设计
5.优惠券模块的设计
6.秒杀场景,超卖问题,瞬时高并发
7.系统有1G的内存,要把2G的数据排序怎么办
后记
后面我打算重新整理一下今年的面试,按照类型和频率汇总一下问题,同时继续关注面试行情,更新问题,不定期更细,兄弟们一起加油吧,希望以后能越来越好