|
地下
楼主
|
发表于 2013-9-27 18:27:33
|
只看该作者
干爹是百度(去哪儿网,怒拿offer一枚) 抱歉,最近这段时间有点不想写东西,所以去哪儿网的面筋拖到了今天才更新, 抱歉 没错,去哪儿网的干爹就是百度,百度是幕后的大股东。这几天很火的去哪儿网IPO,你可以去看看,估计直接给百度带来了6亿左右的收入。有了干爹撑腰,当然,福利啊,待遇啊,都是互联网靠前的了(ps:比干爹百度的工资还要高那么点)。先不说去哪儿网发展怎么样,单纯从屌丝没最关注的薪资,福利,果断去哪儿网搞起。 笔试: 去哪儿网的笔试和网易的同一天网上,只不过网易晚上七点,去哪儿晚上八点。本来想把网易的题快速搞定后,直接去去哪儿笔试。结果在网易笔试上多花了些时间所以直接没去了。25号去川大笔试的。在这里,要特别感谢好基友 @luomlk 和他童鞋。幸好基友在那边有童鞋,才得知笔试时间和地点 25号那天早早的就起了,上午去哪儿网笔试,下午网易面试。八点半的校车,直奔川大。到川大,进去教室后没多久就开始笔试了。 去哪儿网的笔试题还是比较简单的,当然,据说清水河的笔试题很难,跟干爹baidu的题目是差不多的。不过全部是编程题。没考操作系统等等之类的。 研发一共三题: 1. 英文题目,给定两个字符串和一个int length, 替换子字符串(大概是这样) 2. 根据给定的两个文件,找出相连的值,描述不太清哈,大概是实现sql语句连接功能。用sql 语句的话,轻松搞定。显然,题目不是要你用数据库,自己实现。 3. 写一段代码,体现你对抽象的理解。 三个题,轻轻松松搞定。后来面试的时候,才知道,还是大意了,马丹,第二题没仔细读题,没实现完整,在此提醒各位,看题一定要看全。做完研发的题目后,反正也不急着回去,顺便把测试和前端的题目都做了,都不难,轻轻松松搞定。 总的来说,去哪儿网的笔试题还算容易。考得知识面也不管,无非就是算法,代码。其它的基本上没涉及。做题的时候看清题目,仔细即可。 一面(技术面): 去哪儿真心高端大气上档次,估计把整个酒店的那一层都给包下来了(擦,网易面试的时候,才两间房)。当然,招聘的人数也就多了,到现在为止,我认识的人中,加上我自己,一共有5个人拿到了去哪儿网的offer,都是同一学院的。不知道其它的人怎么样。估计是发了30+个offer的。 去哪儿网的技术面真心是碉堡,面试的时候,感觉很多问题自己还是专研的不够深。很多时候,面试官一问就KO了,一点思路没有。 以下是还能回想起来的部分面试题目: 1. 详细的问笔试试卷上的上个题目,重新编码实现。 估计是为了防止有人作弊的,问得比较详细。在这里才发现自己第二题居然写错了。一定要看清题。 2. 谈谈你对抽象的理解。 当然,这是笔试题衍生出来的。 3. 详细讲解JAVA Collection framework. 把framwork的类图画上,对应的一个个讲解。搞JAVA的童鞋,再次提醒,JAVA Collection Framework是Java的最经典设计之一。无论用哪种方式,一定要摸清。 4. ConncurrentHashMap 内部实现。 这个,看看源码就知道了。锁分离机制,并发性好的很。 5. ConncurrentHashMap 什么时候加锁,什么时候无需加锁? 看源码,是最好的答案。 6. ConncurrentHashMap实现机制的缺点,怎么改进? .....此处,渣渣本质暴露无遗,真不知道。 7. HashMap 如何调整性能? 看看源码,或者API, 你会发现,有两个值,一个是capacity一个是loadcafe。多看源码,API。 8. HashMap 内部实现机制. 这个不要说吧。看code. 9. valitile 关键字实现。 写并发程序,如果你一概用synchronized搞定,那么你写的程序,开销肯定是坑爹的。看看JAVA虚拟机,就明白了。 10. B树 你去找工作, 那么B树是算是基本的数据结构了。数据库索引的时候常问。 11. 数据库索引问题。 基本上和上一题是搭配出现。 12. B树索引,B+树索引,Hash索引。为什么用B+Tree索引? 看各个数据结构的特点,想想数据库常用功能。就明了。 13. 红黑树 数据结构。 14. 哪些地方有应用红黑树,为啥要用红黑树? 自己google吧。 15. Top k 算法。 网上很多讲解。 16. 说说有哪些排序算法时间复杂度是O(nlogn) 几大排序算法,至少要掌握那么5中左右吧,能熟练些出代码,熟练掌握给个算法的思想。 17. 快排,归并,堆排,各自的有缺点,哪种情况适合用哪种算法。 有点问跪了。排序算法一定要掌握好,十分,非常,很重要。 18. 为什么用Django和MongoDB做某某项目? 自己项目相关的问题,当然是水水就Ok。在这里,还是提醒下各位童鞋。技术不要学多,但是一定要去了解业界的一些通用技术。就算吹吹牛也好。 19. MongoDB内存管理机制,好处和坏处。 玩过MongoDB的哥们可能很清楚,mongod基本上会占了所有内存。想想这是为什么,别人这么设计,肯定是有很多好处的。要不然为啥这么设计。 只能记起这部分题目了。面试大概持续一个小时所有。去哪儿网真心高复帅,清一色的Mac。面完后,面试官就叫出去等一下。一听,知道有戏,到外面等着去了。这时候,外面人比较多了。等了大概十分钟的样子。直接叫去二面了。 总的来说,去哪儿网的一面主要技术点事集中在JAVA语言和JAVA语言的实现上,毕竟,人家就是搞JAVA的嘛。不管你学什么语言,用什么技术,一定要去了解实现机制。不要只满足于应用。你能把一门技术用得很好,但不掌握机制一旦出现问题,你可能就比较难定位了。多看源码是王道。 二面(Boss面): 是Boss还是HR,不是很清楚。不过应该是Boss吧,难不成还有懂技术的HR?(当然,还是有的,阿里那边的HR以前就是coder,掉渣天) 二面的时候,基本上掌握得比较好,估计一共也就面了二十分钟的样子吧,技术的问题不再像一面的时候这么多。还有很多分技术问题。 以下是能回想起来的部分问题: 1. 自我介绍 好像基本上都有。自我介绍很简单,没必要想什么华丽的辞藻,搞技术的,说清,你叫什么,从哪里来,有什么技术,做过哪些项目,有哪些经验,那就Ok. 2. 实习经历 随便扒了扒。 3. 最近在看什么书 选一本你在看的书说说就Ok,估计面试官也没看过 4. JAVA方面你看过哪些书? 哗擦,一说一大堆。随便说说。 5. 你印象最深的是那本书? 当然装B的说了《深入JAVA虚拟机》,以表示自己对JAVA虚拟机很了解。当然,只是水笔一个。 6. 说下JAVA内存回收的几种算法。 很简单的一些小算法,没什么大道理,看看就明白了。 7. 各种垃圾回收算法的优缺点。 既然了解了算法,那特性,肯定是要了解的。 9. B树 又问。自己看看B树在面试题中出现的频率吧。 10. B树和AVL树的比较。 论数据结构的重要性。 11. 红黑树。 擦擦,刚才问过。 12. JAVA集合框架。 不多说。 13. TreeMap 实现。 红黑树。 14. 项目相关的问题 问的比较散,不一一诉说。 想起来的,也就这些问题了。二面还是很easy,轻轻松松搞定直接叫去外面等。还以为有三面,后来才得知,三面其实就是谈offer. 总的来说,二面的很顺利。一面的时候,有些问题,确实是被问出翔二面基本上流畅的很,节奏很好二面一般都是Boss面,各大公司的二面的关注点也大同小异。Boss除了会关注你的技术,同样,还会注重的关注你各方面的能力,你的性格。把握好节奏,基本上也就没啥问题了。 三面(谈offer): 刚开始在外面等的时候,还以为还有一轮面试后来问了下旁边的HR才知道,三面就是谈offer了,屌丝心头一喜,这个offer基本上是拿定了 谈offer,对于我这种屌丝来说,真心不知道怎么谈感觉就像是任由HR宰割的样子想说高点吧,自己又是戳比,说低点吧,感觉有像亏了跟HR谈来谈去,没谈出什么东西最后装逼的说了句。其实吧,我主要关注的是技术,薪资方面,要求也不是太高屌丝默泪啊 总结: 到这,大家应该可以看到面试官问我的主要的技术点虽然有很多题没能再回想起来但总结起来,数据结构,算法这类题目是问得最多的同时原理性的问题,也问的是比较多的在学习过程中,一定要有看源码的习惯,不管是debug,还是copy,还是其它的方式,了解其实现机制,掌握本质,才是这门技术带给你真正有用的东西 关于找工作的一点愚见 从最早的JD,到27号拿到去哪儿网的offer,总共历时半个月。除了网易现在还在等待通知中,校招期间一共面试了四家公司,三家都已经拿到offer。若大网易再给个offer的话, 那面试至少是没跪过的。身为一个水笔,能和各位大神同台竞技,是本屌的荣耀。 相信各位童鞋看完了我在上述公司的面试过程,相信你也明白了各大公司对于招聘技术类的员工的一些基本要求了。斗胆的再总结下,以问答的形式,很多观点可能有偏激,都是个人愚见,不喜欢,请轻喷。 我什么都不会啊,校园招聘的公司招聘人员的技术要求是不是很高? 校招和社招的区别是相差十万八千里的。校园招聘更注重大家对基础知识的掌握程度,以及你个人的可拓展能力。绝大部分学生,对于企业来说,都是白纸一张。企业还需要花大量的时间和精力来培养你。 我应该注重哪些方面的知识? 就像我说过得,算法,数据结构,是最基本的知识。可能算法对于大多数童鞋来说,都是觉得比较烦的。不要求你掌握非常牛逼,复杂的算法。但基本的算法,能分析复杂度,简单的优化算法,这些基本手段还是要有的。这么来说吧,如果把程序员比作一个会武功的人,那么,数据结构和算法那就是程序员的内功了。此外,计算机网络,操作系统,数据库等,都你要掌握得基础知识。 招聘的企业看不看重学习成绩呢? 看个别的公司,有些公司很注重。国企,银行都是不用说的。但绝大部分互联网公司是不会有要求的。不管你是学渣,还是学霸,一样对待。不会因为你C语言考了个90分,就区别 对待。所以,你实在成绩不行的话,那也没必要有过多的担心。当然,你成绩好的话,那也是好事。 我应该多把心思放在技术上还是放在学习上? 鱼和熊掌不可兼得。对于我来说,我只能一次性的顾及以方面,另一方面,自然就有所欠缺。当然,有很多大神还是可以做顾及两方面的。对于找工作的童鞋来说,我想说的是,无论你个人成绩多么好,你技术达不到公司的要求,公司一样不会要你。不鼓励大家为了技术抛弃成绩,但要找一份自己满意的工作。一定要注重技术。当然,这是对找工作的童鞋来说的,对于考研的童鞋,那成绩肯定是要的。能保研,肯定是比考研要轻松的。 校招的时候,语言是不是很重要?我只会C++,不会JAVA怎么办? 一般的企业都会有多个岗位的,都有具体的要求。笔试的时候,要么有多套题,要么尽量不会涉及到语言相关的题目。所以,不需要太当心。不过,强烈建议各位童鞋还是要学好c/c++。 这课程都是大一的基础课,如果能重来,我一定不会在上C语言的时候天天睡大觉。 一般应该熟练掌握几门语言?是不是越多越好? 不是你同时会c,c++,java,python,ruby,等等你就越牛逼。对于大多数童鞋,包括我,都是普通人。掌握以两门那就ok了,对于我而言,只会java和python。所以,不要盲目的去学习很多语言。你如果同时在简历上写上,精通java/c++/python/js。那我估计,面试官会把你鄙视一通。当然,对于大神们,那就另当别论了。 怎么去深入的学习一门技术呢? 仁者见仁,智者见者。对于我来说,无非就是看文档,看源码。文档很重要,技术要点基本都包含在文档中,你看好了文档,那自然就掌握了这么技术。当然,不是叫你去把文档背下来 对于源码的话,那就是对应这门技术的具体实现了,你可以深入的了解原理。 看很多同学都有实习实践的经历,实习是否对找工作有好处? 我很负责任的告诉你,实习对你找工作,肯定是一个加分项。不管你去的是什么公司,是打酱油也好,是天天code也好。我相信你无论是在技术上,还是在其它方面,你都或或或少的学到了点东西。实习,真的对你的帮助很大。在这里,建议大家去实习,烟酒生若果导师同意的话,直接出去就ok,本科生的话,自己抉择吧。你会学到很多你在学校学不到的东西。对于我个人来说,实习半年,收获真的很大。当然,有得必有失。看你怎么去分辨孰轻孰重了。 感觉实习在打酱油,没什么技术含量,是不是要走人?一般实习多久最好? 对于实习生来说,你本身也就技术水平比较低,如果Team 把核心的东西都交到你身上,那出了问题谁来负责?所以,不要去想这些问题,你付出了,那肯定是会有收获的。对于实习多久这个问题,当然是越久越好。至少都要个半年吧。很多东西,不管是业务还是技术,你都要去学的。所以,时间宽裕的话,那肯定是实习越久,收获越大。 除了实习,有哪些活动,哪些实践对于找工作有帮助? 学校有很多优秀的工作室,银杏黄项目之类的。学点技术,交几个朋友,何乐而不为呢。 除了code,还有哪些提升自己的方式? 很多童鞋应该都有个人的Blog,写blog是一个方式。另外常上github, stackoverflow,csdn,关注各类技术帝的blog等等诸多网站,你肯定会受益匪浅的。 小本在和研究生找工作的时候,会不会处于劣势? 研究生找工作的确实很多。对于小本而言,毕竟你只读了四年,烟酒生读了七年。对于研究所之类的,那劣势是肯定的。但对于其它的公司来说,除非岗位有特殊要求,要不然都是一样的。所以说,不要在意你的学历,不管你是本科生,还是烟酒生,用你的实力说话才是王道。 电子神大是不是很牛逼?是神大毕业的,工作应该是随便挑吧? 神大确实是还不错。尤其是在整个电子领域,绝对是非常牛逼的。即使很多东部,北部的可能听都没听过,但确实牛逼。你在找工作的时候,你会发现,技术类的,拿offer的,基本上,都是我们学校的。当然,主要是我们学校找技术类工作的太多了。但基本上的技术公司,你都可以发现神大师兄师姐们的身影。在此,要特别感谢在河畔上还有其它地方,内推,解答等各种方式帮助学弟学妹们找工作的各位师兄师姐。对于后面这个问题,那么,我小打击一下,弱肉强食,是大自然最基本的法则。 是不是拿多个offer的人抢了我的offer? 这个问题,看你怎么看了。中肯的说,你如果没能拿到offer的话,更多的,要从自己身上找原因,也许是因为少了点运气,也许是少了点实力。不管如何,希望大家心里都清楚,找技术类的工作 ,如果你技术达不到公司的要求,公司宁可不要人,也不会要你的。所以,没什么抢offer之谈,摆正好心态。提升自己的实力。 以上这些问题,很都都是我本人在大学生涯,找工作途中碰到的问题,相信各位童鞋也或多或少的碰到了这样的问题。不提倡大家按我说的方式去做,每个人走的路不一样。关键是要学会思考,学会取舍,持之以恒。之所以写出来,是希望给大家一个参考。要走什么路,怎么样去走。希望你读了这篇文章之后,能有所帮助。 写到这里,面试得经验就到此结束了。在这里,要特别感谢一同找工作的基友们,以及各位为师弟师妹们提供解答,内推等帮助的师兄师姐们。最后,不管你在找工作,还是正在找工作,都希望大家毕业了能有个好的去处,能拿到自己的心仪的offer。壮哉,我电子神大! 部分经典书籍: 由于本人是搞JAVA的,部分书都跟JAVA有那么点相关,但也有不跟语言不关的书籍。此外,没建议大家都去读,自己觉得感兴趣的,可以去看看。(ps: 排名不分先后) 《JAVA编程思想》: 一本很好的书籍,不管你是入门还是要深入学习,都是值得一读的。不推荐阅读所有章节,挑自己感兴趣的需要学习的章节阅读。 《深入JAVA虚拟机》: 不是很深奥,但你如果想要了解JAVA虚拟机的话,那可以看看。 《Effective JAVA》: 非常不错,阐述了JAVA的各类编程原则,编写高效代码必看。 《JDK源码》: 当然,这不是一本书,你可以在网上随便下载JDK的源码。学JAVA的童鞋,强烈建议看源码。C++的童鞋的话,对于的那应该是STL的source code了。 《HeadFirst 设计模式》: 一本很好的,关于设计模式的入门级书籍,通俗易懂。 《算法导论》: 必读书籍,基本的算法和数据结构都有。 《浪潮之巅》: 一本讲述IT的历史类的书籍,值得一看。 《大数据时代》: 大数据,新一轮的革命。 《高性能MySQL》: 一本很好的关于mysql的书籍。要深入mysql的话,强烈建议看一看。 《Hadoop权威指南》: 一本不错的Hadoop入门书籍,感兴趣的可以看看。 《Python 标准库》: 学python的人可以看看,很不错的python类书书籍。 《Django 入门指南》: 学Django的童鞋可以看看,要学的话最好还是直接看官方的文档。 《编程之美》: 不用说,确实是一本很好的书。 《剑指offer》: 不建议大家去看程序员面试宝典,没什么用,这是一本很好的书籍。 《MongoDB权威指南》: 入门级的MongoDB书籍,还不错,想学MongoDB的童鞋可以直接去官网看文档。 《Struts2官方文档》: 官方的文档包含了所有的技术,最直接最有效的学习方式。 《Spring的官方文档》: 同上。 《鸟哥的Linux私房菜》: 非常不错的Linux书籍,学linux的童鞋必看。 以上都是一些比较经典的书籍,童鞋们可以挑自己喜欢的书籍看看。除此之外,各种源码,各类技术网站,牛人的blog等都是学习的圣地。当然,搞计算机的,肯定会是不能光看书的,要多coding. |
|