美文网首页
塞翁失马焉知非福面试阿里云卒,幸获华为内推,四面喜提offer

塞翁失马焉知非福面试阿里云卒,幸获华为内推,四面喜提offer

作者: 26a058e669f9 | 来源:发表于2020-04-16 14:30 被阅读0次

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

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

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

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

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

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

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

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

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

    Java反射原理, 注解原理?

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

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

    HashMap push方法的执行过程?

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

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

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

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

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

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

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

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

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

    Mysql主从同步的实现原理?

    MySQL是怎么用B+树?

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

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

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

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

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

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

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

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

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

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

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

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

    华为技术一面:

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

    谈谈final、finally、finalize的区别

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

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

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

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

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

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

    垃圾收集算法

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

    数据库的隔离级别

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

    华为技术二面:

    Java内存模型

    full gc怎么触发?

    gc算法

    JVM回收策略

    ClassLoader原理和应用

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

    ConcurrentHashMap和HashMap

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

    有参与过开源的项目吗?

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

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

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

    华为技术三面:

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

    数据库表设计,索引

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

    dubbo、netty、RPC介绍原理

    限流算法

    zk挂了怎么办?

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

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

    分布式数据一致性

    一致性哈希

    消息队列原理介绍

    注解的原理

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

    ioc原理、aop原理和应用

    大数据相关,MapReduce

    Docker的原理

    大厂面试题答案

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

    学习方法及经验总结

    以下所展示的全部资料,均可以免费分享 转发+关注,然后私信回复“资料”即可。

    (1)多刷题

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

    Java 面试必备核心知识点:

    算法刷题LeetCode:

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

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

    (3)多交流,多思考

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

    写在最后

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

    以上所展示的面试题也好、学习资料也罢,均可以免费分享给大家,有需要的老铁请转发+关注,然后私信回复“面试”即可。

    Java学习、面试;文档、视频资源免费获取

    相关文章

      网友评论

          本文标题:塞翁失马焉知非福面试阿里云卒,幸获华为内推,四面喜提offer

          本文链接:https://www.haomeiwen.com/subject/pgmrvhtx.html