如何获得阿里前端框架的内部推荐

阿里2015校招面试回忆(成功拿到offer) - 文章 - 伯乐在线
& 阿里2015校招面试回忆(成功拿到offer)
继上次《》文章过后,大家都希望除了题目之外,最好能给出自己当时的回答情况,看看有没有什么回答技巧,这样更有参考价值。
嗯,建议的很对,因此这次对于阿里的面试回忆,我下面以对话的形式尽可能复现我当初的面试场景。
声明:下面只复述我觉得有参考价值的面试题,实际面试题比这多些(有些不记得了),需要找工作的请认真看完(对Java方向的同学更有帮助),不需要的大牛们请一笑置之。
2. 阿里面试回忆
在说具体的面试场景之前,一个小插曲很有必要说一下:
由于我面的是Java开发,但当时负责人员给我安排了一个C++面试官(在面试官桌子上放着一个“C++方向”的牌子),然后我就跟负责人说“我是面Java方向的,不是C++方向的”,结果那个面试官笑呵呵的说“没关系,在我这面一样的,如果你不懂C++,我可以不问你C++语言方面的细节问题”,当时我心里想:虽然我C++学的和Java差不多,就算面C++也没有问题。但是既然面试官这么说了,肯定不问C++了,Java估计也不会问(C++方向的工程师不一定懂Java呢),应该是问数据结构、算法、网络、操作系统方面的问题了。虽然都有所准备,面起来也可以,但是鉴于两个方面的原因,我还是没答应在这面。
(1)据说阿里90%都是招Java工程师,如果在这面后面肯定会以为我是面C++的,胜算就少了;
(2)我这几个月基本上都在专研Java方向的知识,也研究了不少JDK源码和Java相关的项目,感觉自己的Java方向知识有了一个质的提高,因此希望面试官能够考查和检验我这方面的知识。
因此我当时跟那个面试官说“不好意思,我还是希望能面Java方向的知识”,那个面试官依旧笑呵呵“如果你对Java知识的确非常自信,那么可以给你换个Java方向的面试官”,然后我只能说“是的,我有研究过很多JDK源码,也做了不少Java项目”。最后,我出去找负责人给我安排Java方向的面试官,负责人说“那你要等会儿才行,估计要半个小时”。“哦,没关系,那我等会吧”,心里想:等不怕,方向搞错了才要命。
说上面这段插曲的目的是想告诫大家,如果你有比较明确的方向,比如“我以后一定要做C++/Java方向的开发”,那么一定要强调出来。如果像阿里这样每个面试官都有个方向牌那很容易搞定,如果没有则可以在面试一开始的自我介绍或找其它机会说出来让面试官知道,可能有人认为语言不重要,关键是算法、数据结构、操作系统云云……是的,很多面试官都跟我说过:在以后的工作过程中,语言不重要,重要的是你以后做的东西是不是你感兴趣的,但是我认为语言在面试过程中是有非常大的关系的,如果你是C++方向,那么面试官可能会问你一些虚函数机制、Linux下的内存分配策略、内存管理、常用系统调用等这方面的知识;如果你主攻Java,可能会问集合类区别、可研究过jdk源码、数据库等方面的知识。
因此面试的第一步就是让面试官明确知道你主攻的语言方向(可能也有较好的面试官会在提问之前首先问你懂Java还是C++),如果你两个方向都非常懂并且没有比较偏爱的方向,那就无所谓了。
一面:技术面(大概40 minutes)
半个小时没到,终于给我安排了个Java方向的面试官,这次交流非常愉快。下面的“面”代表面试官。
第一阶段:自我介绍
面: 请简单自我介绍下。
我: 我是XX大学计算机专业的一名XX,我研究生期间的方向是XX,……(方向简单描述)。12年暑期在XX公司实习了4个月,做的是XX(在一所不知名的本地小公司实习过)……(其它重要项目的简述)。另外,自己是名开源积极分子,有,而且今年暑期参加了CSDN举办的开源夏令营活动,做的是……
阶段总结:上面只是我自己当时的一个简单自我介绍,经验不足讲的比较乱,而且忘了讲自己十分热衷技术,平时喜欢写技术博客等事情(有些情况下可以加分呢)。建议大家都定制好自己的版本,讲出自己的亮点。
第二阶段:介绍研究生期间的论文项目,针对介绍提出几个相关的技术问题
面: 好,我看下简历。(然后对着我的简历看了十几秒,指着我的第一个项目)这是你刚说的研究生的论文项目吧(我嗯),那你把这个项目详细说下。
我: 我从项目的选题(为啥要做这个方向)、项目采用的技术、新颖的地方、最终达到的效果(由于我做的是某个算法的性能提高,那么我就会讲速度提高了多少?空间压缩了多少?)这几个方面详细介绍了自己的项目。
下面就是针对我的叙述具体问了几个技术相关点,这没什么好说的,因为每个人做的项目不一样,问的东西也不一样。
阶段总结:其实要求讲的这个项目是用C++写的而不是Java,不过没关系,对于项目而言,语言就不是很重要了,关键是项目的架构、所采用的技术、能达到什么样的效果。面试官选的项目一般要么是简历中项目经验的第一个、要么是有他感兴趣的、要么项目做的时间比较长的,因此建议在写简历时,把你认为最有把握的项目放在第一位(而不是传说中的要按时间倒序来写项目经验),没太大把握的不要写(被抽问到就惨了)。只要你真真正正的吃透了被抽到的项目,那么这个项目提问阶段是完全easy的。
第三阶段:Java方向的知识,包括JVM原理、垃圾回收机制等
面: 你Java学的怎么样?
我: 还可以,有研究过部分JDK源码,比如常用的集合类如HashMap/Hashtable、ArrayList/LinkedList、Vector等,还有Java5之后的并发包JUC如concurrentHashMap、Executor框架、CopyOnWrite容器等。自己很欣赏Java巧妙的垃圾回收机制,看过周志明的《深入理解Java虚拟机》,因此对JVM相关的知识有所掌握……
面: 嗯,学的挺深的,那你把JVM的结构和类加载原理说下。
我: 马上拿起桌上的笔和纸,把虚拟机运行时包含的几个数据区和执行引擎画了下,包括方法区、虚拟机栈、本地方法栈、堆和程序计数器,然后介绍每个区域有什么作用,最后讲ClassLoader的类加载机制,还顺便说了下双亲委派机制。
面: (面试官点头表示满意)你刚刚说Java的GC机制很巧妙,那么它的巧妙之处在哪里?
我: 我从两个方面说下自己的理解:一是Java的内存分配原理与C/C++不同,C/C++每次采用malloc或new申请内存时都要进行brk和mmap等系统调用,而系统调用发生在内核空间,每次都要中断进行切换,这需要一定的开销,而Java虚拟机是先一次性分配一块较大的空间,然后每次new时都在该空间上进行分配和释放,减少了系统调用的次数,节省了一定的开销,这有点类似于内存池的概念;二是有了这块空间过后,如何进行分配和回收就跟GC机制有关了,然后我详细介绍了GC原理、画图表示年轻代(Eden区和Survival区)、年老代、比例分配及为啥要这样分代回收(我认为巧妙就在于这里),有了GC基本结构后,我又详述了下GC是具体如何进行内存分配和垃圾回收的。
面: (面试官一直点头表示对我回答的赞同)嗯,看来你对这块的确掌握了,对了,你说你参加的CSDN开源夏令营项目是阿里的是吧(我点头),这个夏令营是什么情况?
我: 我简单介绍了CSDN举办此次夏令营的目的,顺便说道此次夏令营活动当初有2000多人报名参加,最终只筛选出60多名,自己凭着开题报告和对开源的热爱赢得了导师的青睐得以入选。
面: 你导师是谁?
我: 淘宝的XX。
面: 哦,他啊,我认识呢,他是……(后面就简单闲聊了几句,该阶段结束,面试官让等会儿准备二面)
阶段总结:上面的对话有人看了过后可能会说:好简单啊,问的题目都是你会的,当然能过啦。是的,其实这是有技巧在里面的,就是要想办法“先下手为强”,啥意思?即让自己成为主动摊牌者而不是被动回答者,找机会跟面试官说自己熟练掌握了哪些方面的知识、自己喜欢专研什么等等,就像上面我所做的,一开始摊牌说明自己掌握的知识处在哪些地方,引导面试官去问你想让他问的知识点,这样达到双赢的目的(你爽了,面试官也轻松了,因为他不用老是猜你可能知道哪些东西然后试探性的问你这个会吗那个了解过吗)。
二面:技术面 + HR面(大概1 hour)
一面很轻松的就过了,但是二面就相对而言有些吃力,问的完全是项目相关,而且不是我最熟的研究生期间的论文项目,而是另外两个项目,由于复习不到位,某些地方回答的不完善。
第一阶段:自我介绍,同上
第二阶段:介绍面试官感兴趣的两个项目,一个与推荐系统相关,另一个与Java web相关
面: 介绍下你简历上的这个电影个性化推荐引擎,使用的是哪种推荐算法?
我: 改进的基于用户的协同过滤推荐算法。
面: 那好,那你从项目的基本架构、所使用的算法原理、如何改进的、数据如何处理这几个方面介绍下你的项目吧。
我: 我首先画了下项目的架构图,据此图详细讲了下UserCF的原理及如何使用用户的社交数据和六维理论改进传统的UserCF,并写出了改进后的算法公式。然后又说这个项目的数据多大,代码中采用什么数据结构进行处理的。
面: (介绍原理中提到了利用用户相似性来作为推荐的一个参考,面试官追问)那用户的相似性你怎么算的?
我: (汗,这个有个计算公式,我不太记得了,最后根据自己的理解讲了下余弦相似性的计算方式,公式没写全,面试官问公式里的根号怎么算的,我说直接用Java的库函数)
面: 你这数据哪来的?有几类数据?数据的存储格式是什么?
我: (该项目时间有点久了,前几天只复习了项目的整体架构和算法原理,忘了看具体的数据了,这里只能凭自己的记忆讲了下数据的存储格式,回来后发现自己讲的虽然没错但不够具体)
附:该电影个性化推荐引擎我早已经放到了上面,是自己在老师的指导下做的,纯算法,还比较简单有待于改进。
介绍完了这个项目,马上面试官又看中了另一个Java web相关的项目,马上追问。
面: 嗯,你这个XX系统是用ssh2框架做的,那你对这个框架熟吗?
我: 嗯,当时在公司实习时对ssh的掌握程度只是会使用级别,那时候没时间去研究框架背后的原理。后来有闲暇时间后,我就深入研究了下这几个框架的原理,还看了部分spring的源码,学到了不少知识。
面: 嗯,那你把这三个框架都介绍下。
我: 我开始按自己的理解按Hibernate、Struts、Spring的顺序开始讲,Hibernate讲到它的使用原理及与iBATIS的对比,顺便说了下现在似乎大家更倾向于使用iBATIS、myBATIS这样更加灵活的轻量级框架。struts讲了下它的作用就是“将请求与视图分开”,然后讲述从输入url到使用struts处理的控制流程(struts从tomcat那接管、action处理),然后也说struts现在似乎也不那么倾向于使用因为它有漏洞。最后重点讲了下重头戏Spring,详细讲述了它解耦的功能、AOP原理及自己有利用动态代理简单模拟实现过一个简单的AOP功能、IOC(DI)等。最后说,从web应用层面上看,Hibernate属于持久层,struts属于表示层,而Spring却贯穿所有于所有层(表示层、业务层、持久层),Spring也有自己的MVC模块、web模块及JDBC和DAO模块,只是很少使用,也就是只用一个Spring也是完全可以的。
面: (点头表示肯定)你刚说到struts有漏洞,那么Hibernate是安全的吗?有没有可能发生xss攻击和sql注入攻击?
我: (汗,这个问题真心没想过,对Hibernate的掌握没有Spring那么深,只能硬着头皮按自己的理解回答)这个问题没想过,不过我觉得框架没有绝对的安全,Hibernate是用来操作数据库的,hql语句里也有select、where判断,应该有可能发生sql注入攻击,xss攻击就不太清楚了。(这个回答太糟了)
面试官没说啥,一直在电脑上写着什么东西。这时候旁边的HR终于发话了。
HR: 你本科是哪的?为什么选择考研?
我: 开始说出我的“发家史”,从一所不知名的小二本考到了中科大,……
HR: 那你技术上是怎么学习的?
我: 又从本科说起,本科技术很差,到了研究生期间才真正开始技术上的修炼,……balabala
HR: 你的职业规划是什么?
我: ……(每个人的想法不一样)
HR: 你最大的优势是什么?
我: (自己吹吧,也要根据实际情况看)
阶段总结:再次说明项目的重要性,第一个项目有些记忆模糊,答的有瑕疵,这里要引以为戒(一定要对项目知根知底),第二个项目感觉答的还可以,不过Hibernate安全问题没答出来,我觉得只要你其它问题答的很好,有个别问题答不出来是不会影响最终的offer的。HR面也很重要,你得说通了,需要提前考虑好常见问题的回答。
第三阶段:到你提问了
自由发挥阶段,可以问问公司内部的培养计划、晋升机制、是否经常有大牛分享技术让我们学习等等……
(1)整个面试过程中没让写代码,没问Linux下的一些知识,也没问操作系统、计算机网络相关,我觉得可能是Java面试更倾向于从项目中问相关的技术问题,如果你没项目或项目不多,那么就可能问这些计算机基础知识了。
(2)由于之前内推电面的失败,让我丧失了一些小自信,因此在这次阿里的整体面试过程中还是有些紧张,大家请引以为戒,务必在面试中保持淡定的心态,就当是和朋友在一起交流技术问题。
(3)最后,希望我上面对话形式的面经能够给正在找工作或以后找工作的同学们带来一些借鉴意义,希望你们能够从中看出某些问题的答题技巧和所做的准备工作。
—————
我的微博:@
关于作者:
可能感兴趣的话题
学长啊。。。。。求多多指教
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线前端大神四面砍下阿里前端开发offer
前端大神四面砍下阿里前端开发offer
  摘要:我刚回到宿舍,准备洗澡,快脱完衣服的时候电话响了,急忙跑过去,没有接到,原来是alibaba的,唉,又是猝不及防啊!没接到,不过过了半分钟后又打来了。接到电话,还是前端开发部门的。电话面试二面&&   偏基础的一面   前几天投了alibaba的内推简历,过几天后就有面试官打电话过来了。今天写下这次的面经,攒攒人品。投完简历后,阿里那边是不会提前通知你什么时候面试的,那天我没准备好,我还在午睡就被电话声叫醒了。拿起电话,我看到电话提示是阿里巴巴,我当时懵了,怎么那么快,我都没准备,但是没办法,不能推辞。我先问他能不能5分钟后再打来,他说可以。我准备好后,大约过了7分钟,电话又来了,当时还是那个面试官。   面试官声音o(≧v≦)o~~好棒,一开始当然是自我介绍。我说我大三的,主要是搞前端开发的,说到项目的时候,他打断了我,问了我很多项目相关的。首先是问你你是怎么准备一个项目的,然后你是怎么配合团队完成的,再问了你用了什么技术,有没有难点总结。   我在简历里写了我也做微信公众号的开发,也聊了点这个。   问完项目就问技术了,包括html css js和数据库。主要问了:应届毕业生求职网官方微信号[yjbys_com],订阅最新最全的招聘信息,招聘会微信公众号【rencai_zhaopinhui】   一面问题   1、你对怪异模式的理解   2、你了解hack吗,知道了说下你对hack的运用   3、用了哪些前端框架   4、常用的seo方案   5、对js面向对象的理解,写个简单的类   6、js是怎样定义私有成员的   7、说几个常见的兼容问题   8、数据库问题:一张表table,一个字段createdtime,求最近三十天的记录   还有几个问题我忘记了,最后他给了我些建议后就叫我过几天等结果。   好吧,面试的时候我有点紧张,没准备好,有两个问题没有回答好(js面向对象和数据库的)。   写下这个电话面经攒攒人品吧,希望自己未来继续努力打好基础。一面问的还是很基础的,希望大家准备时不要忘记基础。   较专业的二面   两天后&&&&&&&&&&&&   电话来了,我这次简单写下吧,最近比较忙,问题大家大致懂就好了。   下午5点20,我刚回到宿舍,准备洗澡,快脱完衣服的时候电话响了,急忙跑过去,没有接到,原来是alibaba的,唉,又是猝不及防啊!没接到,不过过了半分钟后又打来了。接到电话,还是前端开发部门的。电话面试二面。   好吧,这次我回答的很差,由于衣服脱得比较剩,天气又很冷,我冻得打哆嗦,又加上有点紧张&&唉,这几天要更加努力了,以下是大致面试官问的问题,问了很多,有些我漏了,大概写下希望看得懂&&   二面问题   1、谈项目   2、所使用关键技术   3、跨域解决方案   4、左右布局方案   5、css3的布局方案   6、dns解析方式   7、输入网址后客户端到服务器哪些变化   8、网页浏览速度慢排查原因   9、html检查工具(HTML Tidy)   10、闭包是什么   11、什么时候用闭包和闭包作用   12、你是怎么用闭包的   13、调试工具   14、如何设置缓存   15、服务器判断缓存时间有效期   16、nodejs的了解   17、团队合作   18、github地址   19、博客地址   20、版本控制工具   21、html5新标签   22、canvas和svg的区别   23、有无论文或者专利   24、了解哪些前端社区   25、ajax解决多任务同时调度解决方案   26、理解jsonp的作用   27、数据库的了解   28、使用插件   29、less和sas   30、移动web中html设置   31、基础数据结构   32、网络协议   最后推荐了面试官他同事写的&&nodejs七天入门应届毕业生YJBYS手机版 m . y j b y s . com,最新招聘信息一手掌握,3g.yjbys.com   这次回答的比较差,能进的概率很小,唉,未来继续努力,攒攒RP&&   复习补充:BFC的理解与应用   意外的三面   很意外还有三面面试。   三面主要是问项目系统架构,一些软件工程类的问题吧,还有就是聊天,问问相关情况&&加油!应届'毕业生网-中国校园招聘第一网站,YJBYS微信号[yjbys_com]   较轻松的四面   HR面,注意说话清晰和礼仪就好,不必紧张。我当时是正在上课,就收到了电话面试,有点没准备,比较紧张。   过了几天,收到录用通知,7月份去杭州。自己终于可以安心点了,加油!!!   感谢小秋小新小佩佳燕等好伙伴的支持和鼓励,还有家人的支持,未来更努力!   一些建议   前端每个人的看法不一样,理解也不一样,我说说我自己的看法。   1、js基础,犀牛书,蝴蝶书,必看。一开始可能不理解,可结合实践再回顾   2、前端性能优化,猫头鹰书,高性能网站构建指南一,二(封面是狗头和鹿头)。   3、css和html,这个我个人的专研程度也不太深,需要你自己去摸索了。   4、http协议的各种细节,例如浏览器缓存如何实现,一次http请求的过程到底发生了什么   5、各种前端的新东西,不光要去了解,还得去看源码实现。例如seajs如何实现模块加载,如何解析模块之间的依赖。angularjs的优势是数据双向绑定,那么双向绑定是如何实现的。jq和zepto的selector如何实现的,事件绑定方法如何实现的   6、web前端安全的原理和实践,可以看看白帽子讲安全这本书   7、各种调试工具:chrome或者ff的调试器,抓包工具,fiddler,httpwatch   8、nodejs,先试着做工具吧,然后用来做web server   先把这些搞清楚,你前端就基本入门了,入门之后,相信也就不需要别人告诉你怎么玩儿了。至于h5,我的建议是先通看一遍,了解有哪些东西,具体的细节可以在需要用到的时候再去查手册。   一路上最重要的是各位伙伴的支持和鼓励,高级中学的伙伴哈哈哈!!!
本文已影响人
行业名企导航
推荐名企讨论区
推荐热门话题转贴:转贴:惊,阿里健康内部培训资料曝光 前端 后端 一览无余! _..._医疗吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:93,373贴子:
转贴:转贴:惊,阿里健康内部培训资料曝光 前端 后端 一览无余! _...收藏
转贴:惊,阿里健康内部培训资料曝光 前端 后端 一览无余! _医药_..._山西胶质瘤资讯吧_百度贴吧来自:
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 阿里前端 的文章

 

随机推荐