哈啰出行(两轮出行)一面、二面面经
1. 介绍一下你做的项目,项目最后发布了吗?
2. 做项目的过程中遇到的难题,怎么解决的?
3. Https和http的区别?介绍一下https?https是如何实现的?
4. 当你的服务器收到请求后,你如何去验证客户端的身份来确保安全性?
5. Java的基本数据类型有哪些?
6. 包装类和基本数据类型区别?为什么有包装类?(自动拆装箱)
7. Object对象中有哪些方法,介绍一下?
8. Sleep()是object类中的嘛?sleep()和wait()的区别?
9. Synchronized用在各个方法上锁的是什么?
10. Volatile关键字有什么用?底层的实现原理?你知道底层采用了什么机制嘛?(内存屏障)
11. Java中的集合类?用过哪些?
12. 看过HashMap、ConcurrentHashMap的源代码嘛?说说看concurrentHashMap的实现原理?
13. 哪些集合类,哪些map类是线程安全的?
14. HashMap的底层实现原理?
15. 场景题:给你一堆基本有序的数据,你觉得使用哪种排序方法最好?(我说了冒泡,因为基本有序冒泡是O(n)复杂度,面试官认为是归并排序。。。)
16. 线程池使用过吗?说说线程池有哪几种?介绍一下线程池的各个参数?
17. 讲一下线程池的拒绝策略?
18. 讲一下线程池的工作原理?执行流程?
19. JVM运行时数据区域?
20. 堆里面保存什么内容?栈里面保存什么?栈和堆的区别是什么?
21. 场景题:给你一个main函数,里面有int a = 1,int b = 2,int c = a+b,问这个函数执行时,在栈中如何做的?(栈帧的进栈出栈)
22. 堆内存的划分?堆内存中对象是如何分配的?
23. Full GC在何时会触发?Minor GC什么时候触发?
24. 介绍一下垃圾收集的算法?哪些可以作为GC Root?
25. 介绍一个各个垃圾收集器?
26. Cms和G1的区别?用到过哪些垃圾收集器?进行过JVM调优嘛?
27. Cms的使用?G1的使用?
28. Cms和G1执行垃圾收集各个阶段做了什么?
29. 了解过分布式相关的嘛?用过负载均衡嘛?
30. Linux的命令会用吗?
31. 你的项目是如何进行启动运行的?
32. MySQL的隔离级别有哪些?介绍一下?MySQL默认的是什么?
33. 你的项目用到过MySQL的事务嘛?
34. Sping底层源码看过没?
35. Spring的IOC和AOP了解嘛?介绍一下?
36. Bean的生命周期?
37. 你的兴趣爱好是什么?参加过实习嘛?什么时候毕业?
38. 介绍一下你自己的特点?
39. 对于996工作的看法?害怕加班嘛?能实习多久?
40. 反问?(技术栈? 学学高并发分布式的知识,redis,RocketMQ等等)
1.项目相关
2.redis为什么比mysql快?redis应用场景?如何存储的?数据类型?
3.解释一下死锁?为什么会发生死锁?如何解决死锁问题?
4.redis和mysql区别?
5.数据库索引有哪些?聚簇索引和非聚簇索引区别?
6.为什么B+树索引就比hash索引快?
7.hash索引使用场景?
8.知道的设计模式?选一个单例模式,写一下代码?这个单例模式是谁会调用?
9.Jvm调优用过没?
10.这个单例模式在加载的时候的执行过程?(双亲委派机制)
11.介绍一下你目前在做的项目的架构?把架构图大致画一下?
12.反问:技术栈?(把springboot、redis之类的玩玩熟,学学rocketMQ等等