深圳开科唯识初级Java(1-3年)面经

#面经# 2年多经验,面Java,简历筛选到约面试极快,下午5点推进简历,6点通知晚上7点面试,线上面试30分钟拉满,给了反问环节。

感受:比常见的初级面试难出一个档次,问题很多很密,一个答不上来或者漏了,立马抛出下一个问题。面试压力挺大的。面试官技术栈深,喜欢追问细节,就是不确定是我撑过了30分钟还是他凑时长。

真题复盘:
项目类
1、你做过难度最大,最有成就感的事情是什么(答了我简历写上千万级数据迁移)
2、 为什么MySQL迁MongoDB?答错(MongoDB不适合说关联查询慢)
3、三读一写怎么定的?压测数据:单读3600ms/单写1300ms,测了2读1写还慢,最后定3读1写
4、迁移过程怎么确保不重复的?(答了游标分页规避边界遗漏,失败精准裁剪重试、断点重试、凌晨迁移)
5、如果要做增量迁移,怎么处理?(只答了双写,没记住具体的做法)
6、数据迁移的校验机制是什么样的,怎么验证数据没有丢失重复?(答的最大业务id和数据条数比对,因为我的断点续传机制可以保证没丢没重,当时也没出问题)
7、优惠券小程序的业务流程是什么?(按照实际流程答了)
8、优惠券怎么防止超领?是否有上线?(答的因为并发不大,直接数据库SQL原子更新)
9、为什么要使用随机字符串做防重复?只用时间戳为什么不可以?答错(答的防重作用,时间戳作用。正确应该还说两个人同时登录可能时间戳完全一样)
10、先验后调方案的落地是什么样的?(答得整个验签流程)
11、这个验签是在拦截器做的吗?(应该是想问我拦截器那怎么写,但我当时做的时候是接口层弄得 )

Java基础

1、基本数据类型?漏了byte
2、那为什么还需要包装类型?没答好(只说了泛型必须对象,成员变量基本类型,方法参数包装类型)
3、包装类和基本数据类型使用场景大概是哪些?没答好(还是和第二问说的一样的)
4、 从底层说说double金额隐患?(说了精度丢失,没展开IEEE 754)
6、Java中String为什么不可变(漏了类内部不提供修改方法)
7、多线程实现方式。(连续几个没答对,太紧张,背了两种就卡壳被打断了)
8、讲一下对死锁的理解。(说了死锁四大条件和一种解决方式)
9、多线程中start和run方法的区别(说的run方法存放线程具体逻辑,start方法触发线程就绪状态,没背八股,自己推测的)
10、ArrayList和LinkedList的底层在增加数据有什么不同?(前者需要扩容,中间慢,尾部快,后者中间慢头尾快)
11、jdk8的新特性你了解哪些?没背八股(说的接口default和static、还有hashmap的变化,偏了但是面试官耐心听我说完了)
12、自定义异常类是怎么做的?(写过也完全忘了)
13、SpringBoot默认集成的Web容器?(Tomcat)
14、怎么修改集成的容器?(不会)
15、Redis数据库一致性的保障措施?(先更后删、延迟双删、binlog日志监听)

总结:项目亮点(迁移数据+压测调优)顶住了,但Java基础和安全设计被扒了一层皮。30分钟撑下来了,但知道自己短板在哪。接下来对着错题一个一个啃。

建议:java基础要背一些关于底层的东西,项目问的也不少,深挖5个问题,需要顶住。

#面经##我的求职进度条#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务