一面 大概 40+min
- 问项目,项目中遇到哪些问题和困难,如何提高你这个项目的性能(我做的牛客的项目)
- 用过哪些数据库
- 如何保证Redis与数据库的一致性(有点懵,然后扯了一下,如果需要强一致性,只能不用redis,弱一致性可以先删除redis中的数据,然后更新数据库,再更新redis)
- 亿级大表怎么优化(答:索引、分表)
- 多线程环境下怎么保证数据安全以及提高效率(加锁、减少锁竞争、然后扯了一下java锁优化)
- JVM垃圾回收讲一下(开始背八股文)
- 了解过哪些设计模式,用过哪些设计模式(答:只自己写过单例,然后结合Spring讲了一下代理模式,工厂模式)
- 负载均衡了解吗
- 反问
二面 大概 30+min
基本全程怼项目和数据库
- 你C++用过多久,Java用过多久
- 项目深挖
- 说一下项目有哪些表,表有哪些字段,用什么建表的(答:navicat客户端,可能面试官想让我手动建表?)
- 了解MySQL索引吗,有哪些索引,你项目中用到索引了吗(答:没有,现在数据量小,小表不适合加索引,追问:那你觉得多少数据量再加索引,答:几十万,一百万?,追问:到了几十万再加? 😂 追问:所以只是了解过索引的理论,没有用过对吧? 😂 )
- 项目中Redis怎么用的,遇到过哪些问题和异常
- RabbitMQ怎么用的,遇到过MQ宕机吗(没有),遇到过队列满了吗(没有),有几个队列(一个), 😂
- 项目的代码量有多少,有效代码量有多少(我问了一下面试官怎么定义有效代码量, 😂 )
- Java的重载和重写有什么区别(送分题)
- 反问
面试官让我等一下,然后进行HR面
HR面 大概20min+
都是一些HR面常规问题,有哪些offer,压力最大是什么时候,平常兴趣爱好,父母干什么的,父母对你找工作有什么意见吗,大学做过班干部吗,这段经历对你有什么帮助,怎么看待加班问题(反问了一下招银加班情况,HR说看情况,一般7~9点下班,有双休),然后问了我非科班的问题,有没有学过计算机基础课程,你博客什么时候开始写的
总结
- 全程没有算法题,还有一些零碎的问题忘记了,你边说,面试官那边可能就问一下
- 总体面下来感觉很多都是需要实践过才能答得比较好的问题,如果项目只是找开源代码看一下,没有从0开始自己动手写的话,还是不容易答出来的,但是全程没有问框架的问题
全部评论
(7) 回帖