被蚂蚁金服面试官diss到无地自容的我,难道大厂都是“怪物”吗?
相当之“惨”的面试经过:
起初,对于大厂的了解,无非就是待遇高、福利好、技术先进、大牛大佬多。现在回忆起这段面试,心中甚至还有对面试官的恐惧感。当初朋友不信邪非要面蚂蚁金服,结果拉着我陪他去面试。学历不高,没有大牛的技术,我劝你们还是不要去试水了,大厂的水也不是我们这般凡人可触碰的。我和朋友还是研究生毕业,照样被面试官问到头皮发麻。(甚至回来的时候连方向都分不清了)那种无力感是由外向内散发的。
t01c1e56b03df47bcc6.png如果不能拉住你们的话,四面凉经(部分题目我找了答案)或许能帮你在面试官面前多坚持几分钟。
82e052304c6c4ef6ae451edd5b7b4e60.gif一面题:
- 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、你们公司加班多吗?
总结
如果想进大厂的话,自己不花时间去认真学习、听课(除了大牛)我感觉是不行的,付出不一定有回报,但是目标在那儿,你付出了便会看到自己一步一步的在向目标靠近,心之所安。
百忙之中,给大家整理一份免费的面试及学习资料,需要的朋友记得领取方式:关注+私信我“资料”便可领取。
QQ截图20200414184012.png
QQ截图20200409164818.png