【阿里云】2021届校园招聘-阿里云智能网络产品团队
团队介绍
阿里云智能网络产品团队-大数据智能平台-齐天团队
团队业务面向阿里云整个网络产品团队(也许你曾听过或用过的VPC,负责均衡,NAT都是我们所属网络团队的产品)。双十一会用到大量网络团队产品应对零点的可怕峰值,疫情期间钉钉稳定的在线办公和在线课程也离不开我们的支持。
招聘对象
2020年暑期实习生(2021届毕业生)
写在前面的大实话
能看到我帖子的各位同学好,去年此时,我和你们一样在为了找一份好的实习而奋斗、担忧、煎熬。现在我已上岸,希望能借这个内推的机会给大家分享一下自己在找工作过程中一点不成熟的小感受,也感谢那些曾在牛客、GitHub等各种渠道无私分享经验的前辈们。我研究生期间方向其实主要是移动应用测试相关,但因为个人认为干的活就是个测试开发那为啥不投开发岗呢,也就这么干了,期间个人的准备细节我认为可以因人而异,我想说说我回过头来看当时自己的一些感受,后文有我的面经分享。
开始前先把关键信息交了:
内推简历请发我邮箱yuanhan.tyh@alibaba-inc.com(后文海报邮箱是同事邮箱,先发给我是因为可以先看一下简历,如果需要我会给一些修改建议,确保各位简历留有最佳第一映像),邮件名称请按“职位+学校+姓名+手机号+邮箱”格式,有任何问题可以直接留言或私聊我,非常乐意能够帮到各位。PS:无论哪个团队的HC都是先到先得,所以千万不要太晚投递。
建立了微信群方便大家交流,我会在群里分享一些个人准备找实习过程中的资料和心得,以及和大家一起探讨学习。
知识储备
就以Java开发来说,我个人感受,作为应届生,Java核心的内容 > 框架,且Java核心(重点:Java 集合、工具类、多线程、并发包)是重中之重,要阅读源码,注重细节和原理,后端框架则最好结合项目来准备。
其他内容如算法、数据结构、数据库、设计模式、计算机网络等基础知识则是必须要覆盖的,整体来说,知识的广度必须要有,这是基本,其次应该在某些内容上有一定深度(如Java高级特性、JVM等),这也是个人的亮点。
面试注意事项
- 简历上写的都要是自己能回答上来的
- 在回答问题的时候尽量引导着面试官走,回答里面提到的名词往自己熟悉的地方引导,尽量不要提到自己不懂的东西
- 做题特别是算法题遇到困难应该和面试官讨论,把面试官当成一起探讨问题的算法大佬,而不是出题为了难倒你的考官。
- 切忌闷头做不交流!!!开始做题前一定要和面试官确认好题目细节再开始。
- 遇到想不清楚的地方应该问面试官,让他引导自己做,记得谢谢面试官的提醒。
- 写完代码之后一定要推敲自己的代码
- 思考的时候可以说出自己的想法,不要冷场!!!
总之,就我的理解来看,面试官不是为了考倒你,而是希望通过一些问题的探讨了解你的真实水平,换一个角度去理解面试,发挥会更自如。
个人面经
一面(40分钟)
- 介绍一下你的项目(我想了解你的研究方向,对这个职位的看法)
- 计算机网络还记得吗,TCP/IP协议说一下吧,各层有什么协议,分别什么作用说一下
- 你做测试的,感觉跨度很大,为什么想要来做Java后台开发
- 快排时间复杂度,平均,最差,最差情况
- 哈希冲突怎么解决,我说的链地址法,顺便提了ConcurrentHashMap中的红黑树
- 说到红黑树,那你讲一下红黑树的性质,和它都怎么使用
- 说到了Java多线程,那你说一下多线程我们编程的时候都怎么用
- 并发和并行的区别,Java中如何做到线程间并发(我理解这就是说如何实现线程间协作)
- 软引用和弱引用的区别,用法
一面总结
所有的知识点展开要有条理,抛出的点要引到Java、和多线程(体现出自己的Java能力)
- 对自己的测试项目不要废话太多,说重点,并且引到Java和多线程
- 对于多线程体系中的知识点要捋明白说清楚,不要乱,要条理清晰
- 阐述红黑树这类概念的时候,就应该从源头说起,条理必须清晰
二面(3道编程题 + 面试 2小时25分钟)
- 第一题的能不能用动归做,有什么思路,你的算法时间复杂度是多少
- 第二题的思路说一下,广搜的话怎么搜,能不能在搜索岛屿的时候标号
- 第三题最后完全背包问题,背包容量远大于物品重量,怎么优化
- Java方法里的基本类型和对象分别分配在哪里(主要考你对内存了解)
- 代理模式我们用的比较多,知道吗,你说一下
- 逻辑题,7分钟的沙漏和4分钟的沙漏,量出连续的九分钟
- 你平时有看源码的习惯吗,大概看了哪些源码
二面总结
加强:算法时间复杂度,设计模式(代理,动态代理),DP,图论
- 对自己做Java的能力可以说的更多一些,基础知识更是要体现得非常扎实
- 了解一下阿里文化,准备一下之后可能会到来的面试,特别是开放性问题
- 表达出积极地态度,以及体现自主学习能力和扎实基础很重要
三面(13分钟)
- 简单介绍自己
- 说一下GC
- 如果有一个异步调用框架,你会怎么设计。就是如果我连续访问10个URL,不阻塞,继续进行其他操作,有结果回来我就展示,没有就不展示
- HTTP1.1和1.0区别
- DNS域名解析的过程
四面(32分钟)
- 对自己最满意的一个项目
- 项目里哪几个点是你最有成就感的
- 那么这些亮点里面有哪些是你的创新
- 你平时Java只是使用还是说了解了语言底层的原理
- 那么说一下HashTable和并发包里的ConcurrentHashMap之间的区别吧,对于并发来说
- 说一下你了解的垃圾收集器吧
- 仔细说一下你了解的G1收集器
- 那这些语言偏底层一些的内容,你当时是为什么想要去学习这部分知识呢
- Java最新版本的垃圾收集器有关注过么
- Java Security Model有了解过么
- 如果你开发一个软件的话你会怎样注意安全的问题
- J2EE熟悉么
- Chaos Engineering有了解过么,Netflix弄得,给你个提示,他们的猴子团队
- 你觉得就现有技术来说有哪些东西是自动化测试能做的的,哪些是自动化测试做不到的
HR面(20分钟)
- 家乡,工作城市的选择
- 你研究方向是Android自动化测试比较多,你为什么想要投Java开发呢,有没有考虑过移动应用开发
- 说说你对SDN的理解
- 你为什么选择Java作为你的主要编程语言
- 你对计算机网络的知识的了解,除了平时的课程基础知识,有在特定的方向深入了解过吗
- 你为什么想来阿里云呢
- 阿里云工程师一行代码的确会影响成千上万的用户,但是随之而来的是如果你犯错了,可能也会造成很大的影响,你对于这一点怎么看呢
- 你有什么问题