【面小易-面经01】阿里巴巴Java开发工程师面试总结

简介: 7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,更有《阿里云技术面试红宝书》助你拿下Offer!马上投递简历:https://developer.aliyun.com/special/offerday01

图片无法显
点击图片或戳我查看详情和投简历
转眼间,又到了 “金九银十” 的招聘季,各位需要找工作的小伙伴们是不是已经摩拳擦掌,跃跃欲试了呢?想必对于大家而言,能够进入像阿里巴巴这样的互联网巨头是一件十分令人羡慕的事情,单纯是想想或许都能够从梦中笑醒。但是想要进入阿里巴巴,光是“仰望星空”还远远不够,必须要脚踏实地地完善自己。当然了,必然也少不了要学习一些面试技巧。

此时,就是我面小易登场的时候咯!先来一段定场词:“我是面小易,机智又聪明。面试不眨眼,Offer不手软。”

接下来的一段日子里,就让我面小易和各位一起学习各位前辈总结的真实面试经验,为大家的“金九银十”求职之路保驾护航。

今天和大家分享的这篇面试经验来自一个自动化控制专业的同学,他学习Java完全是因为兴趣,他所投递的岗位是阿里巴巴的Java开发工程师,而且这是他人生中的第一次面试,就让我们一起来看看他的面试经历吧。

以下为正文

第一面

第一天下午三点左右,当时刚好在教研室自习时,我接到一个杭州打来的电话,阿里的面试官简单说明来由,就问我是否方便面试,我说可以,然后让我先自我介绍。说实话,阿里是我正式接到的第一个面试,所以根本没有准备。我就简单地介绍了自己,然后把项目提了一下,果然面试官会针对他感兴趣的东西问,面试官问了我算法大赛的情况和项目情况,但都只是简单的说明了一下整个思路,并未深入,然后问了几个Java基础问题。第一面大约用了30分钟左右,面试官就说,那今天就到这里了,于是结束了第一面。

对于第一面而言,感觉更多的是宽泛地了解Java知识面。我还是比较幸运的,所问的几个问题我都大概的都知道一些,虽然回答的并不是很好,但是每一次面试的问题都记录下来,后续再学习。

面小易说:对于第一面而言,不慌不忙很重要,阿里的面试官总喜欢“搞突击”,所以一旦准备投阿里,就需要准备好面试的开场白,这样才能不慌张。

第二面

第二面来的很快,第二天晚上八点多就接到了面试电话。面试官人很好,没有再自我介绍,直接切入主题,针对我的项目开始具体问,我说做的一个模仿QQ聊天的软件,他问我你有没有考虑过性能的问题,如果出现卡顿,你会怎么解决。说实话,做这个项目纯练手的,未考虑到上线测试。于是我说,我自己做着自己练习的,模仿着功能,自己纯手写的,未考虑到这些。我问面试官性能方面的问题,可以具体一点么?面试官问我,如果你在传送文件时卡住,还想发送聊天信息,你怎么解决,我说那就重新开启一条线程处理,将聊天与发送文件线程隔离开,互不影响。面试官说好,我知道了,就没再深入下去。

后面,针对这个问题,我私下找了解决方案,NIO非阻塞编程以及Reactor单线程模型,这个可以去网上搜集资料看看,这些都是解决多线程通信的问题。私下了解到,其实阿里也在用Netty技术,这门技术也是基于Reactor实现的通信技术,它是用来处理大并发,大容量的通信技术,所以阿里其实面的每一个问题,都是有针对性的,在这一点上,我没有答到点子上,不够完善,应该是没有给出面试官想要的答案,但是面试官没有在这上面为难我,放我进去了三面,还有针对算法大赛的提问,因为是自身的项目,所以说的很啰嗦吧,面试官听完没有深入追问,可能只是想听我的表述能力吧,看看我的思路。还有项目就不重复叙述了,与各位项目实在是小巫见大巫了,大家好好准备自己的项目就可以了,肯定是会提问的。

面小易说:对于项目问题,一定要有一说一,不需要夸大,因为在学校做的项目和在企业做的项目而言,根本算不上什么。即使自己做的很简单,但只要你有更多的想法和思路,都可以探讨。但是要切记不要夸大自己的项目,一定要实事求是。

第三面

第三面隔得就比较久了,大约过了一个星期才来电话。上来面试官就跟我说,时间比较紧,我们就长话短说,你随时可以打断我,我说好的,然后就开始了,这次面试官问了一些基础问题。然后开始针对实际问题提问,第一个比较简单,如果有一组重复数字,我要你找出来,你怎么解决,这个我当时就说HashSet集合,可以去重复,然后我又问,是要找出重复数字?面试官说是的,然后我就说用HashMap,将数字作为Key,出现次数作为value,然后再遍历,找出value大于1的Key,就是所要答案了,面试官说好的,然后又问我,有一个比赛,你去商场购物,给你一个购物车,你如何在商场中,在装满购物车的情况下实现价值最大,装不下的就不可以装,当时我就迷糊了,但是仔细一想,利用动态规划可以做,贪心算法限制条件下结果不准确,具体的,各位私下看看,网上有很多资料,然后面试官好像挺急的,最后面下来17分钟,结束了第三面。

面小易说:这位同学在第三面就遇到了算法面试咯,大家在面试之前一定要准备好高频问题的分析。比如面试官问题的购物车问题,其实就是一个背包问题嘛。

第四面

第四面也是隔了一个星期,当时跟学弟在教研室。说真的,苦等真的是劳神,有好几晚我都没睡好,不晓得电话什么时候打来。每天早九点待在教研室,晚十点多回宿舍,一刻不敢掉以轻心。面试完就开始总结、学习、准备,每天下午就最难熬了,电话一刻不离手,生怕错过。

废话说多了,第四个电话北京打来的,开始还不想接,担心是骚扰电话,但还是接了。没想到对方上来就问是某某某吧,我说是,然后他说是阿里巴巴的,可以面试吗,我说可以,然后就开始面试了。又一次自我介绍,然后问我研究生的专业课程,为什么没有做本专业而是转Java,然后我简单说了下,然后面试官针对性的开始提问。从面试官的讲话就能听出他不简单,说话流利而简练,毫不含糊,应该是个大牛。面试官问我对于分布式了解么,我说不了解。

后面你就知道,分布式对于阿里完全就是灵魂的存在。阿里构架就是基于分布式构架搭建的框,可惜我知道的太晚,一个菜鸟,对于阿里内部知之甚少,准备的全是基础,对于新技术的了解真的太局限了,计算机的可能会接触分布式,搭建局域网,刚我还在看阿里的技术演化呢,可惜太年轻,本以为接近,却又深知自身的不足。

问我,你知道消息队列么,我又一脸懵,我说我只知道阻塞队列,在多线程里用到的,消息队列没有用过。而消息队列也是解决高并发消息传递的技术,类似缓存一样,将消息存入队列,然后供消费者异步调用,解决阻塞,以及秒杀采用的也是消息队列技术。所以说,很多新技术你不知道,这才是遗憾的地方。

面试官问我,你说一下Java 8新特性吧,我支支吾吾只知道lambda表达式,简单复述了一下,其他的知之甚少,用的不多,我又没能回答出来。

面小易说:这位同学在第四面发挥的不是很好,对于一些超出Java语言本身的技术并不是很了解,但是因为他本专业不是计算机和软件,因此也情有可原。各位将要面试Java开发的小伙伴们一定要吸取教训哦!

第五面

没有等来HR面,已回绝。隔了16天收到的消息,确认了。这一个多月总算过去了,有点小伤心,可是又庆幸自己历经四面。说实话,对于我已经算是成功了,一方面,感慨自己的幸运,一方面,也深知自己的不足。同时,更是激发了我对于技术的热爱,也希望大家继续完成我未完成的梦。

面小易说:这位同学虽然最终面试失败了,但是对于自己而言,他已然是一个胜利者。只要你有对于技术的热爱,不断查漏补缺,一定能够拿到心仪的Offer!也希望大家要越挫越勇,永不言弃。

相关文章
|
1月前
|
存储 安全 Java
每日大厂面试题大汇总 —— 今日的是“美团-后端开发-一面”
文章汇总了美团后端开发一面的面试题目,内容涉及哈希表、HashMap、二叉树遍历、数据库索引、死锁、事务隔离级别、Java对象相等性、多态、线程池拒绝策略、CAS、设计模式、Spring事务传播机制及RPC序列化工具等。
41 0
|
1月前
|
存储 消息中间件 NoSQL
每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”
文章汇总了京东后端开发一面的面试题目,包括ArrayList与LinkedList的区别、HashMap的数据结构和操作、线程安全问题、线程池参数、MySQL存储引擎、Redis性能和线程模型、分布式锁处理、HTTP与HTTPS、Kafka等方面的问题。
101 0
|
1月前
|
SQL 安全 关系型数据库
第三次面试总结 - 吉云集团 - 全栈开发
本文是作者对吉云集团全栈开发岗位的第三次面试总结,面试结果非常好,内容全面覆盖了Java基础、MySQL和项目经验,作者认为自己的MySQL基础知识稍弱,需要加强。
32 0
第三次面试总结 - 吉云集团 - 全栈开发
|
1月前
|
消息中间件 存储 前端开发
资深Android开发的5个经典面试题
本文首发于公众号“AntDream”,欢迎关注。文章详细解答了五个常见的Android面试题,涵盖内存泄漏与溢出、Binder机制、MVC/MVP/MVVM架构、Handler机制及Context对象等内容,帮助读者深入了解Android开发的核心概念。
31 0
|
1月前
|
NoSQL 前端开发 关系型数据库
第四次面试总结 — 嘉和智能 - 全栈开发
本文是作者对嘉和智能全栈开发岗位的第四次面试总结,主要围绕对各种技术栈的了解程度进行提问,包括数据库的使用经验、对Redis和nginx的理解以及前端技能水平。
17 0
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
28 0
|
1月前
|
存储 Java 数据库
每日大厂面试题大汇总 —— 今日的是“顺丰-后端开发-一面”
文章汇总了顺丰后端开发一面的面试题目,涵盖了Java虚拟机内存模型、HashMap与ConcurrentHashMap的区别、Spring框架设计模式、SpringBoot与SpringMVC差异、Nacos注册中心原理、Seata分布式架构、MySQL事务隔离级别、数据库死锁问题解决方法、乐观锁实现方式、HBASE底层设计、BIO与NIO区别、以及为何不使用现有开源框架而选择自建平台等问题。
19 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
8天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
9天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
33 4