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

如何拿到阿里技术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:从《方腾飞:阿里感悟》体味阿里招聘 

阿里云头条
目录
相关文章
孤影过客
|
9天前
|
监控 虚拟化 Docker
【面试宝藏】容器技术详解其二
了解Docker和容器化技术的关键概念:Docker Image是运行容器的基础,由多个只读Layer组成;虚拟化技术在物理硬件上创建虚拟资源;Docker Swarm是集群管理和编排工具;容器比虚拟机轻量级,启动快;Dockerfile中的ONBUILD用于子镜像构建时执行命令;在非Linux系统上,Docker依赖虚拟化技术运行;容器化利用命名空间和Cgroups提供隔离;容器化启动快、扩展性好,但隔离性较弱;虚拟化安全、隔离性强,但资源开销大。通过多阶段构建、环境变量和卷适应不同环境。Docker Compose快速启动服务,依赖服务通过健康检查自我调整。
孤影过客
24 2
孤影过客
|
9天前
|
运维 Devops 持续交付
【面试宝藏】容器技术详解
DevOps是开发(Development)与运维(Operations)的结合,旨在通过自动化流程和持续交付(CI/CD),实现快速、高效的应用程序开发、测试和发布。DevOps的主要需求和好处包括:
孤影过客
20 2
阿里云服务开发者
|
30天前
|
消息中间件 存储 Java
Java分布式技术面试总结(全面,实时更新)
Java分布式技术面试总结(全面,实时更新)
阿里云服务开发者
52 2
磊哥聊Java
|
13天前
|
消息中间件 存储 Java
美团面试:说说Netty的零拷贝技术?
零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能。 那么问题来了,为什么零拷贝技术能提升 IO 性能? ## 1.零拷贝技术和性能 在传统的 IO 操作中,当我们需要读取并传输数据时,我们需要在用户态(用户空间)和内核态(内核空间)中进行数据拷贝,它的执行流程如下: ![](https://cdn.nlark.com/yuque/0/2024/png/92791/1706491312473-52f5904a-2742-4e99-9b78-995e9a8b9696.png?x-oss-process=image%2F
磊哥聊Java
15 0
敏叔V587
|
22天前
|
算法 C语言
关于技术面试一些有用的经历
关于技术面试一些有用的经历
敏叔V587
23 0
磊哥聊Java
|
24天前
|
设计模式 Oracle Java
阿里面试:NIO为什么会导致CPU100%?
在 Java 中总共有三种 IO 类型:BIO(Blocking I/O,阻塞I/O)、NIO(Non-blocking I/O,非阻塞I/O)和 AIO(Asynchronous I/O,异步I/O),它们的区别如下: 1. 在 JDK 1.4 之前,只有 BIO 一种模式,其开发过程相对简单,新来一个连接就会创建一个新的线程处理,但随着请求并发度的提升,BIO 很快遇到了性能瓶颈。 2. 所以在 JDK 1.4 以后开始引入了 NIO 技术,NIO 可以在一个线程中处理多个 IO 操作,提高了资源的利用率和系统的吞吐量。 3. 而到了 JDK 1.7 发布了 AIO 模型,它可以实现当线
磊哥聊Java
40 0
Ant.Dream
|
3天前
|
安全 Java 编译器
Android面试题之Java 泛型和Kotlin泛型
**Java泛型是JDK5引入的特性,用于编译时类型检查和安全。泛型擦除会在运行时移除类型参数,用Object或边界类型替换。这导致几个限制:不能直接创建泛型实例,不能使用instanceof,泛型数组与协变冲突,以及在静态上下文中的限制。通配符如<?>用于增强灵活性,<? extends T>只读,<? super T>只写。面试题涉及泛型原理和擦除机制。
Ant.Dream
13 3
Android面试题之Java 泛型和Kotlin泛型
Ant.Dream
|
4天前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
Ant.Dream
17 2
JavaBuild
|
4天前
|
存储 缓存 Java
面试官:Java中缓冲流真的性能很好吗?我看未必
【6月更文挑战第9天】面试官:Java中缓冲流真的性能很好吗?我看未必
JavaBuild
31 3
进朱者赤
|
15天前
|
存储 算法 Java
JAVA后端开发面试题库
JAVA后端开发面试题库
进朱者赤
20 1

热门文章

最新文章

  • 1
    面试官:请谈一谈你对OOP的理解?
  • 2
    Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
  • 3
    【JAVA面试题】什么是对象锁?什么是类锁?
  • 4
    耗时3天写完的HashMap万字解析,争取一篇文章讲透它,面试官看了都直点头!
  • 5
    Java面试必考题之线程的生命周期,结合源码,透彻讲解!
  • 6
    Python面试:FastAPI框架原理与实战
  • 7
    面试官:请聊一聊String、StringBuilder、StringBuffer三者的区别
  • 8
    Flask框架在Python面试中的应用与实战
  • 9
    面试遇到算法题:实现LRU缓存
  • 10
    Flask框架在Python面试中的应用与实战
  • 1
    面试遇到算法题:实现LRU缓存
    36
  • 2
    【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题
    33
  • 3
    每日一道javascript面试题(八)你真的知道了解const吗
    25
  • 4
    每日一道javascript面试题(七)你真的知道箭头函数吗
    31
  • 5
    每日一道javascript面试题(六)有var和无var
    22
  • 6
    【JAVA面试题】final关键字的作用有哪些
    20
  • 7
    【JAVA面试题】什么是引用传递?什么是值传递?
    34
  • 8
    【JAVA面试题】什么是对象锁?什么是类锁?
    62
  • 9
    【变态面试题】【两种解法】不能创建临时变量(第三个变量),实现两个数的交换
    18
  • 10
    Golang深入浅出之-Go语言并发编程面试:Goroutine简介与创建
    28
  • 相关课程

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

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

    更多
  • 代码质量提升小妙招
  • 多项目规范轻松落地
  • 重温童年的“五子棋”,赢取专属阿里云Serverless证书
  • 下一篇
    基于函数计算模板部署AI应用实践

    深圳SEO优化公司民治企业网站改版福田关键词排名吉祥网站seo优化福永网络推广南山百度seo永湖网站优化按天计费龙岗SEO按天扣费宝安英文网站建设吉祥网站推广方案横岗如何制作网站罗湖网页制作永湖网站排名优化大鹏seo荷坳网站改版爱联网站seo优化罗湖网站建设沙井网站优化软件沙井seo网站优化惠州企业网站改版南澳百度标王福田网站设计盐田百姓网标王石岩至尊标王双龙阿里店铺运营布吉网站推广方案木棉湾网页制作广州网站优化软件沙井百度标王惠州阿里店铺托管光明阿里店铺托管歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化