背景:
从2月份开始真正开始投简历,期间在BOSS上投了14家,只有两家叫我面试(哭);期间一直复习,也刷刷面试题,补充自己的不足。
1.美云智数
1.1 说说如何实现悲观锁,乐观锁
1.2 常用的线程池
1.3 volitale实现的原理
1.4 了解设计模式吗,项目中哪里用了设计模式
1.5 分布式情况下,多个人抢单,如何保证订单只有一个人抢到了(分布式锁)
1.6 nginx
1.7 MQ如果之前的处理消息逻辑是错误的,有什么策略修正(日志)
1.8 了解过SpringCloud吗
1.9 单例模式用过吗?写一下懒汉模式,多线程环境下呢,除了双检锁/双重校验锁形式,还有更优化的吗?
1.10 应用死锁和数据库死锁?
1.11 数据库调优有经验吗?怎么调优
1.12 索引了解吗,联合索引一起用的时候有什么要求(最左匹配原则)
拿到OFFER,由于是服务制造业,拒绝了~不过美的的福利真是好,随便一些福利都有10k+;喜欢的朋友可以去试试
2.某互联网教育
一面:
2.1 介绍一下你的项目,用到了什么技术,什么场景
2.2 SpringIOC是什么,介绍一下,有什么用?
2.3 常用的集合有那些?
2.4 JDK的源码看过吗?(ArrayList,HashMap【初始化需要什么参数】)
2.5 ArrayList的contain方法看过没?和LinkedArrayList有什么区别?哪个更快?我要实现O(1)的查询的话用什么集合
2.6 有了解过其他缓存吗?和Redis 的区别
2.7 你们的项目部署在什么服务器?用了多少个服务器?
2.8 进程和线程,说一下
2.9 Mysq调优有经验?刚才说到Explain关键字,调优的时候看什么字段?
2.10 索引用在什么场景,使用索引要注意什么?
2.11 为什么要用MQ?
二面:
2.12 Tomcat崩溃是因为什么原因?介绍一下?
2.13 Mysql索引失效的场景?(我说了三个,估计还有一堆一直问)
2.14 用了Nginx的话,session怎么处理
2.15 TCP的三次握手介绍一下?为什么要三次,两次不可以吗(叫你画出来)?为什么要握手,不叫连接?
2.16 你们的项目部署在什么服务器?用了多少个服务器?
2.17 session是有过期时间,如果给你实现的话你会怎么实现?
2.18 平时有看什么书吗?(回答了,最近在看算法图解);接着问,有什么心得吗?然后问跳表,散列表;然后问HashMap为什么线程不安全,画图说一下
2.19 在小程序端怎么保持用户的登录状态?
拿到OFFER,感觉面试官还可以,就这家啦~
总结:
面试大概就到这,也是比较幸运面试的第二家公司就是比较喜欢的。感觉面试官也是喜欢深挖细节的人,在这样的公司工作应该会有所成长。投了一个多月来看,互联网真的寒冬了,做自己产品的或者甲方要求都特别高。但是外包的话似乎没什么影响,需求还是那么大;如果想进做互联网公司,或者想进做一些分布式项目,而不是单机版的系统的话,建议如下:
1.对自己项目要熟悉,扣细节,哪些可以用别的技术再优化;
2.设计模式,虽然是CRUD,也要想想怎么可以抽离出来,实现代码的复用。可以上网看着DEMO来套,这样出去面试官问到你的话也不会说没了解过
3.Redis,MQ,Nginx的中间件的原理和作用,一些面试题要刷一刷,还要总结一下业务场景
4.Mysql,索引方面特别喜欢问;重灾区
5.Java基础,集合(适当看看源码,会加分),并发
6.JVM虚拟机,由于我简历上没写,所以也没问,3年以上的朋友要刷一刷。
7.面试的时候一定要记住,就算不会也要说说自己的见解,或者你忘了根本没接触过这个知识点,你要先思考,然后说出自己的见解。有时候思考比结果更重要~
还有什么问题的话可以留言问~