共计 3547 个字符,预计需要花费 9 分钟才能阅读完成。
前言
始终有小伙伴要我分享面经,说本人想面互联网公司,无奈教训太少想多看看其他人是怎么面的。我这两天刚好和一个刚拿到猿辅导 offer 的敌人吃了个饭,他向我说了说本人的面试经验。粉丝敌人是末流 211 毕业的,工作了两年了!而后五月份左右的时候辞职的,辞职之后问我要了面试材料进行学习,对本人的知识点进行梳理,查漏补缺!在上个月先是去面了蚂蚁金服,不得不说的是蚂蚁金服上市之后门槛是真的高!他面到了第三面被拒了。被拒之后找我一起吃了个饭,我给他从新布局了一下。直到前两天他又找到了我,说本人曾经拿到了猿辅导的 offer,上面我把他的面试题以及他的一些经验总结都分享给大家!
蚂蚁金服一面
首先是他蚂蚁金服的面试题,是第一面到第三面的!
1、以后读与快照读的区别?
2、类加载过程?
3、聚簇和非聚簇索引。
4、HashMap&ConcurrentHashMap。
5、再谈谈统一 hash 算法
6、乐观锁 & 乐观锁?
7、双亲委派机制及应用起因?
8、线程池的外围参数和基本原理。
9、线程池的调优策略。
10、可重入锁 &Synchronize?
11、用本人的实际经验说一下索引的应用场景
12、说说 GC 算法
13、Http&Https 的区别。
(1)https 协定须要到 CA 申请证书,个别收费证书较少,因此须要肯定费用。
(2)http 是超文本传输协定,信息是明文传输,https 则是具备安全性的 ssl/tls 加密传输协定。
(3)http 和 https 应用的是齐全不同的连贯形式,用的端口也不一样,前者是 80,后者是 443。
(4)http 的连贯很简略,是无状态的;HTTPS 协定是由 SSL/TLS+HTTP 协定构建的可进行加密传输、身份认证的网络协议,比 http 协定平安。
一面面的并不难,都是一些基础知识,问题不大
蚂蚁金服二面
1、说说本人参加的我的项目,技术难度在哪里?
2、Collections.sort 底层排序形式?
3、排序稳定性?
4、具体场景的排序策略?
5、Http 申请过程,DNS 解析过程。
6、三次握手四次挥手。
7、简述线程池和并发工具的应用?
8、数据库索引原理。
9、频繁老年代回收怎么剖析解决?
10、Spring IOC、AOP?
11、讲讲 SpringBoot/SpringCloud 的一些利用?
12、阻塞队列不必 java 提供的本人怎么实现,condition 和 wait 不能用
13、拥塞窗口讲一讲,为什么要用慢启动算法
14、负载平衡的原理?
15、Redis 的数据一致性问题
16、讲讲 docker 容器?
17、如何实现何高并发下的削峰,限流?
18、你有什么职业规划?
二面其实重点就是在于本人参加的我的项目这一块,当初互联网公司招人想要的是你能有本人参加我的项目的教训和本人解决我的项目问题的能力,如果你在第一问我的项目这里卡了壳,其实前面的也就根本不会问到了!
蚂蚁金服三面
1、我的项目中用的中间件的了解(Dubbo、MQ、Redis、kafka、zk)
2、服务器雪崩是怎么造成的?之前有这样的经验吗?怎么防范?
3、高并发架构的设计思路。
4、以前我的项目中遇到的最大问题和解决策略。
5、生存中遇到的最大的挫折。
6、生存中遇到的最大的令你最有成就感的事件。
7、你有什么职业规划?
三面问的最多的也是我的项目这一块,可见有本人我的项目教训能在面试中有多大的劣势,粉丝敌人在我的梳理中这一块问题并不大!而后三面其实就是和 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 页,简直涵盖了面试能问到的所有知识点,大家拿到后能够跟我那个粉丝敌人一样把本人的知识点从新梳理一次,查漏补缺!置信你把这份宝典吃透了再去面试,你相对不会面的比他差!
最初强调:这份突击面试宝典只有你关注我的公众号:前程有光 就能够收费获取