如何拿到阿里技术offer:从《阿里电话面试经过与总结》体味阿里社会招聘

简介: 阿里社招往往需要应聘者首先在阿里的招聘网站上填写个人简历以及其他一些相关信息,当填写完后,阿里方面会非常快速(快到难以想象)地进行审核,并且会根据应聘者与杭州(或者北京)的远近选择电话面试还是现场面试,比较远的童鞋们就要进行电话面试,应对阿里电面,有哪些技巧和经验呢?今天就为大家分享一篇关于阿里电话
社招情况下,当小伙伴们在阿里的招聘网站上投去简历和应聘职位意向后,阿里往往会根据面试者的远近选择初次面试是当面面试还是电话面试,阿里的电话面试可是出了名效率高,据说很多小伙伴们都是上午填简历,下午电面,这效率赶上某东的快递了。

电面不像当面面试一样,需要和面试官面对面聊,可能在面试时没有那么紧张,但是电面也有缺点,就是有些东西语言不容易表达清楚(特别是对于语言表达能力不强的童鞋)。所以童鞋们,在学好技术的同时,语言表达能力也要注意呀。


好了,上文咯:

《阿里电话面试经过与总结》

最近在找工作,刷新了自己在智联招聘和前程无忧上的简历。这两天电话不断,各路外包公司都来了,简直应接不暇!今天下午又来一个电话,一看是杭州的,本来以为还是外包,一接,人家说了:“你好,我这边是阿里巴巴,你感不感兴趣?”

这还用说?作为屌丝程序员,有几个不对阿里巴巴感兴趣的,当时就有点小激动,说当然当然。对方就说,稍后跟HR说一下,找时间做个电话面试。我一听,还真体贴,知道我在南京,先电话面试。接完电话回去继续看代码。但是再一仔细琢磨,尼玛,不会是外包到阿里吧!心里想着,电话面试的时候一定要问清楚。

下班到家,准备把昨天买的水饺给煮了,偏巧不巧,水饺熟了的时候,电话来了。我拿起来一听,说是阿里海外事业部的。我心想,我读书少,你别骗我!“这职位是阿里的还是外包到阿里啊?”对面一个哥们就笑了,说“我们是阿里,不是外包!”这还差不多!

好吧,电面开始!一上来就让我介绍一下最近做的项目。有点蒙,我以为他这次只是跟我确认下电面时间,没想到直接就开战了!好吧,我组织下语言,如实介绍了下项目。

我最近在做一个智能客户分析系统,当然,这系统名称是够霸气,实际也就是传统的CRUD。在这个项目里,我负责了一块功能,另外还得帮其他成员搞定页面上遇到的所有js、css问题。因为我简历上说自己还能搞前端,对面就问了几个前端问题,怎么定位比较耗时的代码,如何优化前端,有什么办法能异步加载js文件。说实话,我的前端全用来看语法了,对这些专业的前端问题,也只是粗浅的有那么点意识,具体真说不上来。完败!

马马虎虎前端就这么结束了,又说起SQL语句,问怎么在SQL层面做一些优化。我就说,SQL优化基本就是一些常识性的东西,比如不能用SELELCT *,少用DISTINCT、GROUP BY之类的命令。对面说,这些都是背一下就知道的,我希望你说一些你自己的理解。我一下子就急了!因为前面回答的并不好,现在的回答又没在他的思路上,这是要悲剧的节奏啊!慌乱之际,我想起了写代码的时候,应该用PreparedStatement而不是Statement,因为PreparedStatement是可以缓存SQL语句的,下一次在执行相同的语句,不需要再次解析。但对面又说了,你那是程序层面,我想知道一些SQL上的,其实你可以说索引啊!我当时好尴尬!对啊,索引啊!主键啊!你上个月不是刚做过索引吗!脑子里就跟浆糊一样,越来越悲催!

SQL也不行了,就来框架吧。对面问,SSH在程序中扮演什么角色。在他的引导下,终于知道是要说MVC的事,是要将分层了。简单说下了,对面又问,如果要去掉一个,你会去掉哪个?我最近这个项目,只用了SpringMVC就搞定了所有的事,同时我也觉得Strust2要定位一个Action请求需要到类,而SpringMVC可以精确到方法,所以果断把Struts2给去了。对面也不好说什么,又问JVM一些问题,怎么确定服务器端一个死循环,JVM什么时候会触发Full GC。这个时候考研我的时候到了!心想该勇敢一回了,就照直说了:“我不太了解!”真不了解,这两年一直做传统项目,一边赶进度,一边学习前端、SQL、正则这样的工具类的东西,Java一直都是一瓶水不满,半瓶水晃荡的状态,真心没有深入到JVM过。本来还有一本深入Java虚拟机,可惜好久没翻,已经在老大那放着了。

中间又问了HashMap跟Hashtable的实现原理,不知道我敢乱说?我除了知道它们都用到了hash表,HashMap允许key为null而Hashtable不行,别的也不了解太多了!但是我会告诉你我刚刚看过LinkedList的源代码吗?我会告诉你我还看了String的源代码吗,我会告诉你我断断续续的看了很多源代码,但都是在想起的时候才去看吗?所以我根本就没想起过去看HashMap或者Hashtable,你叫我如果回答?

罢了罢了,此时我已经都不好意思跟他对话了!对面问我,最近在看什么书?我心里想,我还是别乱说,我说我在看算法导论,人家一问我三不知怎么办?去年年底买的编程珠玑、重构,还有本来可以套近乎的淘宝翻译的编写可维护的javascript,一概没敢说,就说了一本我快看烂了的javascript高级程序设计,结果人家说:“这本我都没看过!”

最后总结,对面很真诚的指出,作为出道一两年的IT民工,基础还是有点薄弱。然后问我,有没有什么要问他的。得了吧,就现在这种感觉,我还有什么好问你的,我只想快点挂吧,回去再学习一下!就说没啥问的。现在想想,怎么没啥问的,可以问问,你们那团队如何共同进步啊,用的什么技术啊,下回面试在什么时候啊!

总体来说,对面那位大哥还是很客气,很耐心的在了解我的技能。他问我,servlet是否是线程安全的,我也记不大请了,大概是安全的。他说:“本来我还想问为什么不安全......”对不起啊,没给你开口的机会。

这次持续四十分钟的面试,感觉对我来说就像是刚弯腰捡了十块钱,还没站起来,失主来了。哎,书到用时方很少!想想要是自己平时多深入学习点Java、JVM甚至多了解下Servlet或者各个框架的原理,今天都一定能交一份令对方满意,也能让自己转折的答卷。确实,有些基础性的东西,原理、理论的东西,我还是没有去学习、去理解、去掌握。电面结束,我就想起那句话:“机会,是留给又准备的人的!”没有准备的人,馅饼掉到你面前,恐怕你都接不住!谢谢面试我的这个大哥,让我能这么清晰的认清自己的不足之处。各位轻喷,我去做下准备。


有话要说:虽然这位童鞋这次阿里的电面经历最终的结果是遗憾离场,但是他却通过这次面试更加清楚地认识到自己的不足,有了努力学习的方向,这一点值得我们学习,我们应该从失败中学习,失败使我们最好的老师,它能让我们更清醒认识自己。继续加油,Fight!

相关文章
|
5天前
|
消息中间件 存储 canal
阿里面试:canal+MQ,会有乱序的问题吗?
本文详细探讨了在阿里面试中常见的问题——“canal+MQ,会有乱序的问题吗?”以及如何保证RocketMQ消息有序。文章首先介绍了消息有序的基本概念,包括全局有序和局部有序,并分析了RocketMQ中实现消息有序的方法。接着,针对canal+MQ的场景,讨论了如何通过配置`canal.mq.partitionsNum`和`canal.mq.partitionHash`来保证数据同步的有序性。最后,提供了多个与MQ相关的面试题及解决方案,帮助读者更好地准备面试,提升技术水平。
阿里面试:canal+MQ,会有乱序的问题吗?
|
1天前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
5天前
|
SQL 关系型数据库 MySQL
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
尼恩,一位40岁的资深架构师,通过其丰富的经验和深厚的技術功底,为众多读者提供了宝贵的面试指导和技术分享。在他的读者交流群中,许多小伙伴获得了来自一线互联网企业的面试机会,并成功应对了诸如事务ACID特性实现、MVCC等相关面试题。尼恩特别整理了这些常见面试题的系统化解答,形成了《MVCC 学习圣经:一次穿透MYSQL MVCC》PDF文档,旨在帮助大家在面试中展示出扎实的技术功底,提高面试成功率。此外,他还编写了《尼恩Java面试宝典》等资料,涵盖了大量面试题和答案,帮助读者全面提升技术面试的表现。这些资料不仅内容详实,而且持续更新,是求职者备战技术面试的宝贵资源。
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
|
5天前
|
Kubernetes 架构师 算法
阿里面试:全国14亿人,统计出重名最多的前100个姓名
文章介绍了如何解决“从全国14亿人的数据中统计出重名人数最多的前100位姓名”的面试题,详细分析了多种数据结构的优缺点,最终推荐使用前缀树(Trie)+小顶堆的组合。文章还提供了具体的Java代码实现,并讨论了在内存受限情况下的解决方案,强调了TOP N问题的典型解题思路。最后,鼓励读者通过系统化学习《尼恩Java面试宝典》提升面试技巧。
阿里面试:全国14亿人,统计出重名最多的前100个姓名
|
2月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
14天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
34 2
|
18天前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
21 0
|
2月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
2月前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。
|
2月前
|
Java
【Java基础面试三十八】、请介绍Java的异常接口
这篇文章介绍了Java的异常体系结构,主要讲述了Throwable作为异常的顶层父类,以及其子类Error和Exception的区别和处理方式。