其他分享
首页 > 其他分享> > 朋友面试阿里云惨遭滑铁卢。幸获华为内推机会,四面喜提offer。

朋友面试阿里云惨遭滑铁卢。幸获华为内推机会,四面喜提offer。

作者:互联网

上个月,哥们从某小厂离职,转投阿里云,简历优秀,很顺利地拿到了面试通知,但之后的进展却让哥们怀疑人生了,或者说让哥们懵逼的是,面试阿里云居然第一面就被吊打?让哥们开始怀疑自己,是不是这些年工作下来,自己没有一丁点的进步呢?

幸运的是,经过他朋友推荐,去面试了华为,面试华为的过程极为顺利,很快就拿到了offer。这让哥们更弄不懂了,4面拿华为offer的水平,面试阿里云居然一面就被吊打?

索性,哥们想分享一下这次的面试经历,让各位老铁好好帮他参考参考,出一出主意!

另外,我下文还整理了一些哥们的复习资料,有需要的朋友转发并关注,加我VX【tkzl6666】即可获得免费领取方式!

阿里云一面凉经(一面竟然就问了一个半小时,什么情况?)

这次一面感觉是在打心理战,哥们自己的心里防线基本是被击溃,面到怀疑人生的程度,所以过程感觉不是太好,很多题哥们自己也感觉没答好,要么答得“缺胳膊少腿”,要么就是“画蛇添足”。

  1. 先是聊项目,从项目的架构设计到部署流程。

  2. Java容器有哪些?哪些是同步容器,哪些是并发容器?

  3. ArrayList和LinkedList的插入和访问的时间复杂度?

  4. Java反射原理, 注解原理?

  5. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  6. HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?

  7. HashMap push方法的执行过程?

  8. HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?

  9. 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?

  10. https和http区别,有没有用过其他安全传输手段?

  11. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

  12. Linux怎么查看系统负载情况?

  13. 请详细描述springmvc处理请求全流程?

  14. 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?

  15. 查询中哪些情况不会使用索引?

  16. 数据库索引,底层是怎样实现的,为什么要用B树索引?

  17. Mysql主从同步的实现原理?

  18. MySQL是怎么用B+树?

  19. 谈谈数据库乐观锁与悲观锁?

  20. 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?

  21. 描述分布式事务之TCC服务设计?

  22. Redis和memcache有什么区别?Redis为什么比memcache有优势?

  23. 考虑redis的时候,有没有考虑容量?大概数据量会有多少?

  24. 谈谈分布式锁、以及分布式全局唯一ID的实现比较?

  25. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?

  26. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?

  27. 最近两年遇到的最大的挫折,从挫折中学到了什么?

  28. 最近有没有学习过新技术?

华为四面:3轮技术面+HR面(华为真经,值得参考)

华为面试过程很顺,一面问得比较基础,所以哥们整个人都还挺自信的一个状态,面试官也全程是一个比较“和蔼”的问题方式,所以比较轻松,因此面试得顺利,拿offer也快。以下是哥们华为4面的技术题,不包括HR面。

华为技术一面:

  1. 简单说一下面向对象的特征以及六大原则

  2. 谈谈final、finally、finalize的区别

  3. Java中==、equals与hashCode的区别和联系

  4. 谈谈Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及应用场景

  5. 谈谈线程的基本状态,其中的wait() sleep() yield()方法的区别。

  6. JVM性能调优的监控工具了解那些?

  7. 简单谈谈JVM内存模型,以及volatile关键字

  8. 垃圾收集器与内存分配策略

  9. 垃圾收集算法

  10. MySQL几种常用的存储引擎区别

  11. 数据库的隔离级别

  12. 5亿整数的大文件,怎么排?

华为技术二面:

  1. Java内存模型

  2. full gc怎么触发?

  3. gc算法

  4. JVM回收策略

  5. ClassLoader原理和应用

  6. 高吞吐量的话用哪种gc算法

  7. ConcurrentHashMap和HashMap

  8. volatile的底层如何实现,怎么就能保住可见性了?

  9. 有参与过开源的项目吗?

  10. 线程池原理,拒绝策略,核心线程数

  11. 1亿个手机号码,判断重复

  12. 线程之间的交互方式有哪些?有没有线程交互的封装类 (join)?

华为技术三面:

  1. 两次点击,怎么防止重复下订单?

  2. 数据库表设计,索引

  3. Redis的缓存淘汰策略、更新策略

  4. dubbo、netty、RPC介绍原理

  5. 限流算法

  6. zk挂了怎么办?

  7. 分布式锁的实现方式,zk实现和Redis实现的比较

  8. 秒杀场景设计,应付突然的爆发流量

  9. 分布式数据一致性

  10. 一致性哈希

  11. 消息队列原理介绍

  12. 注解的原理

  13. 数据库原理,数据库中间件,索引优化

  14. ioc原理、aop原理和应用

  15. 大数据相关,MapReduce

  16. Docker的原理

大厂面试题答案

6c240107f9d14c26b53fc35ff418952a


6ae3289c4d5b4368997e693332d72e44


d1ba93a3cbdf4f06b9f380b58b2c7482


实际上,哥们并不是一个幸运的人,而是一个努力的人,今天的这些,也全是靠哥们的努力得来的,尽管阿里云一面就凉,但能进入华为,也算是哥们多年的累积,以下是哥们分享的个人的一个学习方法和经验总结。

学习方法及经验总结

以下所展示的全部资料,均可以免费分享 转发+关注,然后加我VX【tkzl6666】免费领取

(1)多刷题

自己多刷一些面试题是非常重要的,即使是在自己不需要面试的情况下,也要经常了解现在的大厂小厂面试都会问一些什么?现在比较流行的技术是什么等等诸如此类。那么哥们是如何刷题的呢?刷题主要分为Java技术以及算法两大类,搜集了目前比较新的一些题册,包括【Java核心知识】以及【算法刷题】,如算法方面就有LeetCode。

Java 面试必备核心知识点:

ceedb86522634aa0b06175173f2c2808


算法刷题LeetCode:

4ba331b877d9419a9fd7c408569eefcf


(2)多看看技术牛的实战书

实际上很多人目前的一个状态是缺乏实战经验,或者说是不知道该如何上手实战。那么,看一些技术比较过硬的大牛写的实战书籍对自己是很有好处的,多少能够学习到一些实战经验。目前我手上整理到的实战书籍也算是比较全面,包括Spring全家桶、JVM、并发编程技术、Redis相关、MySQL调优、Tomcat、ZooKeeper等高级技术。

a5175e8770bb473b83e506514b58bd0a


23f23dbf40d74fc7a4ddb47ab7248194


(3)多交流,多思考

最后要强调的重点就是——多交流,多思考。现在很多程序员陷入一个怪圈,整天只会在办公室里机械的工作,实际上程序员要想有很大很明显的进步,交流是少不了的。那么怎么结识比自己厉害的技术牛呢?实际上渠道有很多,哥们个人的做法是:①看一些技术直播,在直播间交友;②加一些技术性的交流群,多交流问题;③参加一些线下活动,如面基、研讨会等等。

写在最后

学习如攀登,虽然有身心的疲惫,但更有沿途的优美风光,更无论登顶之后的极目远眺。之后,你总会感叹曾经的付出是值得的。

以上所展示的面试题也好、学习资料也罢,均可以免费分享给大家,有需要的老铁请转发+关注,然后加我VX【tkzl6666】即可。


标签:哥们,Java,喜提,offer,算法,面试,华为,原理,幸获
来源: https://blog.51cto.com/14480698/2482703