面经分享!蚂蚁金服三面被拒,重拾起鼓四面猿辅导成功拿下offer!

前言

一直有小伙伴要我分享面经,说本身想面互联网公司,无奈经验太少想多看看其余人是怎么面的。我这两天恰好和一个刚拿到猿辅导offer的朋友吃了个饭,他向我说了说本身的面试经历。粉丝朋友是末流211毕业的,工做了两年了!而后五月份左右的时候辞职的,辞职以后问我要了面试资料进行学习,对本身的知识点进行梳理,查漏补缺!在上个月先是去面了蚂蚁金服,不得不说的是蚂蚁金服上市以后门槛是真的高!他面到了第三面被拒了。被拒以后找我一块儿吃了个饭,我给他从新规划了一下。直到前两天他又找到了我,说本身已经拿到了猿辅导的offer,下面我把他的面试题以及他的一些经验总结都分享给你们!java

蚂蚁金服一面

首先是他蚂蚁金服的面试题,是第一面到第三面的!
一、当前读与快照读的区别?web

二、类加载过程?面试

三、聚簇和非聚簇索引。算法

四、HashMap&ConcurrentHashMap。sql

五、再谈谈一致hash算法docker

六、乐观锁&悲观锁?数据库

七、双亲委派机制及使用缘由?安全

八、线程池的核心参数和基本原理。服务器

九、线程池的调优策略。网络

十、可重入锁&Synchronize?

十一、用本身的实践经历说一下索引的使用场景

十二、说说GC算法

1三、Http&Https的区别。

(1)https协议须要到CA申请证书,通常免费证书较少,于是须要必定费用。

(2)http是超文本传输协议,信息是明文传输,https则是具备安全性的ssl/tls加密传输协议。

(3)http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。

(4)http的链接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

一面面的并不难,都是一些基础知识,问题不大

蚂蚁金服二面

一、说说本身参与的项目,技术难度在哪里?

二、Collections.sort底层排序方式?

三、排序稳定性?

四、具体场景的排序策略?

五、Http请求过程,DNS解析过程。

六、三次握手四次挥手。

七、简述线程池和并发工具的使用?

八、数据库索引原理。

九、频繁老年代回收怎么分析解决?

十、Spring IOC、AOP?

十一、讲讲SpringBoot/SpringCloud的一些应用?

十二、阻塞队列不用java提供的本身怎么实现,condition和wait不能用

1三、拥塞窗口讲一讲,为何要用慢启动算法

1四、负载均衡的原理?

1五、Redis的数据一致性问题

1六、讲讲docker容器?

1七、如何实现何高并发下的削峰,限流?

1八、你有什么职业规划?

二面其实重点就是在于本身参与的项目这一块,如今互联网公司招人想要的是你能有本身参与项目的经验和本身处理项目问题的能力,若是你在第一问项目这里卡了壳,其实后面的也就基本不会问到了!

蚂蚁金服三面

一、项目中用的中间件的理解(Dubbo、MQ、Redis、kafka、zk)

二、服务器雪崩是怎么形成的?以前有这样的经历吗?怎么防备?

三、高并发架构的设计思路。

四、之前项目中遇到的最大问题和解决策略。

五、生活中遇到的最大的挫折。

六、生活中遇到的最大的令你最有成就感的事情。

七、你有什么职业规划?

三面问的最多的也是项目这一块,可见有本身项目经验能在面试中有多大的优点,粉丝朋友在个人梳理中这一块问题并不大!而后三面其实就是和HR面问的差很少了,而后问的是去留问题,粉丝可能在面试中表露了本身不想待在上海的念头,而后并无接到意向书!

##项目经验
上面说到了面试互联网公司的重点,项目这一块。我相信不少读者并无这一方面的经验,其实他在这一块方面的经验也很少,是拿着我那份突击面试宝典上推荐的15个新手都能看懂的java教程方向的开源项目看了好久在把这一块知识补充上去的,具体以下:


我这份突击面试宝典,不只包含了开源项目的学习,还涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、
Linux 这些全部技术栈的知识点!有须要的朋友能够关注个人公众号:前程有光免费获取

猿辅导一面

下面接着说他在猿辅导的面试经验,他是上个月去面的,下面是一面面试题

1. JVM的内存模型,那几个区容易发生OOM

2. JVM的垃圾回收算法,优势缺点比较

3. JVM中的垃圾回收器(重点介绍CMS,G1)

4. JVM中发生FullGC的状况,old区引用young区对象怎么办?(卡表记录)

5. Java线程池(7大参数)

6.  当有任务提交时,线程池的运行原理

7.  线程池中的是怎么根据keepalive时间来回收线程的

8. 怎么来保证线程之间的安全运行

9. Java中实现锁的方式(显示锁和Synchronized的区别)

10. Synchronized底层的原理(锁池和等待池)

11. JUC中的ReentrantLock底层(AQS)

12. TCP的可靠链接怎么保证

13. TCP和UDP的区别

14.   数据库的底层的B+数结构,为何要使用B+,而不是AVL

15. Mysql的4个隔离级别,对应解决了哪些问题

16.   隔离级别中RR问题是怎么解决的

17.   数据库中的MVCC实现机制

18.   数据库中怎么解决幻读问题的—间隙锁

19. HashMap的扩容机制。加入都1亿个数据,是一次性rehash完么?

20.   渐进式的rehash,实现原理

21.  算法题—DP找矩阵中的最小路径

其实猿辅导的一面并不比蚂蚁问的简单,有的知识点甚至比蚂蚁问的还要深,他在个人突击面试宝典的冲击下对这些问题并无什么难度,一面简单经过

猿辅导二面

1. 双亲委派机制。有哪些好处。怎么打破。JAVA中哪些东西打破了双亲委派机制。

2. Java能够本身从新写lang包下的类么?

3.  线程池中的线程的状态。状态之间的转换关系

4. Yield()方法有什么用

5. 为何要废弃suspend和stop方法

6.  怎么去中止一个正在运行中的线程

7. 线程池中为何要使用workqueue?

8. Java中的直接内存

9. Java中的NIO和BIO

10. NIO底层实现(分析三种实现方式)

11. CopyOnwriteArraylist和ConcurrentLinkedList底层实现

12. AQS底层

13. Redis中的持久化机制

14. Redis的集群说一说

15.   一致性Hash的好处与缺点(偏环)

16.  算法题:判断一个字符串是不是累加和字符串:

eg:”11235813”是一个累加和字符串

eg:”10099199” 100 + 99  = 199 也是一个累加和字符串

其实总的来讲二面难度并不大,只要你把个人预计面试宝典吃透了,并无什么太大的问题!主要是最后的那道算法题,必定要认真,否则就容易出错!

猿辅导三面

1.聊比赛,聊项目

2. Java中的NIO和BIO区别

3. Java中的直接内存

4.  直接内存产生OOM怎么办?

5. 项目中有遇到这种状况么?怎么解决的

6. Redis中RDB持久化的具体过程

7.  操做系统的进程通讯方法

8. JVM中各个区具体存放哪些数据

9.  项目中遇到了哪些问题

10.  算法题: 多个有序链表合并成一个有序的链表

果真,该来的总会来的。问项目!问了一些项目经验和本身以往参加过什么比赛的经历,主要聊的最多的仍是一些处理项目问题经历和经验,他在这方面完美过关!再补充一下对项目没什么经验的同窗能够往上面翻一下,有我给你们推荐的15个新手也能上手的项目!

猿辅导四面

四面其实就是HR面,就是聊了一些你的职业规划和你如今都有哪些offer以及你之后想在哪里居住这些问题,只要你灵活一点的回答都不会有什么问题的!

总结

以上就是粉丝朋友的面经分享了,但愿对大家能有帮助!而后向你们分享一下我在文中屡次提到的突击面试宝典,这份宝典不只涵盖了项目推荐还涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 这些全部技术栈的知识点!
具体内容以下:

这份突击面试宝典将近500页,几乎涵盖了面试能问到的全部知识点,你们拿到后能够跟我那个粉丝朋友同样把本身的知识点从新梳理一次,查漏补缺!相信你把这份宝典吃透了再去面试,你绝对不会面的比他差!
最后强调:这份突击面试宝典只要你关注个人公众号:前程有光就能够免费获取