腾讯、百度、阿里面试经验—(2)百度面经

  接上篇,刚加入腾讯的日子仍是很happy的,第一个项目就是独立开发一个抽奖营销项目,以后跟一个技术很厉害又有想法的前端牛人一块儿负责比较重要的项目,固然是他带我(当时的目标就是超越他,惋惜到如今还没实现。大牛当年教育我说,新人刚参加工做这几年回家以后不要玩,要多学习这样才能成长的快,当时我还不觉得然;如今想一想真是金玉良言啊)。 在10年末的时候获得了一个机会去负责全新的领域iOS开发和 Android开发,由于我我的对前端技术(JavaScript等)不怎么感冒,仍是比较喜欢作编译型语言的开发工做。当时组里的几个大牛对终端兴趣不大,老板就把这个光荣而又艰巨的任务交给了我。前端

  通过11年一年的艰苦奋战,本人和另外一个一块儿入职的兄弟从无到有分别开发了iOS和Android两个应用(iOS是咱们一块儿开发的,android是我本身开发的)。虽然如今看来当时的成果不算什么,但当时是在没有什么资料和经验的状况下摸索出来的,仍是至关的不易。惋惜当时的领导以为咱们作的并很差,一年下来才弄出这么个小东西,这是他的原话。年末的时候基本上一天被领导当着全组的面骂一次,这个领导是新领导,不是当年面试个人那个领导了。当时也是年轻不敢顶撞领导,可是不爽和负面情绪确定是有的。因此开启了离职找工做的程序。android

  12年初的时候被猎头推荐去北京的一家公司,后来才知道就是大名鼎鼎的百度。由于自信心爆棚,牛逼哼哼就去了。结果就是兵败莫斯科。被大大的打击了一顿。c++

  百度面试跟腾讯彻底不一样,百度面试很是重视技术、重视应聘者的基本功、算法、数据结构、C++、操做系统、面向对象、软件体系结构、系统设计和模块划分上的能力,能够说锱铢必较。这些东西在大学的时候本人能够说驾轻就熟,可是面试的时候基本上一问三不知,连我本身都以为很差意思。印象比较深入的几个题。ObjC基础,这个就不说了,干了1年iOS开发的都会;响应者链是什么和原理,没答上;堆栈;进程调度;查找算法、排序算法;面向对象设计的原则;移动应用安全;c++指针运算,如何把一个数存到0x00这个位置。iOS性能调优。画出你的项目的模块图。不少都没答上来,面试官很nice说多是太长时间没用了忘记了,机制没回答上来就问我你不知道机制不要紧你能够提出本身的见解,猜他是怎么实现的,答对了同样有分。算是帮我挽回了点面子。程序员

  此次面试失败对个人打击很是大,由于面试的内容并不难。想了一宿,其实加入腾讯只职业生涯的一个起点而已,并不表明你比别人优秀多少,不少比你更优秀的人没进来可能只是运气没你好而已。职业生涯跟长跑差很少,一开始你比别人领先一点,只要稍微放松,立刻就会有比你更努力的人追上并超过你,不一样的是,长跑更容易发现本身已经落后了,而职场上等你发现的时候可能已经晚了。程序员跟赛车手差很少,不是说你天天开车你的驾驶技术就能成为职业赛车手,而是必须通过专业的训练,有针对性的训练;同理不是你写了几万行代码你就是个技术专家,必须通过刻苦的学习才行。面试

  本人的缺点是容易忘乎所以,优势是越挫越勇。通过此次打击,天天最少用4个小时的时间学习iOS各类机制、数据结构、重拾C++。疯狂写代码,每个月5000行编码量,用了1个月时间重构了2w行代码。到了七、8月份的时候感受功夫已经到位了,就决定再找公司练练手,检验下这个阶段的学习成果。算法

  此次猎头又给我推荐到了百度,去的是深圳百度分公司。感受到百度好像很缺人,由于周一提交的简历周三就让我去面试了,百度筛选简历出了名的慢。一面仍是上回那些,难度加了些问了写内存管理、线程调优的内存。小case,早就在我掌控之中。问了些Core Data、数据存储的内存,问了下闭包block和block在内存中位置,同函数指针的区别。一面进行了一个多小时。完过后让我等一下,看起来这把有戏。设计模式

  二面仍是技术面,难度感受比一面没高多少,由于考察的都是面向对象、设计模式上的内容,呵呵,这个对我来讲太简单了,本人最大的爱好就是研究各类设计模式和软件体系结构。问了下个人项目中的体系结构,问了下MVC的优劣,若是设计松耦合的模块,组件化模块化的之类的。安全

  三面主要是精神层次的, 问下将来的职业规划,iOS和Android的差别性。你为何不继续作前端转作iOS,如何看待iOS的生态系统。问为何想跳槽,我回答说想专一iOS,如今腾讯让我又搞iOS又搞Android,又搞联调有点杂。最后问有没有什么要问他的。其实本人当时根本没有过档的打算因此说没有。接着hr面,这个时候已经很晚了,云了三个多小时,也不给一口水,有点小不爽。Hr面带着情绪面的,看在妹子挺可爱的份上控制了本身的坏脾气,hr可能也感受到了个人抵触情绪,草草收场让回去等消息了。数据结构

  四轮面试都要自我介绍,说的我都有点恶心了,感受像失足介绍本身来自哪,等客人挑选。人格魅力感受都不如腾讯的组长。闭包

  过了三天接到电话,问我这边的意愿,工资又远远高于的预期(本人就是这么鼠目寸光,老婆骂了我好屡次)。当时身上有个很重要的公司级的项目,又以为对不起腾讯的知遇之恩(由于这个老婆埋怨了我不少次),就拒绝了。

  可是对本身开发能力的训练机制算是稳定了下来,仍是有收获的,基本上天天都自学到10点11点。后来易迅(易迅被腾讯收购其实就是腾讯的一个部门)的总监让我过去作iOS易迅客户端,承诺说办手续最多3个月。虽然机会很诱人,可是为了报恩也好,责任感也好依然拒绝了。

      其实公司和我的之间本质上讲就是商业关系没什么恩义,公司培养一我的也不是为了这我的的发展仍是为了本身。business just business,跟感情混为一谈吃亏的仍是本身。放弃了这两个机会以后,半年后本人经历了职业生涯中到目前为止最大的危机。若是人有预知能力就不会有那么多苦恼了。

  整体上感受百度的面试要比腾讯容易些,由于腾讯注重的是软实力,也就是说天赋,知识、技能、经验均可之后天培养,可是天赋是天生的无法后天锻炼,只能经过努力拉近差距无法逾越。不过2011年后腾讯大扩张(不到一年狂招1w多人),招聘的门槛也没有那么高了。而百度更注重计算机技术和科学,这些东西经过努力均可以得到。

        郑重声明:本人只是参加过以上几家公司一两个部门的面试,一个公司不一样部门的面试风格是不同的,每位面试官的风格也是不一样的,因此本人的观点是很是片面的。彻底是我的的感悟和心路历程,不承担任何法律责任。