马上又要到金三银四,想着面试大军可能也过不了几天就要来了。所以今天给大家分享“京东和字节的面经,每家一二三面,我想大家可以自己测试一下能坚持到哪里。

京东三面

一面

1. 自我介绍

2. 常用的数据结构有哪些?并大说了一些操作的时间复杂度

3. 数组从下标最大的删与最小的删有什么区别?

4. 介绍主要用到的技术(技术栈)

5. 介绍一下集合类

6. list和set的区别?以及各个实现类和底层实现

7. CopyOnWriteList的特点及实现

8. 创建一个线程有几种方式?项目中怎么创建的?

9. 讲一下线程池

10. 你们使用的任务拒绝策略是那种?

11. 线上服务器最多可以创建多少个线程?

12. 线程的状态有哪些?(线程的生命周期)

13. 跟线程相关的方法介绍一下

14. HashSet的底层实现

15. 介绍下HashMap和CurrentHashMap

16. HashMap线程不安全会导致什么问题?

17. 为什么1.8版本中会将链表转为红黑树?

18. HashMap解决Hash冲突使用的什么方式?

19. HashMap的hash函数讲一下(如何确定槽位)

20. JVM的内存区域

21. 那个区域不会发生内存溢出?

22. JVM运行时内存?

23. 新生代老年代讲讲

24. JVM为什么分新生代老年代?

25. 垃圾回收算法讲讲

26. 类加载过程讲一下

27. 双亲委派模型讲一下

28. Spring的启动流程

29. SpringBean的作用域

30. SpringBoot的特点

31. 相比于SpringMVC有什么好用的地方?

32. MySQL的事务隔离级别

33. 讲讲Java中的锁?

34. 重入锁怎么实现的?

35. Synchronized讲讲使用及原理

36. Synchronized的优缺点?

37. retryLock了解吗?

38. Java里的轻量级锁?

39. 索引了解么?balabala

40. InnoDB还能有什么索引

41. 为什么用索引?项目中怎么用的?

42. 讲一下B+树的实现

43. B+树与B树有什么区别?

44. MySQL的锁哪几种?

45. 行锁的实现?

46. 你们项目中用到Redis都是怎么用的?

47. 分布式锁你们是怎么做的?

48. 为什么不升级Redis版本?

49. Redis的内存淘汰策略 LRU?

50. 讲讲项目为什么要用Hystrix?

二面

1. 画项目架构图

2. 分布式任务调度系统是怎么实现的?

3. ElasticSearch都用过那些查询方式

4. 如何做数据同步的?(MySQL到ES)

5. 如何做CodeReview的?

6. SpringCould都用了那些组件?

7. 什么场景用到断路器(Hystrix)

8. 你是如何理解分布式锁的?

9. Redis分布式锁你们是怎么用的?

10. Redis你都用到那些命令?

11. Synchronized讲讲

12. 说说轻量级锁,无锁的方式(CAS ABA问题?)

13. 加锁我们是为了解决什么样的问题?

14. 说说volatile关键字

15. 了解什么叫不可变类么?或者是叫不可变对象?

16. final的含义是什么?

17. 成员变量都是f