备案 控制台
开发者社区 开发与运维 文章 正文

如何拿到阿里技术offer:从《阿里巴巴面试总结与感悟》体味阿里社会招聘

简介: 不知道各位童鞋知不知道,淘宝、天猫等阿里产品的架构的底层都是Java,可以说阿里在Java领域是技术的“光明顶”,各路大神齐聚与此,如果你想成为Java方向的技术攻城狮,那么阿里一定是最好的选择。今天分享的文章就与Java研究方向有关咯。
我们在学习Java Web开发技术的时候,老师告诉我们淘宝的架构都是使用Java写的,我怀着好奇心就开始搜索相关的问题,在知乎上看到这样一篇帖子《淘宝主要是用 Java 实现的,这是真的吗?》( 链接),其中回答者中有一位是支付宝核心域高可用架构师,他的回答可以说算是半官方的了,的确不光是淘宝,整个阿里系基本也是全线Java,而且水平在国际上也是一流的,世界上很少有Java的系统可以面对像淘宝支付宝这样的高并发,大数据的挑战,这里已经把Java技术发挥到了极致,比如自定制GC,编写针对CPU优化JVM等老外想做也没机会做的事,如果真想玩转Java,那就来阿里吧。
7714d43e41cc21eca217095a355636dc7fc88656
看来说的没错阿里就是Javaer的光明顶,想了解更多的关于淘宝的架构和它背后的故事的话,这里有一篇博文( 链接)大家可以看看。

随着阿里全线Java的发展,阿里对于Java工程师的需求也越来越多,但是面试阿里的Java工程师需要什么样的技术能力和知识水平呢?什么样的技术人员才能面试阿里的Java工程师呢?

阿里的Java工程师招聘信息多达57页(果然多…),我找了阿里云方向的招聘要求和大家分享一下,大家参照这个可以有一个更加明确的努力方向:
88c589160a086074d9c67274812a509da16c2199

好了接下来就为大家分享一篇阿里社招Java工程师的面试经历:

《阿里巴巴面试总结与感悟》

今天面试了阿里巴巴Java研发工程师,战况只能用一个字形容:惨,惨不忍睹! 昨天接到阿里巴巴面试通知的时候就已经没信心了,今天果真印证了 。

上午9点到了裕宁酒店在等待区没等多久就被领去面试了。阿里的一面是在大厅中分组一对一单面的。面试我的是一个二十七八岁的帅哥,面试过程也很友善。进去后,他首先看了我的简历,然后问我能不能说一下自己的特长优势什么的(都没有让自我介绍)。我简单的把在校三年来自己学习的技术和参加的项目介绍了下,然后拿出了自己准备好的《项目回顾表》以及自己做的《作品回顾》光盘和已经出版发行的两张光盘给他看。他看了说不错,然后就问我项目的事儿。

他说自己对3D开发不太了解,然后问我感觉在做《山海关虚拟博物馆》的时候有没有什么技术难点和重点。我说重点是在寻路上( 囧,说完我心里就哇凉哇凉的了,不应该说这个),然后他就问我是怎么实现寻路的,我给他画了下场景地图,然后解释了下我的做法(主要是用状态机)他可能不太满意,然后问我能不能用算法来描述。我没太明白他想要什么,然后他开始引导我回答这个问题,先问我学没学过图论,我说在数据结构和离散数学中学过,然后我明白了他想要什么了,我说可以用图存储各个目标点,然后通过判断各点之间的连通性来判断点是否可以到达,可以通过深度优先搜索来完成(说完我心里又是哇凉的,根本就没准备图这一块儿的数据结构)。然后他说让我写下深度优先搜索程序(= =,这个鄙视我吧,我真忘记了)。我想了会儿说记不清楚了,他问我图是怎么存储的,我说用临接表和临接矩阵,然后他让我给他画下,我就画完(这些还是会的)。他说再试试呢,我思考了下说记不清了(我怕写完他在让我写广度程序的和优化查找,这块儿真心没准备 )。

然后他让我写下自己用过的设计模式,我说有策略模式、单例模式、工厂模式、状态模式、适配器模式。然后他让我写下单例模式,我用了最简单的方式,static变量new自身对象。他说有没什么问题,比如变量被赋值呢。我说在C#中可以用访问控制符禁止set,在java中也可以用静态方法来屏蔽。他又问那你的类被别的类实例化,我说构造方法我用private的。(总之是没写全,写全他就不会问了)

设计模式谈完,他说来说下你的网站项目吧,我的简历里有写“系统架构”,他让我解释下,我就画了下MVC图,jsp页面作为视图,servelt作为控制层,然后建立model,建立service和dao,以及他们的作用。他说SSH和这些有什么不同吗?我说Struts2代替了servlet,hibernate代替了dao,spring贯穿他们,注入对象。他说那你说下spring的核心思想吧。我说主要是IoC,AOP,DI。他说说下IoC和AOP吧,我提到了IoC控制反转,通过配置文件将对象注入到程序中,他说你写下配置文件吧(又要写,= =,Spring半年没搞了早忘了)我说平时都是copy,忘记了。他可能以为我不会spring,然后问我那你都知道各个元素的作用吗,我说知道。(但是真心的忘记bean标签中都有哪些了,我发誓看见之后都知道有什么用,抓狂啊)

SSH告一段落(回答的太烂了,这些初级的学者都会,最主要的是很多都没记住),我有一个项目写的是已经上线了,他让我写下那个URL,我有点蒙,就写了域名,他说你们就用这个吗,我不知道他想要什么,我就又写了127.0.0.1:port,他问我用户可以访问?(当我是小白了- - ,哎前面回答的太烂了)我说当然不可以,我们的申请的IP是172.168.XX.XX:80这个是给用户的。他说服务器用的什么,我说tomcat,他问tomcat的端口号在哪里配置,我说在web.xml(说顺嘴了,其实我知道在server.xml中配置)。他说都可以配置什么,我说可以配置端口号,虚拟主机。他说还有吗,我说还可以配置一个监听端口号。他说默认的都多少,我说8080,他问我另外一个,我说不记得了。然后他让我写下JSP页面的标准头部是什么。我把page标签写上去了,我提到了页面编码,他问我用什么编码我说UTF-8,他说还知道其他的编码吗,我说还有GBK。然后他问我UTF-8和GBK的区别,我只说了表面的,他让我从计算机组成原理的角度说下GBK和UTF-8,我说我们专业没开计算机组成原理,然后他看了下我的简历。然后让我写下平时都看什么书,我大概写了下。最后他问我有什么要问他的吗,我让他点评了下。点评了啥就不说了,反正都在意料之中。

总结:今天阿里的面试非常烂,问题很简单,但是因为很久没搞Java了(有半年多了)所以很多都忘记了。基础太不扎实,这也是很多应届生的缺点吧。想要进大中型公司应该具备以下素质,留给各位准备面试和将来面试的人吧。

1.数据结构,这个不是懂了就行,刚学完数据结构,各种算法自己也可以很快写出来的,但是很久没写了都忘记了。数据结构这个东西必须能信手拈来,随手就能写出各种树、图的遍历以及排序、查找等算法,以及二叉树,B-树、堆的概念和程序(最好做到能当场写程序)。

2.明白Java API的源代码实现,比如LinkedList和ArrayList,不只是数据结构的区别(这个大家都清楚)还要能从源代码的角度,比如线程安全性,内部扩充方式,每次扩充的长度等等来表达。(你可以想想自己能不能说出String、StringBuffer、StringBuilder的区别;HashTable、HashMap、TreeMap的区别呢?属性类的安全性?等等,别查文档,也别说你知道,面试的时候不会听你啰嗦的,就说重点区别)。


3.设计模式,要明白各个设计模式的优缺点,应用场景,最好能说出哪些框架应用了这些设计模式。对于简单的设计模式,如单例等可能会被现场写。

4.SSH框架,只要搞Java的都会被问这三个框架的很多东西,Spring的IoC,DI,AOP,配置;Struts2的创建过程,Filter,配置;Hibernate的O/R Mapping,映射的配置,乐观锁、悲观锁等等。紧紧在项目中用还不行,最好要明白内部原理。


5.操作系统的一些知识,笔试的时候有考到LRU算法(差一点就忘了)。
总之大公司考的范围很广,绝大部分都学过,但是很多我们在学校中学一次就很可能不会再用(比如页面置换算法,存储过程等,学生项目不会涉及这么复杂底层的东西)。还有就是平时我们依赖IDE惯了,很多我们知道的东西,比如标签都有哪些属性什么的,当场写我们可能就写不出来了(比如各种配置文件,使用自动提示惯了,让自己写都不会了,这是平时注意自己敲吧)。

感想:其实阿里巴巴的技术面反映出来的最主要的问题不是自己的技术问题,而是自己真正想要做什么。

今天问的这些问题,如果放在大三上学期问的话,我能很自如的答出来,但是从专业实习之后自己一直就在研究Unity3D和Photon,这些很久都没看了,忘了很自然。自己现在真正应该思考的是到底想不想要做Java开发,做Java开发的话就要用SSH框架,自己又不太喜欢基于SSH框架的网站开发。(= =真是个纠结的问题,男怕入错行,如果你了解的也比较多还是慎重考虑吧,虽然招聘Java的很多,但是面试Java的比招聘的还多,Java发展了这么多年,想要说你精通Java要有一定实力哦,要不然随便一个细节问题,比如Java反射、序列化、反序列化等都可能问死你,不是你不行,是这个太细了)有侧重的复习面试很重要。想要深入游戏开发,又怕自己没学过C++和图像处理算法和别人差距太大。这几天要反思下。

2798776398a77b5093beea77a8ce3774f9bc2c0d
正文完

有话要说:从这位学长面试失败的经历中可以看出一个问题,对于我们在大学中“学过”的技术知识,我们是不是真正地学到了、学懂了、学透了。回顾我们大学学过的东西有太多,有什么是我们融进自己技术中的,我们都应该及时反思自己的学习,我们是不是真的学到了东西,还是我们学的东西只是浮于表面,没有抓住知识的根基。还是“功夫用在平时”,努力和勤奋不会没有回报的。

本系列文章:

如何拿到阿里技术offer:从《我为什么来到支付宝》体味阿里社会招聘 

如何获得阿里技术offer:从《阿里DBA面试题》体味阿里社会招聘 

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

如何拿到阿里技术offer:从《阿里巴巴面试总结与感悟》体味阿里社会招聘

如何拿到阿里技术offer:从《2.5年, 从0 ->阿里》体味阿里内推招聘 

如何拿到阿里技术offer:从《方腾飞:阿里感悟》体味阿里招聘 

阿里云头条
目录
相关文章
阿里云服务开发者
|
5天前
|
消息中间件 存储 Java
Java分布式技术面试总结(全面,实时更新)
Java分布式技术面试总结(全面,实时更新)
阿里云服务开发者
28 2
磊哥聊Java
|
5天前
|
算法 Java 应用服务中间件
阿里面试:说说自适应限流?
限流想必大家都不陌生,它是一种控制资源访问速率的策略,用于保护系统免受过载和崩溃的风险。限流可以控制某个服务、接口或系统在一段时间内能够处理的请求或数据量,以防止系统资源耗尽、性能下降或服务不可用。 常见的限流策略有以下几种: 1. **令牌桶算法**:基于令牌桶的方式,限制每个单位时间内允许通过的请求量,请求量超出限制的将被拒绝或等待。 2. **漏桶算法**:基于漏桶的方式,限制系统处理请求的速率,请求速率过快时将被限制或拒绝。 3. **计数器算法**:通过计数器记录单位时间内的请求次数,并根据设定的阈值进行限制。 通过合理的限流策略,可以保护系统免受恶意攻击、突发流量和资源
磊哥聊Java
22 4
阿里面试:说说自适应限流?
乘风直上
|
6天前
|
运维 安全 前端开发
参与征文赢面试绿通资格!寻找热爱技术创作的你
发布征文,SHOW出你的故事,赢取面试绿通资格、官方流量权益、数码礼包、定制T恤等重重豪礼!
乘风直上
496 64
老板这功能得加钱
|
7天前
|
前端开发 JavaScript 程序员
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
老板这功能得加钱
20 1
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
老板这功能得加钱
|
7天前
|
Python
2024年最全用Python和PIL美化图像:文本覆盖技术实战,Python高级面试题pdf
2024年最全用Python和PIL美化图像:文本覆盖技术实战,Python高级面试题pdf
老板这功能得加钱
10 0
老板这功能得加钱
|
7天前
|
Python
2024年最全用Python写了一个电子考勤系统_用python写一个宿舍考勤系统,2024年最新1307页阿里Python面试全套真题解析在互联网火了
2024年最全用Python写了一个电子考勤系统_用python写一个宿舍考勤系统,2024年最新1307页阿里Python面试全套真题解析在互联网火了
老板这功能得加钱
17 0
niceffking
|
3天前
|
SQL 存储 Java
致远互联java实习生面试
致远互联java实习生面试
niceffking
20 0
niceffking
|
4天前
|
Java
java面试基础 -- 普通类 & 抽象类 & 接口
java面试基础 -- 普通类 & 抽象类 & 接口
niceffking
9 0
niceffking
|
4天前
|
存储 安全 Java
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
niceffking
8 0
niceffking
|
4天前
|
Java
java面试基础 -- 方法重载 & 方法重写
java面试基础 -- 方法重载 & 方法重写
niceffking
6 0

热门文章

最新文章

  • 1
    Python与NoSQL数据库(MongoDB、Redis等)面试问答
  • 2
    面试官:请谈一谈你对OOP的理解?
  • 3
    这些年背过的面试题——ES篇
  • 4
    这些年背过的面试题——SpringCloud篇
  • 5
    耗时3天写完的HashMap万字解析,争取一篇文章讲透它,面试官看了都直点头!
  • 6
    Java面试必考题之线程的生命周期,结合源码,透彻讲解!
  • 7
    Python自然语言处理面试:NLTK、SpaCy与Hugging Face库详解
  • 8
    Python多线程、多进程与协程面试题解析
  • 9
    Python模型评估与选择:面试必备知识点
  • 10
    Python与MySQL数据库交互:面试实战
  • 1
    vue面试题目汇总
    44
  • 2
    首次面试经历(忘指导)当我在简历上写了苍穹外卖,瑞吉外卖时……
    404
  • 3
    【springboot原理篇】Bean的加载方式,面试必看
    60
  • 4
    【Kafka面试演练】那Kafka消费者手动提交、自动提交有什么区别?
    82
  • 5
    【数组相关面试题】LeetCode试题
    21
  • 6
    网安面试指南——(渗透,攻击,防御)
    106
  • 7
    全球AI人才报告:硅谷40万人大裁员,码农地狱级面试12场!
    38
  • 8
    Java开发面试题 | 2023
    65
  • 9
    【怒怼大厂面试官】你先说说知道哪些MySQL的高级特性
    57
  • 10
    LeetCode刷题--- 面试题 01.07. 旋转矩阵(原地旋转+翻转替旋转)
    47
  • 相关课程

    更多
  • Java面试疑难点解析 - 面试技巧及语言基础
  • Java面试疑难点解析 - Java Web开发
  • Java面试疑难点解析 - 系统架构及项目设计
  • 求职就业系列课 - 阿里专家教你打造一个漂亮的简历
  • 职场精彩问答:过关斩将
  • 相关电子书

    更多
  • 阿里云技术面试红宝书
  • 超全算法笔试-模拟题精解合集
  • 程序员面试宝典
  • 相关实验场景

    更多
  • 多项目规范轻松落地
  • 重温童年的“五子棋”,赢取专属阿里云Serverless证书
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    两个鬼故事谢的姓名怎么起马永贞电视剧网游之狂暴死神姓余的男孩起名超好听鱼起名诗经女孩起名自己给自己起个名字快餐的 起名母皇爱新觉罗起名梦见大蟒蛇陪你逐风飞翔小说msecache甘姓女宝起名网上超市起名之超市名字大全植物大战僵尸2电脑韩女装店铺起名百炼成锋赵氏起名大全男孩名字好听碌碌无为的意思新东方大愚书店熟食起名字大全集www.5252黄永玉简介泰胜风能股票男孩恒字起名字燕字辈起名食品生产厂家起名大全诗经里起名字javlib.com少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

    两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化