阿里的面试官都挺好,面试的内容是我面试那么多家以来最全面的,问题也没有特别刁钻,都比较符合工作场景。(文末有面试答案分享)
一面
1.spring boot 除了自动配置,相比传统的 Spring 有什么其他的区别?
2、项目中的监控:那个监控指标常见的有哪些?
答:CPU、内存、IO 等等。建议下载个 nmon 工具,里面有各个指标。
数据库:Mysql(缓存命中、索引、单条 SQL 性能、数据库线程数、数据池连 接数)
中间件:1.消息 2、负载均衡
3、缓存(包括线程数、连接数、日志)。 网络: 吞吐量、吞吐率 应用: jvm 内存、日志、Full GC 频率 3、微服务涉及到的技术以及需要注意的问题有哪些?
4、注册中心你了解了哪些? 答:Consul 、Eureka、ZooKeeper
5、consul 的可靠性你了解吗?
6、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?
二面
1、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
2、Spring Cloud 有了解多少?
3、Spring Bean 的生命周期
4、项目中你学到了什么技术?
5、HashMap 和 hashTable 区别?
6、Object 的 hashcode 方法重写了,equals 方法要不要改?
7、Hashmap 线程不安全的出现场景
8、线上服务 CPU 很高该怎么做?有哪些措施可以找到问题
9、JDK 中有哪几个线程池?顺带把线程池讲了个遍
三面
1、SQL 优化的常见方法有哪些
2、SQL 索引的顺序,字段的顺序
3、查看 SQL 是不是使用了索引?(有什么工具)
4、TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?
5、说下你知道的排序算法吧
6、查找一个数组的中位数?
7、微服务划分的粒度?
8、微服务的高可用怎么保证的?
9、常用的负载均衡,该怎么用,你能说下吗?
项目很重要,项目是敲门砖也是面试的大头,如果我没有简历上的两个项目的话,估计简历都很难被捞起来,而且进入到3面。很多面试题都是从项目角度去提问的,而且回答的时候也可以结合项目回答,这个很加分。
除了项目所用技术之外,也要关注项目的业务以及架构,最好是能融合在一起讲清楚。
只有多面试,你才能将原有的「我以为」思维变成「原来是这样」。很多东西并不是你想的那样,需要有人去给你当头棒喝才会醒悟。
面试题目答案分享:
网友评论