美文网首页Java架构技术进阶老男孩的成长之路Java
六面阿里天猫,已拿offer,我的面经复盘总结,大厂真的有那么难

六面阿里天猫,已拿offer,我的面经复盘总结,大厂真的有那么难

作者: 老男孩_Misaya | 来源:发表于2019-08-07 17:20 被阅读3次

    分享一波阿里天猫超市一面到hr面的面经

    一面

    一面都是聊项目,聊了半个小时,主要包括这几个问题:

    1、项目介绍
    2、项目中如何对数据库进行优化
    3、项目中的难点
    4、你在项目中充当的角色

    和面试官聊了35分钟,大部分时间是我在介绍,我把项目中自己负责的部分很详细地说了出来。面试官很友好,对我给予了肯定,直接和我说通过了一面。两个小时后就约二面面试时间了......

    二面

    1、自我介绍
    2、分别介绍一下你的几个项目
    3、你觉得哪个项目让你印象最深刻?
    4、项目中一些关于 geohash 的问题
    5、分库分表的依据是什么?有用什么工具吗?
    6、线程的几种状态?
    7、wait和sleep分别属于哪个类的方法
    8、lock和synchronized的区别是什么
    9、什么情况下适合用偏向锁?
    10、BIO和NIO的区别是什么?分别适合于什么场景?
    11、select 和 epoll的区别
    12、说一下你知道的Http的请求头和返回码
    13、String s = new String("abc") 产生了几个对象?分别放在哪里?
    14、上面那行代码在JDK1.8前后存放的区域有什么不同?
    15、平时有用什么工具观察过虚拟机的内存情况吗?
    16、平时怎么学习的?有没有关注什么博客和论坛?
    17、有什么问题?

    二面感觉自己表现一般般,聊了63分钟,也不知道自己有没有过,不过全程和面试官的讨论很多,有些问题回答的不够好面试官会给我提出建议。很幸运,两天后的晚上接到了电话,因为那天是星期天所以很意外。那个时候刚好在路边散步,突然接到电话一脸懵逼,脑子一热就直接在路边找个地方开干了......

    三面

    1、自我介绍
    2、项目中你对数据库做了什么优化?
    3、对数据分库分表了吗?用什么算法进行分库分表。。。
    4、项目问题......
    5、项目中你是根据什么来进行索引的设计的?
    6、项目中把数据放到HBase上面,你rowkey是如何设计让数据均匀分布在RegionServer上的?
    7、一次请求的速度大概是多少?有考虑到做其它的优化吗?(缓存)
    8、说一下索引的原理
    9、知道MySQL插入和查询分别用的是什么锁吗?
    10、知道悲观锁吗?了解多少?
    11、对并发的知识了解多少?
    12、说一下synchronized的优点和缺点,与lock进行比较
    13、说一下ReetrantLock的内部实现
    14、对多线程这一块了解多吗?(我说了解一点,不是很多)他说:那好那问点别的
    15、说一下ArrayList和LinkedList的区别
    16、为什么ArrayList的查询时间复杂度为O(1)?为什么数组查询可以到O(1)?
    17、说一下你对HashMap的理解?说完......put操作的流程大概是怎样的呢?
    18、现在有一亿条数据,要求你利用HashMap对数据进行去重并排序,你会怎么做?
    19、多线程这一块你真的不了解吗?(???他想干嘛,然后我把我知道的说了出来,包括实现的几种方式,线程池这些)
    20、线程池当队列中的任务都执行完毕之后会对线程进行怎样的操作?
    21、多线程是不是肯定比单线程好?
    22、什么样的任务适合用多线程什么适合单线程?
    23、单CPU的情况下适合用多线程吗?
    24、我看你里面很多奖项,挑一个跟我讲一讲吧
    25、有什么问题吗?

    结果在路边站了78分钟,面完喉咙都哑了,心脏跳得贼快,刚开始因为紧张讲话支支吾吾,后面就好一些了。整个过程感觉这个面试官问的很仔细,对项目的细节问的很深,自己感觉也是一般般,就是那种好像可以过又好像不可以过的感觉......

    两天后,hr打电话来了......约视频面试

    本以为技术面已经结束了,结果是自己想多了。视频面是技术专家大佬和hr小姐姐两个人一起面试

    技术专家面

    主要是针对项目然后提出一些开放性的问题让你提出解决思路

    技术专家:

    1、你在工作室项目中的主要工作?
    2、项目的架构是怎样的?
    3、如果现在让你在广州市投放出租车,你觉得出租车的数量会由什么因素来决定?
    4、设计一个打车算法
    5、讲一下数据库索引的原理
    6、数据分表你是按照什么来划分的?有用到什么中间件吗?
    7、快排的实现原理是什么?
    8、了解堆排序吗,为什么堆排序的空间复杂度是O(1)?

    HR面

    HR:

    1、刚才的交流过程中有些东西可能你没有完全给我们展示出来,现在给你一点时间再让我们多了解你一点
    2、你平时有什么爱好吗?
    3、你平时的生活情况是怎样的?你和团队中的人是如何相处的?
    4、你平时是通过什么方式学习的?
    5、你觉得自己遇到最有挑战性的事情是什么?
    6、你希望你未来想要加入的团队是怎样的?
    7、有什么问题要问的?

    加起来一共面试了45分钟吧,看到专家大佬超级紧张。面完之后心里松了一口气,终于熬到最后了~ 可是,还没结束T-T,hr小姐姐和我说,如果你这次通过了,后面会有另一个部门的成员来面试你(也就是交叉面),我表面笑嘻嘻说好,心里咯噔一下。

    那天下午接到了电话,约我交叉面的时间

    交叉面

    1、自我介绍
    2、解释一下并行和并发的区别
    3、如果我要让10个线程并发同时开始运行,你要怎么做?
    4、你认为数据库索引的设计需要考虑什么因素?
    5、知道索引的最左原则吗?解释一下
    6、现在有a b 作为联合索引,有一条sql语句 where b > 0 and a = 7 和 where a>0 and b = 7分别会用到索引吗?
    7、线程池使用时核心线程数和最大线程数的设计要考虑什么因素?
    8、(另一个项目)你主要负责哪个部分,难点是什么?
    9、并发下单的并发是在哪个部分?你通过什么来防止超卖这种情况?
    10、如果是分布式情况下你如何防止超卖的情况?
    11、出租车项目的分库分表是按照什么条件进行的?
    12、如果让你设计一个叫车算法,你会考虑什么?如何设计?
    13、geohash是什么,你能说一下吗?
    14、如何计算两个geohash块之间的距离?
    15、有什么问题要问的?

    交叉面感觉比较难,面到后面有点自闭,觉得自己答得不好超级害怕。面了45分钟也结束了。感觉不好

    不过还好上天眷顾了我,三天后,我很幸运收到了录用意向书。

    总结

    整体天猫的面试感受,面试官很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。

    切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。

    我个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,我在这里将这份耗时两个月整理出来的核心技能知识点,送给有需要的人,希望这份资料能对大家有所帮助

    需要的可以加一下三千人的交流群860113481,免费领取

    更多资料展示





    需要的记得加一下三千人的交流群860113481,免费领取

    相关文章

      网友评论

        本文标题:六面阿里天猫,已拿offer,我的面经复盘总结,大厂真的有那么难

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