# 真实面试题1

# 电话一面

1、自我介绍、自己做的项目和技术领域

2、项目中的监控:那个监控指标常见的有哪些?

3、微服务涉及到的技术以及需要注意的问题有哪些?

4、注册中心你了解了哪些?

5、consul 的可靠性你了解吗?

6、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?

7、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

8、Spring Boot 除了自动配置,相比传统的 Spring 有什么其他的区别?

9、Spring Cloud 有了解多少?

10、Spring Bean 的生命周期

11、HashMap 和 hashTable 区别?

12、Object 的 hashcode 方法重写了, equals 方法要不要改?

13、HashMap 线程不安全的出现场景

14、线上服务 CPU 很高该怎么做?有哪些措施可以找到问题

15、JDK 中有几个线程池?顺带把线程池讲了个遍

16、SQL 优化的常见方法有感些

17、SQL索引的顺序,字段的顺序

18、查看 SQL是不是使用了索引?(有什么工具)

19、TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?

20、说你知道的排序算法吧

21、查接一个数组的中位数?

22、你有什么问题想问我的吗?

# 二面

1、自我介绍、工作经历、技术栈

2、项目中你学到了什么技术?(把三项目具体描述了很久)

3、微服务划分的粒度

4、微服务的高可用怎么保证的?

5、常用的负载均衡,该怎么用,你能说下吗?

6、网关能够为后端服务带来哪些好处?

7、Spring Bean 的生命同期

8、xml 中配置的 init、destroy 方法怎么可以做到调用具体的方法?

9、反射的机制

10、Object类中的方法

11、 hashcode 和 equals 方法常用地方

12、对象比较是否相同

13、hashmap put方法存放的时候怎么判断是否是是重复的

14、Object to String 方法常用的地方,为什么要重写该方法

15、 Set 和 List 区别?

16、Arraylist 和 LinkedList 区别

17、如果存取相同的数据,ArrayList 和 LinkedList 谁占用的空间更大?

18、Set 存的顺序是有序的吗?

19、常见 Set 的实现有哪些?

20、TreeSet 对存入对数据有什么要求呢?

21、HashSet 的底层交现呢

22、TreeSet 底层源码有看过吗?

23、HashSet 是不是线程安全的?为什么不是线程安全的?

24、Java 中有哪些线程安全的 Map?

25、Concurrenthashmap 是怎么做到线程安全的?

26、HashTable 你了解过吗?

27、如何保证线程安全问题?

28、synchronized、lock

29、volatile 的原子性问题?为什么i++这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因?

30、happens before 原理

31、cas 操作

32、lock 和 synchronized 的区别?

33、公平锁和非公平锁

34、Java读写锁

35、读写锁设计主要解决什么问题?

36、你项目除了写Java代码,还有前端代码,那你知道前端有哪些框架吗?

37、MySQL 分页查询语句

38、MySQL 事物特性和隔离级别

39、不可重复读会出现在什么场景?

40、sql having 的使用场景

41、前端浏览器地址的一个http请求到后端整个流程是怎样的?

42、http默认端口,https默认端口

43、DNS 你知道是干嘛的吗?

44、你们开发用的 ide 是啥?你能说下 idea 的常用几个快捷键吗?

45、代码版本管理你们用的是啥?

46、git rebase 和 merge 有什么区别?

47、你们公司加班多吗?