炎魂网络后端实习 一面面经
4.14 面试时间45min
1,算法题:判断两个链表是否相交(力扣160)。
1.1,说一说你的算法的时间复杂度。
1.2,如果链表是循环链表,怎么解决?
2,场景题:现在要设计一个用户用手机扫电脑上的二维码完成电脑端登录的过程,怎么设计?
2.1,如果有多个用户同时扫描一个电脑上的二维码,怎么解决并发冲突?
2.2,一个用户登录成功后,其他用户怎么得知这一情况?(答:websocket)
2.3,websocket解决这一问题用的资源太多了,有没有更好的方法?
3,项目拷打:你在项目中遇到的最大问题是什么?(答:项目过程中边做边学)
3.1,如果你在做项目的同时发现了自己的项目中有缺陷,你如何解决?(答:拓展功能或者架构重构)
3.2,拓展功能和架构重构的本质区别是什么?
3.3,项目中的各个模块是怎么划分的?
3.4,各个模块是怎么通信的?
八股
4,ArrayList和LinkedList有什么区别?
5,Java是跨平台的语言,但JVM在不同平台上的软件是有区别的,这是否与Java的跨平台性冲突?
6,抽象类和接口的区别?
7,抽象类用了什么设计模式?
8,说说你对JVM的理解。(说了JVM的内存模型)
9,你刚才说的本地方法栈是什么?
10,说说注解的原理。
11,说说你对AOP的理解。
反问环节
1,问了后端具体接触的业务。
2,问了Java转Go的学习路线。
3,问了公司的工作氛围。
总结
之前听过炎魂的宣讲会,感觉是一家很有活力的公司。面试官很年轻,面试的过程中一直微笑,提问循循善诱。