相当之“惨”的面试经过:

起初,对于大厂的了解,无非就是待遇高、福利好、技术先进、大牛大佬多。现在回忆起这段面试,心中甚至还有对面试官的恐惧感。当初朋友不信邪非要面蚂蚁金服,结果拉着我陪他去面试。学历不高,没有大牛的技术,我劝你们还是不要去试水了,大厂的水也不是我们这般凡人可触碰的。我和朋友还是研究生毕业,照样被面试官问到头皮发麻。(甚至回来的时候连方向都分不清了)那种无力感是由外向内散发的。

如果不能拉住你们的话,四面凉经(部分题目我找了答案)或许能帮你在面试官面前多坚持几分钟。

一面题:

  • 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、lock
  • 6、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、你们公司加班多吗?

总结

如果想进大厂的话,自己不花时间去认真学习、听课(除了大牛)我感觉是不行的,付出不一定有回报,但是目标在那儿,你付出了便会看到自己一步一步的在向目标靠近,心之所安。

百忙之中,给大家整理一份免费的面试及学习资料,需要的朋友记得领取方式:点击文章开头链接免费领取