写点什么

hashmap 为什么是线程不安全的,动脑学院百度网盘

发布于: 刚刚

阿里

阿里的实习生招聘我参加了内推批次和正式批次一共两场。


阿里的内推批次和正式批次的时间是完全错开的,即在内推全部结束后才开始正式批次。需要注意的是,阿里主要部门(集团、菜鸟、蚂蚁等)的招聘几乎全部放在内推批次中,而正式批次绝大多数是非主要部门(高德、优酷土豆、虾米、钉钉等)的招聘。


阿里的内推没有统一的笔试,在内推成功后,马上就会收到素质测评和编程测验的通知。然而这两个测评其实并没有太大意义,做不做都会很快(一两天)就开始面试的。阿里内推批次的面试全都是电话面试。我在内推后的第二天就接到了一面的电话,部门是菜鸟/无线(记不清了)。


内推一面大概 40 分钟,主要问的计算机基础,如 HTTP、TCP、并发、二叉树遍历、字符串匹配算法等,还让我简单介绍了我做的两个项目。因为我的其中一个项目做的 APP 中有调查问卷的发放和收集,所以问了我如何防止有人刷问卷;我回答说可以限制 IP、记录设备唯一编号、监测做问卷模式等,但都存在一些漏洞。最后我问他 Android 开发过程中是不是会遇到很多兼容性问题,面试官回答说会遇到,还详细说了他们有专门的大规模真机测试来检查兼容性。一面总体上答的还行,几乎没有涉及到 Android 相关的问题;因为是电话面试,也就没问什么算法题。


内推一面两天后就接到内推二面电话了。二面大概 50 分钟,主要问了 Java GC 机制、Android APP 启动过程、Android 事件分发、Android View 绘制流程。GC 机制因为刚看过所以答的比较好,然而因为阿里面试开始太早,我还没来得及复习 Android,所以 Android 相关的问题答的一塔糊涂,比如 APP 启动过程就支支吾吾乱说一气,View 绘制流程干脆说不知道,跟面试官说我知道 Android 事件分发流程,于是事无巨细说了好长一串,最后被面试官吐槽根本不熟悉 Android。最后问了面试官对国内手机厂商乱改 Android Framework 层有什么看法,面试官回答说他也很无奈,但阿里一般都和手机厂商有合作,直接进白名单,所以没有碰到太大问题。


内推二面后过了一周多才接到内推三面的电话,而且是在周末的晚上 11 点的时候。三面大概 20 多分钟,主要问了做过的项目、Java 基础、最近看的书、到阿里想学到什么。我不太确定这轮面试是技术面还是 HR 面,因为是晚上 11 点和女票刚回到酒店完全不在状态,而且面试官也似乎很不耐烦,加上那段时间一直在准备技术方面的问题对这些 HR 面相关的问题完全没有准备,所以答的很啰嗦也很糟糕,好多都没有答到点子上。最后我问面试官我答的怎么样,面试官也没有说什么就急忙不耐烦挂电话了。


内推三面结束后就觉得应该是挂了,然后又等了一星期,官网上就从“面试中”变成“已回绝了”。


等到阿里正式批次开始的时候又投了正式批次,正式批次有统一的笔试,笔试用的阿里自己的系统;笔试内容记不清了,但一二十个选择题记忆深刻,好多超出 Android 相关知识的题目,好多做不出来的智力题。


正式批次的笔试似乎只有很少数的人通过了(主要是因为正式批次的岗位很少),幸运的是我也通过了,在官网预约面试时间后就开始准备视频一面了,面试的部门是钉钉(像之前说的,正式批次的部门都比较边缘)。


正式一面是视频面试,大概不到 20 分钟,是我实习秋招体验并列第二差的面试。主要问了 Activity 中能不能执行耗时操作(就是 UI 线程相关)、Android 中有哪些内存泄漏的情况,然后就是共享屏幕写代码:实现单链表的插入删除和查找。为什么说体验非常差呢?首先整个面试就问了两个问题,而且这两个问题几乎任何有 Android 开发经验的都能对答如流,并且我回答完后就没有然后了,没有继续深入问;其次那个代码在数据结构教材上讲链表的时候一定会讲,而且也没有什么技术含量。最后面试官说还行,也没让我问他问题就结束了。


一天后官网状态就变成“已回绝”了,累觉不爱。

美团点评

美团点评也是很早就网申了,其实最初是找的师兄内推的,然而当时内推的岗位是后台开发,仔细想了想之后我又改成 Android 开发,于是就不是内推了(直到我笔试挂了才明白这个道理)。


之后就收到了美团点评的统一笔试,美团点评用的是北森系统,奇烂无比。笔试题目记不清了,最后有一个编程题,好像是求最长递增子序列,经典题目了。当时感觉笔试做的挺好的,然而笔试完就再也没有消息了,简直是黑人问号。


后来想了想可能是我当时网申的时候,选“感兴趣的事业群”选了“都感兴趣”导致没有一个事业群对我感兴趣,这个后面再说。

网易游戏

严格来说我投的是网易互娱(区别于雷火 &盘古,后面再说更多区别),走的内推。网易游戏以其笔试难度大著名,这次也不例外;所有的内推都要求参加统一笔试,我记得笔试有几场,我是在第一场。内推的岗位是网易游戏最核心的“游戏研发工程师”,地点是杭州。


笔试用的牛客网平台,大大的赞。笔试一共四道编程题,一共 150 分钟,难度都很大,前三题用不到啥高深的算法,但需要想到解题的思路,最后一题是一个多重背包问题。笔试我一共过了三题半,因为最后一题不知道为啥内存超限了,用的 primary int 和动态规划,理论上是不会内存超限的。做完笔试题几乎就有把握能进面试了,当时预感能做出两题就能进面试,后来发现好多人只做出了一题就进面试了。


网易游戏实习生招聘很神奇的是整个就一轮面试,HR 面是不存在的。面试是视频面试,用的牛客网平台,大概面了一个小时多一点。面试主要就是把计算机四大专业课轮番问了一遍,问了 Java 语言基础,最后还问了一个算法题。


四大专业课问的也就是那些基础问题,不过有些地方问的很深,基础的像问到了各种排序算法的最好、平均、最坏时间复杂度、线程和进程的区别、cache 工作原理、计算机网络七层模型;问的深的像问到了进程中有多少个栈、线程中有多少个栈、阻塞是指进程阻塞还是线程阻塞、一台服务器上 TCP 和 UDP 监听端口号能不能相同、服务器 80 端口和客户端建立连接后会不会切换端口等。


Java 语言基础这里有个小插曲,面试官没想到我不会 C/C++(因为岗位介绍里面有写要会 C/C++,但五个要求里只要求满足任意两个就可以投递)只会 Java 和 Python,于是他就只好问了一些 Java 语言基础的问题,比如 Integer 和 int 的区别、GC 的工作过程等;还问了 Python 的装饰器的原理,我就说了说面向切面编程相关的;最后面试官觉得不问 C/C++不行,然后问我知不知道 C/C++里的虚函数,被我一口回绝了。最后问了一个字符串循环移动的算法题,算是一个经典题目了,直接口头说三次翻转就好了。


最后问了面试官说岗位介绍里要求会 C/C++,但我看招聘网站介绍里有提到 Python,实际中是用哪些语言呢?面试官说 C/C++主要用在游戏引擎那块,开发主要还是会用 Python。虽然整个下来有些题没有答上来或者答错了,但整体来看还是答的很好的,反正对我来说已经发挥到极限了。面试完就感觉这个 offer 基本要到手了。


等了两周多才收到了网易游戏的 offer,但也算是我实习生招聘收到的第一个 offer,也是很有分量的一个了,自此我的实习生招聘就有底气了。

最后

想要了解更多关于大厂面试的同学可以点赞支持一下,除此之外,我也分享一些优质资源,包括:Android 学习 PDF+架构视频+源码笔记高级架构技术进阶脑图、Android 开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。


**本文已被[CODING 开源项目:《Android 学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](


)



收录**


最后自我介绍一下,小编 13 年上海交大毕业,曾经在小公司待过,也去过华为、OPPO 等大厂,18 年进入阿里一直到现在。

深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

用户头像

还未添加个人签名 2021.10.19 加入

还未添加个人简介

评论

发布
暂无评论
hashmap为什么是线程不安全的,动脑学院百度网盘