相当之"惨"的面试经过: 起初,对于大厂的了解,无非就是待遇高、福利好、技术先进、大牛大佬多。现在回忆起这段面试,心中甚至还有对面试官的恐惧感。当初朋友不信邪非要面蚂蚁金服,结果拉着我陪他去面试。学历不高,没有大牛的技术,我劝你们还是不要去试水了,大厂的水也不是我们这般凡人可触碰的。我和朋友还是研究生毕业,照样被面试官问到头皮发麻。(甚至回来的时候连方向都分不清了)那种无力感是由外向内散发的。 如果不能拉住你们的话,四面凉经(部分题目我找了答案)或许能帮你在面试官面前多坚持几分钟。 一面题: 1、自我介绍、自己做的项目和技术领域2、项目中的监控:那个监控指标常见的有哪些? 答:CPU、内存、IO 等等。建议下载个nmon工具,里面有各个指标。 数据库:Mysql(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数) 中间件:1.消息2、负载均衡3、缓存(包括线程数、连接数、日志)。 网络: 吞吐量、吞吐率 应用: jvm内存、日志、Full GC频率 3、微服务涉及到的技术以及需要注意的问题有哪些? 答:Consul 、Eureka、ZooKeeper 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、对象比较是否相同 equals通常用来比较两个对象的内容是否相等,==用来比较两个对象的地址是否相等 13、hashmap put 方法存放的时候怎么判断是否是重复的 先比较key的hashCode,再比较相等或equals的,所以重写hashCode()和equals()方法即可实现添加重复元素。14、Object toString 方法常用的地方,为什么要重写该方法 15、Set 和 List 区别? Set(集):集合中的对象不按特定方式排序,并且没有重复对象。它的有些实现类能对集合中的对象按特定方式排序。 List(列表):集合中的对象按索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象。 16、ArrayList 和 LinkedList 区别17、如果存取相同的数据,ArrayList 和 LinkedList 谁占用空间更大?18、Set 存的顺序是有序的吗? 无序 Set是Map的一个马甲,主要逻辑都交给Map实现 19、常见 Set 的实现有哪些? HashSet LinkedHashSet TreeSet 20、TreeSet 对存入对数据有什么要求呢? TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一 21、HashSet 的底层实现呢?22、TreeSet 底层源码有看过吗?23、HashSet 是不是线程安全的?为什么不是线程安全的?三面题: 1、Java 中有哪些线程安全的 Map?2、Concurrenthashmap 是怎么做到线程安全的?3、HashTable 你了解过吗?4、如何保证线程安全问题?5、synchronized、lock6、volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因7、happens before 原理8、cas 操作9、lock 和 synchronized 的区别?10、公平锁和非公平锁11、Java 读写锁12、读写锁设计主要解决什么问题?四面题: 1、你项目除了写 Java 代码,还有前端代码,那你知道前端有哪些框架吗?2、MySQL 分页查询语句3、MySQL 事务特性和隔离级别4、不可重复读会出现在什么场景?5、sql having 的使用场景6、前端浏览器地址的一个 http 请求到后端整个流程是怎么样?7、http 默认端口,https 默认端口8、DNS 你知道是干嘛的吗?9、你们开发用的 ide 是啥?你能说下 idea 的常用几个快捷键吧?10、代码版本管理你们用的是啥?11、git rebase 和 merge 有什么区别?12、你们公司加班多吗?总结 如果想进大厂的话,自己不花时间去认真学习、听课(除了大牛)我感觉是不行的, 付出不一定有回报,但是目标在那儿,你付出了便会看到自己一步一步的在向目标靠近,心之所安。 百忙之中,给大家整理一份免费的面试及学习资料,需要的朋友记得 领取方式:转发+关注 后台私信【阿里】即可免费获取哦~