面试集及经验收集

来源:互联网 发布:中国联通网络测速平台 编辑:程序博客网 时间:2024/06/02 20:45

聊聊技术面试 http://mp.weixin.qq.com/s?__biz=MzA5MTA0NjgzMQ==&mid=403675854&idx=1&sn=1315ab77402ea0e9c64c92cfc10f0536&scene=23&srcid=03221SEaJQjeAqwhw3mlHt5U#rd

    面试感悟----一名3年工作经验的程序员应该具备的技能-- http://www.cnblogs.com/xrq730/p/5260294.html

-------------------------------------------------

> 自我介绍和项目经验

   自我介绍?
   先做好自己的工作总结和自我认知,做好这些才有了自我介绍的内容。自我介绍其实不是演讲,是呈现,得先把呈现的内容准备好,而不是太过关注技巧。
  首先有一点特别特别注意:不要标新立异。 你的面试才开始,你的面试官还未跟你开聊,所以你不了解面试官的性格。不要随便打趣,不要开玩笑,不要太活泼,因为有被认为玩世不恭不可靠的风险。
  其次,我最讨厌上来就罗罗嗦嗦地陈述简历的人。礼节性听完以后多半就否了。建议自我介绍内容短小精炼,把”相关经验“一句话说到,对于有亮点的经历最多加两到三句。 
  最后就是,表述时要自然,正常聊天语速即可,记得说的时候要看着面试官,一方面有互动,另一方面可观察到对方表情变化,发现对方对你的什么经历比较感兴趣。

  首先有一点特别特别注意:不要标新立异。 你的面试才开始,你的面试官还未跟你开聊,所以你不了解面试官的性格。不要随便打趣,不要开玩笑,不要太活泼,因为有被认为玩世不恭不可靠的风险。
  其次,我最讨厌上来就罗罗嗦嗦地陈述简历的人。礼节性听完以后多半就否了。建议自我介绍内容短小精炼,把”相关经验“一句话说到,对于有亮点的经历最多加两到三句。
  最后就是,表述时要自然,正常聊天语速即可,记得说的时候要看着面试官,一方面有互动,另一方面可观察到对方表情变化,发现对方对你的什么经历比较感兴趣。

HR从自我介绍中看中什么?
1经验
  这个是直接跟工作岗位做匹配的,直接的工作内容、工作时效和优秀的结果是最有效的,也是最想要听到的。比如:跟岗位匹配的工作了几年,做了哪些项目,有哪些产出好的结果。
  2 技能同上  
  3 系统性逻辑思维能力
  做事有没有系统的分析、思路和方法论,有没有直接看清楚问题核心的能力,这个问题直接决定了一个人的能力和潜力。
做事都是先有条件限制的,好的方法也不是万能的,有经验、会分析才能用好方法和资源。
思路和方法论都是直接体现先进、精准、有效经验和认知的积累。
至于看问题的战略级核心部分,至少经理级别的人才有的。
  4 习惯
  一个优秀的人肯定拥有优秀的习惯,即时是一个爱好或者特长也会玩的特别深入、系统、有自己的见解。
这里碰到好些人说自己有爱好,比如说看电影,然后你问喜欢什么电影,最喜欢的电影,好在哪里,为什么,那个答案简直就是自杀行为,因为往往是一句话、台词,这个一点深度都没有,还不如不说。
 
  通过自我介绍,用具体的案例,来介绍自己的经验、技能,以及做事的逻辑思维能力和优秀的习惯,摆事实、讲道理,无往而不利。 
  不用100%匹配职位,只要把你的优点放大,展现出自己的潜力,工作自然找上你。
 
  一个优秀的人才是用自己的优点和表达来吸引别人的,不是要有什么模板,模板HR都能把耳朵听出来茧子了,反而会 暴露你的稚嫩,简直就是自杀行为。
  有特点、有优点、有脾气、有战略级逻辑思维能力的人才老板都是跪求入职的。
  一面非常看重基础,涉及的内容非常广泛,语言,算法,网络,操作系统。。。
  腾讯主要看中的是三点。第一:学习能力强;第二:有积极性,热爱自己的事业;第三:技术水平。其实第三点是其次,最主要的是前两点。
> 职业的走势:
  第一阶段----三年
我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段
  第二阶段----五年
五年又是区分程序员的第二个门槛。有些人在三年里,除了完成工作,在空余时间基本不会研究别的东西,这些人永远就是个Coder,年纪大一些势必被更年轻的人给顶替;有些人在三年里,除了写代码之外,还热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个Coder逐步走向系统分析师或是架构师,成为项目组中不可或缺的人物
  第三阶段----十年
十年又是另一个门槛了,转行或是继续做一名程序员就在这个节点上。如果在前几年就抱定不转行的思路并且为之努力的话,那么在十年的这个节点上,有些人必然成长为一名对行业有着深入认识、对技术有着深入认识、能从零开始对一个产品进行分析的程序员,这样的人在公司基本担任的都是CTO、技术专家、首席架构师等最关键的职位,这对于自己绝对是一件荣耀的事,当然老板在经济上也绝不会亏待你
 

  项目经验
  面试主要看几点:项目经验+基本技术+个人潜力(也就是值不值得培养)。
  关于项目经验,我认为并发编程网的创始人方腾飞老师讲的一段话非常好:
介绍产品时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统架构或产品搞清楚,并能介绍清楚,为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?
    补充一点,在面试中聊你的项目的时候,有一个问题90%是绕不过的:谈一下你在项目中解决过的比较复杂的问题。这需要在工作中不断去发现和探索,不需要多,在你自己目前的项目中只要你找到一两个能说的问题就行。一个小技巧是,即使问题不是你解决的而是别人解决的,但是你把这个问题弄懂、搞透了,在面试的时候你一样可以把这个问题当作是你自己解决的来说----毕竟,谁来管这个问题当时到底是不是你解决的呢?
   在求职面试时,大多数面试考官会要求应聘者做一个自我介绍,一方面以此了解应聘者的大概情况,另一方面考察应聘者的口才、应变和心理承受、逻辑思维等能力。
   

  面试和简历还有两个重要区别:

   第一,面试是一个双向互动的过程,简历是单方向呈现。有些人可能工作经验很丰富,专业能力很突出,但是面试的经验不足,所以面对面试官叙述吞吞吐吐,抓不住要点。
  第二,简历介绍应是倒叙为好,但面试正相反。当你面向面试官时,应按照时间的顺序从前往后讲,先讲你上大学的教育经历,之后从你参加工作,一直讲到现在,因为面试官要听到你整个成长的经历。否则,面试官会有一种很错乱的感觉。

      总结的四个要求还是很不错:性格 、 经验、 视野 、基础。(权重按照当前顺序划分)
 性格是最重要的,因为这个涉及到方方面面。
 经验堆叠起来的技术是强壮的,能有更多预见性能力,改bug,找问题,组织架构等
 视野还是看人的学习积极性,视野宽阔,在遇到问题和选择技术的时候很有帮助
 基础这个不说啦,决定上层建筑的.

------------------------------------------------

> 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路: http://www.cnblogs.com/figure9/archive/2013/01/09/2853649.html

> HR教你简历中怎么写期望薪资: http://arts.51job.com/arts/05/399158.html

我就是个非常不专业的hR...我想在这里说下我看别人简历的方式,看是否可以给大家提供有用的经验?
  首先,我不会看求职信.没用.
  第二,除了对职位有必要的岗位,例如财务类岗位,我很少看他下面的一大堆证书,没啥用.本科就是本科,在入职后会交材料的.
  第三,我喜欢看他对于他所工作的岗位描述,但是不要复杂.简短,精辟.
  第四,我喜欢对方明确标出期望薪资待遇范围,不喜欢面议,所有岗位我都不喜欢面议,直接就看他的期望薪资范围就OK了,因为我们本身有个度,这个岗位的工资介于多少钱之间.
  第五,时间点希望描述清楚,别摆乌龙.有的人简历,从1997年9月到至今,都在什么大学念什么专业,大哥,咱认真点成不?

----------------------------------------------------

  面试心经:http://www.codeceo.com/article/android-5-years-interviews.html
这次看机会我将所有公司分为三类:
1. A类: BAT公司,非常靠谱,各项待遇都是很优厚的
2. B类:一些知名的互联网公司(基本都在C轮以上),基本很靠谱,该有的都少不了
3. C类:就是那些正在招聘的公司,没啥名气,虽然钱多但是事也多。靠不靠谱真还不知道,只能碰运气

C类】【】【】【】【】【】【】【】
  《孙子兵法》的一句:“求其上,得其中;求其中,得其下,求其下,必败。”
这个想法来源于在K 公司我第一任leader曾经跟我说过的话:『对于新东西,如果你觉得掌握了,但是不应用到项目里面来,是没有什么意义的,时间长了还是会忘记的。』

  『你了解过Android上的黑科技么?比如Android 5.0 之上有一个辅助功能,如果用户开启后,就能像豌豆荚那样自动安装app,等同于拥有了root权限,但是手机重启后,这个就自动关闭了,有没有办法可以自动打开呢?』据他了解,有很多不知名的小App 都实现了,但是很多大公司都没用。--> 那些小App, 都是开启了一个进程(或者是service,具体记不清了,有兴趣的童鞋可以试试)来守护,因此能够开启。--可能会导致耗电量增加啊.

  职业规划,平时有什么兴趣爱好,以后有什么打算,薪资要多少?我说到公司后可以先接触一些业务层面的东西,然后慢慢再走架构路线,之后可以负责主要核心模块。平时就看看书,参加沙龙活动,没事打打游戏。以后还是要像架构师方向进发的,一个合理的期望薪资。

-------------

   一个五年Android 开发者百度、阿里、聚美、映客的面试心经-http://blog.csdn.net/jdsjlzx/article/details/51860422
  ListView 的实现原理?   Java 的内存管理?  推送,怎么实现?  偏底层的东西以及性能优化的地方?   Java 层面的东西,多态,抽象类,多线程,内存管理等?  Android 基础和 Java 基础以及内存管理?
  Service 上能不能弹出对话框?:1.必须在 Manifest 里面注册系统权限
2.在显示 dialog 的时候必须要加一个 flag.
我的理由是:系统对话框可以在低电量的时候弹出对话框,我们同样也可以采用该方式来实现。


  问了一些基本的Android基础,然后问了一下 Android的绘图原理,我说: onMeasure, onLayout, onDraw。 然后他说每一个什么作用? 那个onMeasuer主要做什么的?并举了一个例子:一个自定义的滚动View A里面如何放另外一个滚动的View B?我说把 View B将 onMeasure 里面的高设置成最大,这样就能解决冲突问题。最后他简单说了一些 onMeasure 里面的几个参数,我对此加深了解了。

  问我一些工作经历,然后问问职业发展规划,平时的兴趣爱好,以及你觉得你和其他人有什么优势。我挺好奇的,为什么最后的这些面试官都要问类似的问题,之后从一个关系还不错的猎头那里了解到,其实他们也就是了解下以后的动向,以及看看这个人的人品。

  关于优势我是这么说的:我说到公司后可以先接触一些业务层面的东西,然后慢慢再走架构路线,之后可以负责主要核心模块。
  再来复试的时候,这个大美女HR给我了一些建议,说这个CTO是阿里出来的,喜欢会说话的人,想到什么就说什么,别紧张。在这面的时候,我就很放松,该怎么说就怎说,他也问了一些职业发展规划
  问了我一些基础的面试题,比如:View 的事件分发机制,View的绘图,ListView 的实现原理(这个应该是几年前面试的时候经常问题,没想到现在也能遇见)。
 >二分法 『你来说说 Java 的内存管理。』
  我心想上面两个公司的 offer 基本感觉到手了,这个可以适当的要高点,能给就来,给不了那就算了(我事后想想才明白,这种2B 的想法绝对不能有,要时刻保持低调,把握住任何一次机会)。
  因此奉劝各位,要时刻保持低调,谦虚谨慎,莫要装B,否则肯定遭雷劈,我这就是一个活生生的例子。

B类】【】【】【】【】【】【】【】
  Android 的面试题, Java 内存管理,聊人生理想,提到一些 Android系统原理性的东西
  多看看例如 handler 原理,windowManager 的东西,并且从源码上去分析,网络上的理论知识还是要结合实践的。
  推送,怎么实现,已经存活情况说了一些。发展前景,要做海外产品。跟我谈薪资以及经历。
  静态变量引用了 Activity 的上下文,然后指出,他再问了一些偏底层的东西以及性能优化的地方。很多 Java 层面的东西,多态,抽象类,多线程,内存管理等等。
  问了工作经历上的事情以及兴趣爱好,之后的发展方向,想做什么层面的。
  提及到 Volatile 的作用。项目中有没有比较 NB 或者比较有亮点的地方。
  不知道的话,可以说说思路和想法,然后说说以后会怎么做,利用迂回包抄策略去应答,准没错。至少给面试官知道你还是可以动脑子的人。
  在此我真心后悔当时的冲动,只需在面试的时候尽力表现自我就可以,以后切莫带着情绪去看待或者回答问题。
  『咱们先来谈谈 Android 的四大组件。』我彻底懵逼了,尼玛,跟我谈四大组件,有意思么? 没想到一直到最后都跟我谈这些,一个接一个的问。说到广播那块,关于一个 app 被杀掉进程后,是否还能收到广播的问题纠结了好久。


  为什么选择K 公司的时候,我都会自豪的说:『我的老大很不错,我在那里很很舒服,很开心』。
  在K 公司的时候,老大一直鼓励我创新,遇到想做的就去做,所以一路下来,虽然很累,但是干的很开心。『你要时刻反思自己此刻是不是已经被别人洗脑了。』

A类】【】【】【】【】【】【】【】【】【】
我们简单聊了下 Android技术,其中有两点有必要提下:
  其中一点是:说说 View 的事件分发机制。然后我就说了好多,从 WindowManager->window->Decorview->子 view。最后我说当所有的 view 都不处理事件,事件会最后会传递到 Activity 的 onTouchEvent 上。然后面试官立刻说:『哈?你这是颠覆我的三观啊?』 然后我意识到可能有问题,但是记得 《Android 艺术开发探索》上确实写过到 Activity,但是不是到 onTouchEvent还真没底。面试官很自信的样子,让我颤抖了。但是随着我的坚信,面试官说:『不行,我不能冤枉你是不!』立刻在手边的 MBP 上看了一下,自言自语感叹道:『还真有啊!』 我顿时无语了。
  另外一点是:问我 Service 上能不能弹出对话框。对于这个问题,我印象最深刻了,记得一年前的时候,在另外一个公司就因为这个问题让我尴尬万分,回去后专门对这块进行补充。我的回答是可以的,但是面试官面带差异的表情告诉我这是不行的,Dialog 必须要依附于 Window 才能显示出来。然后我的解释会让面试官郁闷一会:我说这个是可以弹出的,我之前也专门试过,不过他弹出是有条件的。 条件是:
必须在 Manifest 里面注册系统权限在显示 dialog 的时候必须要加一个 flag. 我的理由是:系统对话框可以在低电量的时候弹出对话框,我们同样也可以采用该方式来实现。
  面试官语塞,然后给我说 Dialog 是必须要依附在 Window 上,Toast 其实也是一个 Window。我听着这些话,就想起以前看过的一篇文章上也确实是这么说的。估计该面试官回去要好好补充下一些知识了哦。 

  然后该面试官让我不能用 Arraylist,用数组 写一个队列。这块刚好我在之前项目中特意用了一下,写的时候,主要有三个方法: put(), get(),peek(). 然后考虑下队列的特性,一端进入,一端出去。我当时遇到了盲点,没怎么写完,最后给面试官说了下思路,大体是对的。但是关于选择位置那块没怎么想好。
  从动画实现原理,到 handler 实现原理,一步步深入各种原理,当我感觉回答的不错的时候,然后他就顺着我的问题继续深入。我只能说我尽力了,有些东西,平时开发的时候真心不注意,但是就因为没有留意 
  
  有时间多看看原理性的东西,最好整理一个自己的博客。写上自己的一些看法和感悟,这样记得最深刻。即使几年后也不会遗忘,如果只是看看别人总结的东西,也许有一天你就会模糊。
  基础的 Java 问题。 面试前必须要刷题,虽然简单,但是不失为一种方法,虽然不一定有用,但是会加深印象,尤其是去 BAT 这些公司,一定要准备好,否则就别浪费机会,这就是我的教训和经验。

  一些 Android 基础和 Java 基础以及内存管理。问了一些经历和基本情况后,问我薪资要多少以及之后的发展方向。我说要合适的薪资,之后希望在架构方面发展,但是也可以从业务开始。
  很多面试后我总结出了结论就是要薪资太高了。
  看见他要主动加我微信,但是我想可能只是安慰的话语,最多告诉我,我不适合他们的职位,因此我为了避免尴尬,直接删除那个加我好友的请求(如果说真的合适的话,应该会很重视你的,不可能好几天都回复,怎么有一种备胎的感觉,呜呜呜,我不想被发好人卡,宁愿做高傲的兔子,也不想做纸老虎,虽然尽管只是纸老虎,但是也会拥有属于它的一片森林)。可能我的做法太极端了,以后希望大家不要这样想,或许多了一条人脉。
  于是阿里的这次机会就失去了。总结后的结论就是:去大公司要的薪资不要太高,否则对方只能感谢你的到来,因为比你优秀的人太多了。
  问我是否有意见,我当然没意见了,这是很标准的面试流程(如果你有意见,建议还是别说太多的话,基本都这样的,要淡定)。

  一面技术给我一种很成熟的感觉,开始问了我一些基础技术问题,外加 Java 内存管理知识。后给我出了一道算法题,说有一个数组最多存储6个数,如果有普通用户的话,存储四个 vip的客户,另外两个是普通用户(留出一定的空间给普通用户),让考虑全面点(一般都是结合实际场景,让你写出一个算法,要具备的能力就是抽象,处理问题的思路与细节,还有最基本的编码功底)。
  然后等第二轮的面试,看起来更成熟,但是说话有一种很亲近的感觉。问了基本情况,然后拿出他们的 app 让我看看首页的实现效果,说说怎么实现的。对于这种情况,基本就是考察你的抽象能力,以及分析问题的能力。我先说出使用 ListView 的 header,footview,然后使用 ListView 的 type 来实现。然后简单说了一些性能优化的东西,该面试官提出我的做法可能会存在性能瓶颈。
  其实他说出这块是在指导我说这块会有问题,我当然明白他的意思,于是说这块采用 RecyclerView + Fresco 来实现,可以有效的改善问题(其实提到这些,就说明你看过很多新技术了,有时间最好还是要自己练练这些东西,毕竟孰能生巧)。

------------
  第一轮
  一般情况下第一轮都是基础面试,需要扎实的基础
最常用的Android 基础知识
Java 基础知识
了解一些 常用东西的原理,例如:handler, tHRead 等
项目中的技术点
   第二轮的时候需要了解更深层次的东西
Android 事件分发机制原理
Android 绘图机制原理
WindowManager 的相关知识
进程间传输方式
Java 内存管理机制
一些常用的 list,map 原理,以及子类之间的差别
能进入第三轮基本没什么问题,但是要注意以下问题
  该轮一般是 老大或者部门负责人,问的问题一般都看 深度与广度
当问及薪水的时候,要说一个合适的,小公司随意,大公司一定要慎重,当心里没底的时候,可以告诉对方,让对方给一个合理的薪资。一般都是在原工资基础之上增长,听猎头说一般涨幅都在15%-30%,超 NB 的可以要30%及以上,如果感觉自己还不错的,挺厉害的,建议最高20%,一般人就定在15% 左右最靠谱。公司内部一般有一套机制,根据公司情况而定。
我们的面试原则就是拿到合理薪资,得到 offer
  个人发展情况,这个问题很难回答,如果和公司方向不符合,极有可能和公司无缘。建议多试探性的问问公司缺少什么,你能否给予公司对应的东西。当然对于有自我追求的人,那可以放心大胆的提。我的方向就是架构师,哈哈哈,挺极端的,别学我哦。我感觉选择都是双向的,因此我知道自己需要的是什么。
你最擅长什么UI 还是其他什么?这个问题更不好回答。你要说你擅长 UI,是不是意味着你其他能力就不行?虽然我不知道面试官的用意,但是我能感觉到,这个问题不是那么好回答,我会回答说自己都行,来什么业务接什么需求。可能回答不太好,总之和公司的职位吻合就行,这样总不至于出错吧。
-------------------------------------------

  目前楼主已经拿到阿里实习offer,一共经历了5次面试,其中4轮技术面,1HR面试。在这里分享一下自己的面试经验和学习总结。写这篇面经主要是希望能够帮助更多的小伙伴。我本科毕业于中南大学信管专业,真正开始学习Java是在大三下学期,研究生就读北航的移动云计算专业。刚开始也是小白,也是一步步成成起来的。希望能够给与我有相同经历的亲们一个参考。需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好,摆正心态和位置,那么就开始努力吧!!

 

>> 阿里一面 

一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。中间面的问题有些记不清了,下面列出了一面问到的问题:

 

1. 自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟)

2. 你感觉比本科阶段自己进步了多少,有哪些进步

3. 研究生期间最大的进步是什么

4. 你觉得你适合从事哪个方向的开发

5. synchronizedlock的区别,使用场景。看过synchronized的源码没

6. JVM自动内存管理,Minor GCFull GC的触发机制

7. 了解过JVM调优没,基本思路是什么

8. 如何设计存储海量数据的存储系统

9. 缓存的实现原理,设计缓存要注意什么

10. 淘宝热门商品信息在JVM哪个内存区域

11. 操作系统的页式存储

12. volatile关键字的如何保证内存可见性

13. happen-before原则

14. Lucene全文搜索的原理

15. 你觉得自己适合哪方面的开发,为什么

16. 想去哪里实习,杭州?

17. 评价一下我的这次面试表现

18. 应该在我的技术栈中增加什么

19. 有机会下次面试吗

    一面总结: 一面大概面了50多分钟,从面试官口中得知他是一个老员工,比我大不了多少,总体上还是聊得蛮投机的。最后的三个问题是我问面试官的,在回答我是否还有机会下次面试的时候说:竞争很激烈,不过机会还是有的。听到这才松了口气,在挂完电话后赶紧区官网查看自己的状态,刚开始出现了结果将在xxx后公布,那叫一个紧张啊,等了几分钟后,简历状态显示在面试中,这才松了口气。

 

可以看出一面的问题不是很难,但是要得到面试官比较高的评价(后面听我同学说,我的面试表现是A),还是需要一定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。我回答问题的遵循一定的步骤:先回答问题本质,在回答具体细节,最后做一些平时编程中的扩展。这样,会让面试官觉得你确实是在这个技术上面下过功夫的。

 

>>> 阿里二面 

    等了将近6天(还以为被刷了呢)终于在第二周的周四接到阿里面试电话,那叫一个激动啊。赶紧找了一个安静的地方,准备好后开始正式面试。二面的面试官是一个部门主管,自然还是有点小紧张的。这次面试官上来就直接问,没有一面的面试官那么好说话,下面是面试过程中的问题:

 

1. 自我介绍下自己,不超过3分钟(我的自我介绍仍然不超过1分钟,呵呵了)

2. 你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别(果然深度不一样)

3. 如何保证内存可见性

4. Http请求的过程与原理

5. TCP连接的特点

6. TCP连接如何保证安全可靠的

7. 为什么TCP连接需要三次握手,两次不可以吗,为什么

8. AOP的原理

9. 动态代理与cglib实现的区别(这个,醉得很厉害)

10. 那么你说说代理的实现原理呗

11. 看过Spring源码没,说说Ioc容器的加载过程吧

12. 了解过字节码的编译过程吗(这个还真不知道)

13. 可以来杭州实习吗

14. 评价一下我的面试表现

15. 有机会下次面试吗

16.您觉得我的技术栈应该补充什么,有哪些方面还需要提高

    二面总结: 二面面试官问的问题都比较直接,答案也是知道就知道,不知道就不知道。这些问题一部分是基础一部分是根据你的专业技能的来提问的。面完后面试官对我的评价是:中规中矩,有机会下次面试。虽说是中规中矩,但听到面试官说有机会下次面试就感觉这次面试应该过了。挂完电话后赶紧登陆查看我的简历状态,刚开始仍然显示在面试中,但是有一点困惑的是:为什么这次没有出现结果待公布的页面呢?又一阵担心,上课也心不在焉,终于在晚上7点多的时候显示了结果待公布的页面,然后心跳又开始开速,过了几分钟看到终于显示在面试中才放松一点。

 

    虽说这次面试过了,但是我在思考的是为什么面试官对我的表现是中规中矩。后面我知道我的回答虽然答到了点子上,但是扩展程度不够,对一些问题的理解缺乏足够的实践经验。面试官告诉我,有时间可以去研究字节码的编译过程,以及JVM调优方面的知识(特别强调这个很重要)。针对自己的不足,面完后又投入疯狂的看书写代码的生活中。虽然在面试中有一些回答不出来很正常,但是如果能够做到出乎面试官的意料,也是面试官对你很重要的加分项。

 

>>> 阿里三面(总监面) 

    三面与二面隔了5天(不知道是不是因为二面面试官对我的评价是中规中矩的缘故,中间一直担心自己被刷了),仍然在下午4点多接到的电话,一看显示来电归属地是阿里巴巴集团,兴奋得不行,找了一个安静的地方开始面试。据说总监面会问项目多一点,所以在等待的这几天中给项目增加了几个比较肉的点,好在能够面试官耍耍(现在想来只能说:too young too simple)。总监刚上来非常不客气,最尴尬的是总监那边老感觉有回声,因为不好意思提就忍了。下面是三面遇到的问题:

 

1. 自我介绍,不超过3分钟(这次好像时间更久了,也就2分钟多点)

2. 说一下你对哪个项目比较熟悉

3. 为什么做这个项目

4. 项目采用了什么架构,数据库如何设计的

5. 数据库由哪些表,为什么有这些表

6. 主要有哪些核心模块,模块之间如何通信的

7. session放在哪里

8. 如何保存会话状态,有哪些方式、区别如何

9. 分布式session如何管理,你有哪些方案

10. 学过数据结构和算法吗(当然),你说说二分搜索的过程

11. 说一下快排的过程,写一下伪代码

12. 了解哪设计模式,举例说说在jdk源码哪些用到了你说的设计模式

13. 你有什么问我吗(仍然上面三个问题)

    三面总结:本以为三面是交叉面,没想到是阿里的总监面试。由于具体的技术问题在前两轮面试中已经问过了,所以三面后不会有具体的技术问题,总结来看,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。针对项目,面试官关注的无非以下几点: 

    项目中某个比较重要的点是如何实现的(需要深入技术的原理) 

    遇到的最大困难是什么(有哪些),你怎么解决的? 

    如果需要扩展某个功能,如何降低系统的耦合度 

    如果针对某个功能进行优化,你会怎么设计和优化

 

    对于写在简历上面的项目,自己对照上面四个问题进行思考,才会在面试中游刃有余。因为任何在简历中作假的行为,面试官只要详细问你就露馅了。在听到面试官说有机会下次面试的时候,心中自然是非常高兴的。挂完电话后区官网查看自己的简历状态,经过几分钟的煎熬后终于仍然显示是面试中才稍稍放松一些。本以为这次总监面试后直接就是HR面了,奈何在晚上阿里打电话说明天部门总监还需要进行一次面试,让我做好准备。我也是醉了,不是已经总监面了吗。虽然存有疑虑,但不管如何还是好好准备。

 

>>> 阿里四面 (总监面) 

    果然,在第二天下午四点多接到了部门总监的电话,简单沟通后开始了面试。这次面试感觉是最放松的,没有什么高深的技术问题,感觉就像和朋友聊天的感觉,真的很感谢这位面试官。下面是面试中的问到的问题:

 

1. 来个自我介绍呗,不超过3分钟(这次终于由三分钟了,⊙﹏⊙b汗)

2. 介绍下你最熟悉的项目

3. 项目使用了什么架构,亮点是什么

4. 平时主要学习什么课程

5. 你目前的研究方向是什么

6. 家是哪的

7. 喜欢看什么书

8. 大概什么时候能来实习呢

9. 你有什么想要问我吗(仍然上面三个问题)

    四面总结: 虽然这面比较轻松,也没有什么具体的技术问题,但对项目仍然是面试官关注的,后面了解到总监面除了看你的基础,主要看你的潜力(就是有没有培养的价值),这个东西看起来挺虚的,但是从你平时的学习中仍然是可以看得出来的。所以,作为一名开发人员,平时对技术的研究也是很重要的。在听到面试官说让我好好等HR通知的时候可开心了,感觉饭都吃得更香了。

 

>> 阿里五面(HR面) 

    在隔了4天左右,终于接到了HR的电话,那叫一个激动啊。感觉离阿里offer已经不远了,于是振奋精神,聊得还不错。下面是HR问我的问题: 

1. 自我介绍下吧 

2. 做了哪些项目 

3. 看你在问题中说你在杭州看到很多商贩使用付款二维码,你对支付宝怎么看 

4. 你看吧,每天有那么多人使用支付宝,这些数据如果给你存储,你会怎么设计呢(不是说HR不问技术问题吗?不愧是阿里的HR) 

5. 为什么想来支付宝实习呢 

6. 你身边同学如何评价你、老师呢 

7. 如果与同事发生了意见的不一致,你会如何解决呢 

8. 我什么时候能够得到通知呢 

9. 评价下我的面试表现(听到这个问题,HR居然笑了!) 

10. 阿里如何对实习生进行培训

 

   五面总结: 虽然之前就听说阿里HR很犀利,不过我感觉一点都不会啊。难道是我的错觉?不得不说的是这个HR的声音真的很好听诶。

 

关于HR面试

    其实早就听说把面试的最终的录取结果具有一票否决权,在面完前面的技术面试之后,还是很担心的。所以咨询了师兄以及网上找了阿里HR面试的资料,大概得到以下结论:

 

    诚信至上,所以在简历中不要存在任何虚假信息,企图通过虚假信息得到面试机会的后果得不偿失

  HR更关注你的表达能力、与同事相处的能力以及对工作的态度

  对自己的是否一个明确的职业规划(前提是首先得对自己有一个清晰的定位)

  关于待遇的问题(由于面的实习岗位,所以这个没有提,但是就我而言,能力才是最重要的,能力上来了待遇自然就水涨船高)

  关于面试的心态

 

    在自己拿到阿里offer之前,一直都在想一个问题:我到底该如何做才能离阿里更近?一年的成长与思考让我认清了这点,虽然中间也遇到过很多坑,但却真正让我对自己有了一个清晰的定位,也有了比较明确的目标。正因为如此,我每天所学习的都给我莫大的动力,让我不断进步,并最终实现自己的目标。所以迷茫才是最可怕的,只有摆正心态,对找工作保持十二分的热情,勤奋努力,才能离目标更近一步。

 

    但是有了目标和努力外,不一定就能实现目标,说到底还有一个运气的成分在里面,只能说你找到心仪的工作概率更大而已。遇到一个好的面试官绝对赚了。这四位阿里的面试官我感觉都挺好的,没有因为他们资历深就为难我,所以还是非常感谢这四位技术面试官的。

  

  转载地址暂时没找到了。。。。

0 0
原创粉丝点击