找工的95天 昨天终于签了,找工的彷徨,找工的烦恼,找工的辛酸,找工偶尔的惊喜,找工不断的失落,找工的一切的一切,从今终于结束。很庆幸自己找到了一份自己非常满意的工作,希望众兄弟姐妹能够早点找到自己理想的工作。 (一)我的未来在哪里? 今年的七月,我开始考虑自己未来的出路,我仔细的分析了一下自己的情况,我是02电工a的一男生,估计没几个人知道我的名字,并不是我不优秀,也并不是我不想优秀,实在是我不喜欢自己的专业,实在是我在自己学的专业上优秀不起来。信工的都知道电工是半硬半软中以硬为主的一个专业,而我恰恰特不喜欢硬件,不喜欢拿焊执钳,不喜欢敲来敲去。所以我的专业成绩基本上很烂,虽然没有挂过必修课,但选修课挂的我都不知道有多少课了。 工作是不可能再选在硬件上发展了,理由有下: 1,我不喜欢硬件,做自己不喜欢做的事情是非常痛苦的,清楚的记得曾 经为了过那些专业课,比如通信原理,模电,不得不耐着性子去上 课,不得不“借”同学的作业抄一遍再交上去--我甚至连抄作业交 作业的事情都不想做,不因为别的,就因为我抄的东西实在吸引不了 我的兴趣。每过一门课,我没有过的喜悦,有的是无尽的痛苦。选择 电工这个专业我学到的唯一有用的东西就是:做自己不喜欢做的事, 世界上最痛苦的事情也莫过如此; 2,这样的学习效果很明显,我的专业成绩可想而知,大部分都是C,D; 成绩不行,要掌握的东西我基本上没任何概念,那些课都是混过来的 我知道要想以这样的情况去找一份和本专业相关的工作基本比登天还 难。即使找到了我估计做不了,没那金刚钻,揽不了瓷器活; 这两点理由足以让我彻底断绝了要找与本专业相关的工作。那我该做些什么呢?我手中唯一还值点小钱的东西就是那两张“CET”证书了和一张高数竞赛三等奖的破证书了,学习成绩单是永远拿不出去的。我的兴趣是数学,是逻辑推理。现在想来,那时的我,七月的我真的很迷茫,看不到任何目标,任何希望。我确实不知道自己的未来是什么样的,我以后能够做什么,我的希望在哪里? 那时已是暑假,实在也没什么做的,总要做点事情的,大三下学期在猛学数字信号处理,那也是我唯一学的很深的一门专业课了。开始的我想做 DSP,就因为我数学很好,我喜欢数学,而恰恰 DSP 是最需要数学的一门课,也是最能激起我学习兴趣,最能激起我挑战困难的欲望的一门课。所以时间花了很多,学的还可以。现在回想起来,也许那时学的起劲的唯一原因恐怕就是那些算法,那些技巧吸引了我吧。(后来我一个同学补考 DSP,他老师给他出的一个题,据说占20分,题目是:FFT 算法程序的实现,幸亏学过一点,最终不负期望,虽然写了很久,但最终还是实现出来了,的确比较复杂,呵呵) 但 DSP 最终的目的是要用到 DSP 芯片上的,那些算法是要用程序来实现的,现在基本上 DSP 都是用 C 来实现的。很搞笑,我这个专业也曾经开过 C++ 的课,我也记得很清晰,那是我人生的第一次作弊(当然后来就经常作弊了,呵呵),考 C++ ,我是靠一个很好的同学才过的,过的还算有惊无险,拿了C。这个时候不得不重新学习 C,一切从0开始,学习 C 刚刚开始,我的兴趣的发掘也刚刚开始,我找工作的征途也刚刚开始。很庆幸自己能有这样一个开始,真的,谢谢 数字信号处理,谢谢曾经用心学过的 DSP; (一)的总结: (1),其实每个人都有自己的兴趣所在,真的,关键是你要自己去发掘去发现自己的兴趣。我记得一个老师给我们说过一段话,要是你不喜欢自己现在的专业,没关系,现在你抽出一点时间,把该过的课都过了,(不管你用什么手段,能过就可以,能过就非常好,但一定要过)就为了那个毕业证和那个学位证你就暂时咬牙挺过去;毕业证还是很重要的,虽然说你毕业后可能干与自己本专业毫无关系的工作,你还是最好能拿到这两个证;如果你拿毕业证没问题了,你再去学习你感兴趣的东西吧。 (2),干自己喜欢做的工作,千万不要干自己不喜欢的工作。如果让我 再次选择的话,我会毫不犹豫的选择应用数学,计算机也不错。兴趣真的是非常重要的,没兴趣的事你永远不想做,你永远做不好,当你工作的时候,你就会更加感觉到兴趣的重要性了。尽早的发现自己的兴趣所在,然后把自己的时间精力全花在上面吧。记住:好钢用在刀刃上。 (3),这一段对那些学习成绩不好,或者是在学校表现不好的同学说的 成绩不好没关系,表现不好也没关系。这只是说明你在这个方面不行,或者完全可以说因为你对这个不感兴趣。换个方向,换个环境,我相信你一定可以做的很好,出了学校,孰弱孰强谁说的准?还是那句话,关键是找到自己的兴趣所在。 (二)我的学习之路 1,暑假 为了能够实现 DSP,学习c,这是今年七月份的事情,那时我的C基础为0,我完全不知道程序是什么。那时什么都想,我周围有一个同学单片机非常很厉害,获得过很多大奖的。我开始是想跟他学单片机,但是前提是c要好,所以我狠下决心,一定要学好C。但是我学习C的目的是想做DSP,也许是单片机的,现在不去想了。因为我走上了一条自己想都没有想过的道路:软件开发,纯粹的做软件; 开始学习C,我就直接的上机,后来证明这是最有效的也是最有效率的。 我的第一个C程序是”HELLO THE WORLD “,第一次上机,第一次写程序有点紧张,就照着书抄,第一次运行,n个bug,再照着书改,改了n次,最终第一个程序诞生了,那是我的处女program; 顺便说一下,我的c学习我很少看书,11.3上的 program 里面有很多编程资料,我选了 c 经典一百题,开始的程序都非常短,后来的程序虽然长一些,但还是非常精练,主要是熟悉加强那些概念的作用;我觉得这份资料非常好,至少,我开始的一个月左右就是它陪伴着我度过的。 那是暑假,暑假里学校人不多,很多人都去实习了。我没去,因为觉得没用,我做自己的事。那时学校也非常安静,我一个人一个宿舍,没人干扰我,很少有人和我说话,那时的我的心完全在那些循环,那些变量上面,我的心里只有程序。每天早上10点起床,洗个澡精神精神,喝瓶酸奶,然后开电脑,写程序,一坐下去一般就是6,7个小时,也没感觉到任何累任何无聊,只是感觉非常充实,大学以来从来没有过的充实, 不断的改,不断的调试,不断的调试,调试,我很强的调试技能就是那时训练出来的,有些写程序的人连调试都不会,那真的很可悲。 一般这样,下午四点就到了,叫个外卖吃个饭,吃饭的时候看《超人前传》,一般看两集,可以说,整个暑假,陪伴我的就是那些程序和这个电视剧。休息一会后,再打开程序,继续,一直到第儿天凌晨五点到六点,那时经常可以看到天慢慢的变亮。那时写程序很菜,一天才能完成1到两个程序,完成后倒头就睡,睡的很沉很香。暑假的60天基本上就是这样过的,很少出去过。 2,开学 开学了,程序写的比较一般般了,可以应付一般的单片机的程序了。我开始考虑自己以后该学什么了,突然发现自己完全喜欢上了程序,硬件似乎离我越来越远了。最终我选择了继续深入学习编程,于是我转向了c++,转变或者说升级非常顺利,没几天我就完全习惯了用C++来写碰到过的程序。开学的一个月到两个月我基本上天天在图书馆度过的,和一个也在学习C的同学(他和我一个班的,不过主要学习C),我喜欢去保留室,那里面关于计算机的书真的好多,而且好多非常非常经典的书,以前只是在网上听人说起过,那段时间我基本上就是看那些书过的。进步非常快,因为那些书真的很经典。我看书有一个习惯,就是速度非常快,快的有些离谱,基本上是一天一本书,当然我是有选择性的看的,只看那些自己不是很熟悉的东西。 语言工具学的差不多了,然后接着是《数据结构和算法》,也看了n本书,当然还是每天一本,学的非常快,因为我数学比较好,所以学的也很轻松。这时我转向了一个C++一个非常专业的方向 ”STL “(一个类库,是一般常用的数据结构和算法的实现,可以直接调用)开始用 STL,后来想弄清楚里面的原理,就找些 源码来看(那时,看一般的源码基本没多少困难,但 STL 全部用模板写的,那简直就是一门新的语言,完全没有了很熟悉的 C++ 的面貌),开始完全看不懂,后来静下心去,看多了几次终于大概搞明白了。 因为学数据结构肯定要上机写,但写的一般的c的没多少意思,于是我开始尝试写自己的 STL,包括 底层的内存池,双链表,DEQUE,红黑树,迭代器,基本上 STL 里面有的,我都写,而且我全用模板写。虽然开始看起来觉得困难非常大,其中也碰到了很多很难的东西(都是算法的,有的算法真的非常复杂),程序从开始的一两百行到五六百行,到 DEQUE 的一千三百行,最终到最难的红黑树的两千行。 这段时间我成长最大也最迅速,自我感觉也是最有成就的一段时间,终于也在这段时间脱离了菜鸟行列。学习 STL 实际上就是在学习数据结构和算法。后来所有的面试和笔试都证明了我那时下苦功夫下对了方向。我的数据结构和算法非常好,后来的所有的笔试和面试基本上只要是关于数据结构和算法的题我很少错过或者很少没做出过。 这里要非常感谢我同宿舍的两位室友,那段时间他们都回校了,而我没办法,还是经常要晚上通宵达旦的干,我知道敲键盘的声音打扰了他们的休息,但他们没有抱怨,真的要非常感谢他们。没有他们,我不可能成长的那么快。 自己的 STL 写的差不多了的时候,对程序的本质的东西似乎很清晰了。但那时我还是没碰任何界面的,图形的编程。所以天天面对的是一个”黑界面“,只能输出字型。呵呵 写完 STL,已经到了十月中旬,那段时间还没什么好的工作可以找,所以主要还是学东西,反正就是没停过学东西,因为我知道计算机的学了三年了,我才学了三个月,我拿什么去和他们比,所以我要趁当时还有一点时间抓紧学东西。所以开始学 《操作系统》,《编译原理》,《TCP,IP》这个时候的学习基本上就是平行学习了,同时间内学习三门课程,效果不是很好,但基本的东西都知道了。到了十一月份,找工作进入高潮期了,这时已经集中不了精力学习了,但是空闲时间还是很多,所以空闲的时间还是学习一些东西,最主要的就是 MFC,但看不懂,于是先学习 WINDOWS 编程,直到今天,呵呵,现在 WINDOWS,MFC 的运作原理基本上也是非常熟悉了,但基本没任何实践,所以都是些理论的东西。 (二)的总结: 1,我之所以把自己的学习过程写出来,我是想告诉一些同学,只要你有 兴趣,什么时候开始学习都不 晚,真的,有兴趣,你会感觉很容易学 你会觉得学起来很轻松,一旦你体验到兴趣所带来的乐趣,你 就会学 的越来越快,我三四个月能把编程学好相信能给你信心。 2,下面的是写给计算机,软件的。 i,学计算机的,特别是学习软件的,一定要有选择性的看书,现在计 算机的书太多了,基本上都很烂很烂,一定要会在那些烂书中找出 那些经典的书来看。推荐去保留室吧,那里面的经典书籍非常经典 我在三四个月基本上把那些经典的书都看过了,虽然看的有些草率, 但没办法啊,呵呵。我推荐一些吧: 一,C的书:《c陷阱和缺陷》,《c专家编程》,《c和指针》主意, c中的指针非常重要,一定要学好,否则可以说你根本没学C;《 c和指针》是我看过的写指针写的最好最详细的一本书; 二,c++的书: 太多了,我是一次看几本的,结合起来看,吸取各 家精华: 另外说一下吧,如果你说你要学 C++,那你最好也 学学 STL 吧,听我的,绝对没错的,如果你说你精通 C++, 而不知道 STL,那你绝对在吹牛,STL 这几年非常火,不仅如此 ,如果你学会用 STL,那你将会发现原来程序可以这样写,原来 程序可以写的这么简单明了;你自己去学吧,如果你不去学,你 这辈子都会后悔的,甚至可以说,你的编程生涯很不完整; 三,数据结构和算法;那本 《数据结构的 STL 实现》很不错,我学 习 STL 前学数据结构一直看这本书,而且这本书可以替你预先 架好到 STL 的桥梁,要不然你贸然去学 STL 你会碰一鼻子的灰 的。学习数据结构,我仍然推荐学习 STL ,但这次是推荐你去 看 STL 的源码,呵呵,要有心理准备哦,如果你看的懂,你就 会感觉很爽,因为那里面什么都有,你平时写的那些程序在 STL 面前绝对都是二流货色。为了看懂那些源码,我推荐一本书,候 捷写的《STL源码剖析》,那里面讲原理很清晰,但源码太少, 图书馆有一本书非常经典 《深入STL》吧,名字有点模糊了,是 图书馆仅有的基本关于STL 书中的经典;但那里面原理不怎么 清楚,但源码部分非常详细,基本上是一个完整的类库; 四,一个忠告,学好数据结构和算法吧,其他的不学也罢,呵呵( 有点过激),原因有二:第一最现实的是如果你想找软件开发的 工作,笔试,面试绝对大部分都是考数据结构和算法;二:数据 结构掌握的好坏直接影响着你所编的程序的质量,一个人数据结 构学的不好,是很难写出好的程序来的。 (三)找工的心得 1,简历--既要重视,又不要太重视 我记得我在某天下载了别人的一份简历,然后改了改,用了一天左右的时间写了一份简历,基本定型,后来就改过一次,而且是很小的一个改变。我也就制作过这一份简历,因为我的目标很明确:软件开发。我的简历就一张纸,从来不用封面。当然我的简历也非常有特点--那就是极力突出特点。 我大学三年成绩不算好,但我在外面做过 n 多事,但我简历里面关于这方面的东西我一个字都没提,因为我的简历才一张纸,字字宝贵啊,呵呵,大家可以看看我的简历:192.168.1.116:21;f,f。我看过有些同学的简历,总感觉到简历写的不明不白,有什么就写什么,我觉得很不好,一个人一定要有自己的特点,一定要有个性,要突出你与他人的不同,这样公司才会从一大堆简历中发现你。我觉得这年头,有个性很重要。 另外写简历要主意,千万不要好看而忘了内容的真实性,这点非常重要,记得面试的时候我旁边一个被面试者简历上写了精通 JAVA,结果面试官狂问他 JAVA 的题目,那个汗啊,看他简直被问的头都低的碰到地了 所以,记住记住一定要真实,写简历的时候你要做好被盘问的准备,如果某种东西你不是很熟悉,你最好不要写上去,免的被问,如果你对某种东西非常熟悉,那你就写上去吧,要写在非常显眼的地方,要一下就能吸引住面试官的眼光。拿我自己打比方吧,因为我是电子信息工程的,计算机有些东西我根本没学,而我唯一有优势的东西就是数据结构和算法和 STL ,所以我在简历几个地方都提到 我非常熟悉精通 STL(是真的精通,呵呵,不是有些同学也许看过一眼,或者偶尔用到过就是精通某某,熟悉某某),结果我面试的时候,面试官一拿到我的简历,他们都能一下就发现我的特点,一下就会问 ”哦,熟悉STL啊?那好,我问你几个问题“,呵呵,我连 STL 的源码都看过两份,他能难到我吗? 所以我基本上没碰到过任何棘手的问题。 另外说点额外的话题,简历不要乱投,有些公司不适合你,你就不要去投,第一个,他不会招你,影响你的心情;第二,浪费,要是简历像我的一张纸的倒也没多大关系,不就是一元钱嘛。但有些同学做的简历那可真实花了大本钱的啊。 其实,简历做的太花了,不好,我找工作大概花了五十元钱吧,包括简历费用(我总共才投了两份纸制的简历,呵呵,网上的简历倒投了n多,可能因为没花一元钱,没一个理我。我花了两元钱打印了两份简历投了两家,都中了,且都得到了offer),也包括车费,还买了两瓶水。但我打印过几份程序,打印程序真的划不来啊,一个中型大小一千行左右的程序打印了七八页。应聘软件开发的朋友主意啦,如果对自己写的程序非常有信心的话,不妨直接拿程序给面试官看吧。但主意一定要自己写的,要非常熟悉,且要有点难度的。最好,里面的指针一大把一大把的。 有些同学可能很多方面都很优秀,可能写简历的时候什么都想写上去,写上去又舍不得删除。我觉得如果你一定要把简历写成这个样,你完了,简历最忌写成”四不像“,即别人看了你的简历不知道你想应聘什么。如果你觉得你想多面出击,那就多写几份简历,每份都突出不同的特点吧,一定要突出特点凸现你的强项非常重要。 (二)到底面试之前要不要准备那些所谓的常问问题? 这个问题,可能我和大家的观点不一样,我很不喜欢准备一些答案回答那些所谓的常问的问题,我是从来不准备那些问题的答案的。可能每个人的特点不一样吧,或者是我应聘的都是技术类的职位吧,可能对这个方面的要求不高。 我也没准备过什么自我介绍什么的东西,首先我记忆力不是很好,我怕到时记不得了反而出乱子。再者,我觉得面试前去刻意准备那些答案很容易让人增加不必要的紧张,我曾经为了一个小公司的面试”准备“了一晚,结果一晚都没睡好,第二天还有些紧张(刚开学时的一个小面试),后来就再也不干这些事情了。我很推崇一句话,水到渠自成,面试时的临场发挥很重要。我有一个奇怪的特点,就是笔试面试的时候很兴奋,所以基本临场发挥的都还不错。 一句话,面试之前,我基本上不准备,该准备的应该在平时就准备好了,想想,技术方面的东西,我长时间都在学,也就是说天天都在准备,现在还准备什么?hr的面试也许应该准备准备的,但我一想,有必要嘛?如果你说话结巴,难道你一晚上准备就不结巴了?如果你面试时容易紧张,经你一准备就不紧张了?不会吧,只会更紧张。毛主席的一句话很经典,”从战术上重视他,战略上藐视他“(没错吧,呵呵,错了也不要拍砖,我只是一个编程的啊,呵呵),不就是一个面试吗,不就是一场谈话一番聊天吗?难道你不会聊天吗?我一般是从大体上把握话题,然后是有什么就说什么。没什么想的,轻装上阵最重要,你也会发挥的很好。 (三)面试时最重要的是什么? 经过了很多的面试,技术的,hr的。感觉最深的是你一定一定要把握好话题,即一定要让你们谈话的话题要有利于你,对你不利的话题一定要轻巧的拨走,或者巧妙的绕过去。这点我觉得非常重要,其实这点是我在外面做事的时候发现的,比如在应征一份家教的时候,你一定要首先确立自己老师的地位,然后你要牢牢的控制话题,你要不段的谈关于你对那个小孩的看法,对教学,对学习的看法,要让那些家长孩子围绕着你的话题转,要他们不段的问”那怎么办?怎么办“,而绝对不能让他们不停的拷问你”你是哪里的啊?你学习怎么样啊?“那就惨了,这里面看似简单,其实非常复杂的啦,小弟我也是才懂的皮毛而已。但是即使只懂的一点皮毛在面试中也是非常有用的。 我就清楚的记得几个面试中,面试官问了几个问题,开始是我引出的话题,当然是我熟悉的话题,很顺利,问着问着,慢慢偏离原来那个话题越来越远,后来居然问到另外一个我听都没听过的话题上去了。我怎么办?首先老实承认自己在这方面的不懂,然后要解释原因”对不起,因为我不是计算的,而且我学习编程的时间不是很长,才一年多(其实才几个月而已,呵呵,不能说的太短了,注意别露馅就可以了。呵呵),所以有些东西暂时现在没有涉及到,而且我这个人有一个特点,就是很喜欢打破沙锅问到底,学什么东西都很喜欢问个为什么,都喜欢把那些最核心最基础的东西搞清楚,我觉得基础才是最重要的,所以我的时间主要是花在数据结构上了。我相信,打好基础才是最重要的,我很自信,那就是我的基础非常牢固。“ 呵呵,然后他就又回来问我数据结构的问题,当然,又到了我非常熟悉的领域了。 这点很重要,实际中用起来开始很不容易,始终掌握话题应该是面试中最厉害的武器。平时就应该多加练习才是。如果你掌握不好话题,被面试官牵着鼻子走,一般都会比较惨的,因为人非全才,总有不懂的地方,总有机会被面试官逮着机会,而一旦被逮住了,你又不知道脱身,那你就掉进他设的陷阱里面去了,挂定了。 (四)关于着装 很简单,如果你是做技术的,随便怎么穿都可以,没必要花那个钱去买个西装穿的人模人样,然后别人看着别扭(面技术的技术官一般也穿的很随便的),你自己也穿着别扭。做销售做管理还是穿西装吧。呵呵,这个我不多说了。 (三)的总结: 1,简历做的简单一点就可,但一定要突出自己的特点,一定要凸现自己的优势,让别人一看就知道你的优点,就知道你是应聘什么的。 2,简历修饰修饰可以,但有一个前提:一定要真实 3,面试前没必要准备,面试的临场发挥更重要,别把面试想的那么怕,其实没什么,不就是聊天么。 4,面试中时时刻刻把握好话题,小心掉进陷阱,能躲的就躲,能绕过去就绕过去,与其让面试官牵着你的鼻子走,不如你永远把握住你们之间的话题。 4,穿什么这个问题太简单了,每个人都应该知道明白,不说。呵呵 (四)“迅雷”之路 一直很想进腾讯,腾讯一度曾经是我的梦想 1,前奏 直到十一份以前,都没有什么好一点的软件公司来学校招聘,网上投了n份,很少有理我的,记得去过一家“深信服”的公司,去的时候很兴奋,到了公司很快兴奋不起来了...做了一份试卷,那可是我第一次的编程考试啊,呵呵,一半c的题,一半网络的题。给的时间2小时,我专挑c的题目做,不到半小时做好了,网络的题看都没看一个。不是我不想做,实在我真的对网络的东西一窍不通啊。然后上交了,他叫我等消息,结果就没消息了。第一次狂遭打击,呵呵,不过也没什么,回来后,我对同学说,这家公司可能看不上我,我也不欣赏这家公司。 2,迅雷之路 从来没听过迅雷,也不知道迅雷是什么(我不喜欢上网,其实我也不喜欢计算机,真的,我的电脑我从来没拆过,我就只喜欢编程,而且是高级语言,不是汇编。所以如果同学要我去给他修电脑,他会傻眼的,如果有程序要我帮帮忙,我还是很愿意的),也没注意网上的招聘信息。因为我一直在等腾讯的招聘,腾讯的招聘从十一月拖到十二月。中间一段时间超级无聊,既看不进书,也不想找其他的工作。无聊至极的时候和同学去了迅雷的宣讲会,而且是带着怀疑的态度去宣讲会的。bbs上的 宣讲会号称要招50人,我是极其怀疑他的50个名额的。那天老总的演讲题目是创业,结果吸引了一大堆大一的,喧宾夺主啊,可怜我们大四老饼活活被一群朝气蓬勃的新生硬是给压下去了。 其实那天对迅雷的宣讲会没什么好感,感觉他就是来宣传的。所以我给他们的工作人员塞了一张纸(我的简历,除了就那张纸,什么都没有)然后就走了,回去后心里也不牵挂这事了。 一星期很快就过去了,bbs说没人收到他的笔试电话,又一星期过去了,一天下午大概五点半接到一个电话,但被我挂掉了,后来一想,是不是面试电话那?所以打回去,是迅雷的总机。很兴奋...得到了迅雷的笔试机会,后来我听hr说,他们总共收到了一百多份简历,给了我们深大十六个人笔试的机会(淘汰率很高吧,所以把简历写好吧,我那一张纸的简历虽然简陋,但看起来就是显眼,对就是显眼),笔试的题目非常基础,我记一下吧,能记多少就写多少吧,毕竟时间过去很久了,我记忆力也不好; (计算机的看一下吧) { char* ptr = "abc"; sizeof(ptr) = ? char ptr[] = "cde"; sizeof(ptr) = ? 反转一个单链表,要求时空效率要高 一个单链表,你编一个程序,判断出它是否有循环; 实在太久了,对不起,其他的记不起了 } 第一轮笔试感觉很简单,很基础,大概过了四五天吧,也就是腾讯招聘笔试的前一天。我收到了迅雷的二面通知,后来得知深大四个人进了二面,我在那次结识了一个计算机的,他后来进腾讯了,呵呵。二面还是笔试,不过题目难了一些,而且很少有选择填空题了,都是编程题。 (计算机的看一下吧) { 1, char a[5] = "abcde"; //改错 char b[10]; strcpy( b, a ); printf("%s",b); 2, void getMemory( char* ptr, int n ) // 改错 { ptr = malloc(n);} int main(void){ char* ptr; getMemory(ptr, n); char a[]="abc"; strcpy( ptr, a ); printf("%d",ptr);} 3,编程,不用 / 和 % 计算 285 除以 16 的商和余数,要求 时空效率要尽量高;(10分) 4,实现 int itoa( char* ptr )函数,即把一个字符串转换成一 个整数,不能转换的返回0,(如"1a2")前面有空格的要特殊 处理,而且开始第一个字符可能是“+”或“-”,请特殊处 理(即仍要返回一个数,如果是-号开头,返回负数)(20分) 5,反转一个字符串,给你的是函数,注意dest和src有可能重叠 void charReverse( char* dest, char* src)(20分) 6,链表的操作,给的链表是单链表,要求实现以下功能(30分) i,求出给定节点的下一个节点,如果有的话,无返回0; II,在链表中插入一个节点 III,删除一个节点,如果这个节点在链表中的话; } 第二轮笔试的难度还可以,不容易但也不难。那天估计脑袋有点晕了,竟然以为腾讯的笔试在第二天晚上 9.30-11.30。呵呵,糊涂 到了腾讯笔试那天,我睡觉睡到10点,突然不知道怎么了一下子爬起来好像突然明白了什么,头发没梳(我早上起床头发乱的可以的),脸没洗,牙没刷,冲去科技楼笔试,迟到了40分钟,后来还有两个比我更迟的,一个中大的ss哥哥迟到了一个小时,后来他也进了腾讯,呵呵,有意思。 我正在拼命做题的时候,手机狂响,是迅雷打过来的电话,我那时真是急啊,没办法,做题要紧,电话考完后打回去吧。电话响了几遍,终于不响了,舍友的短信来了,他告诉我迅雷打电话到我宿舍了,要我十二点前赶到公司面试,我狂啊,那会儿,真想有分身术就好了。 腾讯的题最终还是做完了,当时的脑袋昏沉沉的啊,完全凭经验做的。以为没戏了。考完后打电话到迅雷,解释了刚才的情况,然后约好了时间下午两点过去。 2:00准时到达了公司(每次去迅雷都要从腾讯的飞亚达大厦前走过),我直接找到了那个技术官,我开始谨慎的问他:“能不能告诉我,是不是我昨天考的不好,今天要加试啊”,他回答说”恰恰相反,你是昨天六个笔试中唯一一个合格的,他们都没过”,我心里不相信,我怀疑他是不是在安慰我啊?呵呵,然后上机考试,找了半天的电脑,装了个VC6.0,给了我个题,是“域名解析”,什么东西都没有,接手电脑时2.10,因为我用 VC2003 习惯了,所以开始用 VC6.0还有点不习惯,用了五分钟熟悉,电脑上没装 MSDN,用的是网上的在线 MSDN,我一般用的都是机上装的 MSDN,所以环境和平台都不是很上手。 项目不算小,用c编的话可能要花非常长的时间了,所以用C++,因为可以用 STL,用起来很顺手,因为是解析字符串,所以我直接用了C++自带的 string 类,用了n多函数,经常要查 MSDN,时间一分钟一分钟过去了,一个小时,两个小时,三个小时,最终终于把最后一部分也解析出来了。功能是基本完善了。数了数,一百二十行,程序不算小了。 叫他检查,他对我的表现不是很满意,后来果然如此。他说,我第一轮第二轮都非常优秀,但上机考试考的不好。 所以加试了一个题目: 写出一颗二叉树的广度遍历的函数; 拿起笔,很快的写出来了,大概是6行吧,用到了 queue,当然是 STL中的,自己写一个怕是又要写久了。同时写出了深度遍历,程序结构一模一样,只不过用到了 stack,也是用的 STL; 给他看了,他说行,然后坐下来,开始技术面试吧,姑且这样叫。 1,问我为什么一个电子信息工程的为什么要学计算机? 答:因为我喜欢数学,不喜欢自己专业学的硬件的东西,而且我英语很好,另外我思维推理能力非常不错,所以我觉得自己很适合软件开发 2,你一个电子信息工程的学生学习计算机碰到了什么困难。 答:我在写自己的STL时碰到了很多困难,因为 STL 对算法的要求非常高,有时为了写好一个算法,我经常通宵达旦的干。虽然很累,但是每次写出一个完美的程序都觉得很有成就感。 3,举一个具体的例子吧。 答:举了红黑树的例子(讲的很多,而且太深了,这里不写了) 4, 你操作系统学的怎么样? 答:还可以,学过操作系统,我感觉以前很迷惑的东西现在很清楚了。比如说虚拟内存 5,操作系统给每个程序分配4g的虚拟内存,假如程序要求内存比4g还大,操作系统怎么解决? 答:。。。 6,怎么样从一个程序访问另外一个程序 答:这个我听说过有些病毒通过改变一个程序的返回地址而直接进入操作系统内核。 7,你数学非常好,是吧? 答:嗯,很喜欢数学,我高中的班主任就是数学老师,所以那个时候 特喜欢数学,每次解决一个数学问题,都很兴奋....在大学,开始两年我基本没找到自己的兴趣所在,那时的唯一兴趣就是数学,我们专业本来只要求学高等数学,我自学的数学分析。做过苏联那个人出的一套数学分析习题集,收获特大... 8,那你证明一下这个题目,晕啊,接下来是接连几个数学分析的题啊,从来没碰到人面试考数学分析啊。我很久没学数学分析了,所以一个都没做出来。晕,那时真的是超级郁闷,吹啊,结果被郁闷了。昨天去签的时候,我终于明白自己为什么那么惨了,原来那个家伙竟然是北大数学系的ss,这不是班门弄斧了吗?自己给自己搞了个陷阱,不能怪谁了。所以在这里再说一次,话题的选择是非常重要的,写简历注意。 考完了数学,我们两个都站起来,我以为今天到次结束了吧,那时已经很晚了。他突然说,那好,我现在带你去见我们的 hr。当时一下傻眼了,这么快吗?然后见hr, 以下是hr和我的对话: hr:先介绍一下你自己吧, 答:来自湖南一个不知名的小地方,从小成绩还可以。。。。。 高考时以超过省重点线51分的成绩进入深大。(埋下了一个话题,呵呵 hr;为什么选择深大? 答:那时我还小,没见过什么世面,什么都不懂,听长辈们说深圳是个好地方,所以就以为好,然后就来了。 hr:哦,是这样;那你觉得深大怎么样? 答:既爱又恨,学校的学习气氛不怎么好,很多同学找不到自己的方向堕落了,我有很多同学,他们来自省外,来的时候都非常优秀,有些比我都优秀,但是他们被这个大环境污染了。我恨庆幸自己找到了自己的兴趣所在,找准了方向;但深大也有他好的地方,深大的硬件真的恨不错,我们可以无限制的上网,我们可以很早的买电脑。。。 hr:好,那我们谈一下 offer。。。。 终于得到了一个 offer,我人生的第一个 offer,也是我最终选择接受的 offer。 回来的时候已经到了晚上7点了,感觉很累,不过有点点的兴奋。不久,手机上收到了信息,是腾讯发的面试通知。 晚上睡的很香,从来没有过的香甜。 (五) “腾讯”之梦 迟到四十分钟本来不抱任何希望,但晚上还是收到了面试通知,那时的心情可以这样形容,没感觉。因为迅雷那样严格的笔试面试我都过了,难道腾讯我还过不了吗?迅雷在深大招一个我进了,腾讯要在学校招20个(腾讯开始号称要招20个的,呵呵)20个,难道这二十个会没有我吗?想的邪想的有点自负。不过那晚睡的很香是真的。 第一轮面试: 我中午去的,中间的一切都很平静,要说有感觉就是没感觉。坐下来,四周张望,碰到了很多熟悉的面孔,一个哈尔滨工大的研究生,我认识,因为迅雷在他们哈尔滨工大深圳研究院也就招了他一个(他很想进腾讯,后来第一轮面试被刷了。估计和他以后可以做同事),一个深大计算机的,一起征战迅雷的(进腾讯了),还有一个中大的研究生gg(考试迟到一个小时,后来他收到腾讯的offer了),等的过程中就一直在说话,很开心,呵呵。 轮到我时,我站起来走到一个面试官前,旁边几个面试官都正在盘问他们那些被面试者。直接坐下,他拿起我的简历,看了一下,开门见山“嗯,熟悉 STL 啊?”“是的”, 问:求A集合和B集合的差集的算法? 答:STL中,先排序,再分别同时遍历相减即可; 问:具体一点吗? 答:、、、、(懒的写了,如果你懂,很简单;如果你不懂,说上一天你还是不懂) 问:好,一个大数组,(大到内存一次装不下)怎么样将他排序? 答:先分段排序,再合并排序; 问:具体一点? 答:也就是先分而治之,再合并排序。。。。。 问:好,一个hash表,怎样定他的大小? 答:一般你肯定知道要插入hash表的元素的个数吧?很简单,去大于这个数量的一个素数。 问:如果你开始不知道要插入的元素的个数那? 答:既然你开始不知道元素的个数多少,你为什么要用hash表? 问:如果我一定要用怎么办? 答:这个问题我暂时没有很好的答案, 然后给了我一份又一份的题目。我记得几个,写一下。 char* ptr = new char[20];sizeof(ptr) = ? char* ptr = "abc"; sizeof(ptr) = ? char a[]; char* ptr = a; char* ptr2 = a+1; ptr2-ptr = ? int a[]; int* ptr = a; char ptr2 = a+1; ptr2-ptr = ? 然后又是一份题。 已知一个二叉树的前序遍历序列,和中序遍历序列,求后序遍历序列? 然后问前一天笔试上的一个题目, 就是问那个关于 BID ENDING 的题目;问我怎么的来得?(知道了内存排列的东西,这个题很简单) 还有些题目,很多很多,做了n多题,基本上问一个答一个, 最后问我有什么问题,我问“现在能不能告诉我今天回答的这么多问题答错了多少个?”他回答说“这个不要紧,你中 STL 的毒太深了”(因为那天我基本上所有的算法实现都是用 STL 的语言表达的),我说,“有什么不好吗?STL 很好用,他的效率非常高,觉得比我们写的程序强”结束,握手。走人。直接回家。十分钟不到。旁边开始几个就在被盘问的同学还在被盘问。 第一轮:感觉很轻松,一个词来形容,畅酣淋漓。 感觉很不错,当晚收到了第二轮面试。睡得还是很香。第二天,还是中午到达。一个穿黄色衣服的技术官,前面摆着一部手提,手里拿着我的简历,辟头就是一句“熟悉STL啊?”,“不错”,后面的问题奇怪了,竟然不问我技术问题了,问的是“你以后想做什么,你以后的发展方向是什么?”,感觉都是无关痛痒的话题,三四分钟后,他说出了一句令我颇感意外的话“好,那你现在还有什么问题吗?",我当时傻了,只能一句”对不起,你今天好像没有问我技术性的问题啊“他的回答是昨天的面试官问的很清楚了。然后再次问我有什么问题没有。我说暂时没有了。然后我起身,主动伸手握手,byebye。 二面出来,感觉一个词语来形容:莫名其妙; 以为没戏了,从来没听说面三四分钟还有戏的,但是当晚还是收到了hr的资格面。当时就犯愁了,因为没想到自己竟然这么顺利的进了hr面了,基本上腾讯offer可以拿到了,这下犯愁该选哪个好了。当晚睡的不好,一直在想哪个好。 工资方面差不了多少,腾讯是我的梦想,我曾多次做梦在那里工作。而且腾讯的工作环境那是没话说的。 迅雷发展前景不错,而且上升的空间很大,而且他给了一些股权,虽然数目很小,但还是很吸引人的。想啊,想啊,就睡着了。 三面: 其实前天晚上想的差不多了,迅雷似乎更适合我个人。于是,我想今天就做回傻事吧,让腾讯据了我吧,如果以后我还想进腾讯似乎方便些。 hr的面试似乎永远千遍一律,没什么意思。我一上去,直着就问他,让他给我详细的解释一下腾讯的年薪7万怎么算的。他说了一堆,似乎发现了什么,问我是不是有offer了。我说是的,他问我哪家,我实说了,他问了一个问题”如果今天晚上腾讯给你offer,你明天会来签吗?“。我的回答也很直接“我现在还没考虑好,现在做不了任何决定”。然后他说”那好,今天就到这儿吧“。我这下是真的认为,没戏了吧。 三面后的感觉:心里很不是滋味,很不好受,我也不知道自己做的对不对 过了几天,最终还是收到了腾讯的offer,着实又让我乱了一阵,本来计划好的又全乱了。后来询问一些师兄的意见,征求了一些同学的意见,最后星期五腾讯的签约我没有去。 星期一,我去迅雷签了。 找工作到次结束,只希望以后能好好工作,能有一番作为。 总结:当考虑去哪家时,真的很痛苦。最后我一个同学对我说,年轻人,干吗这么瞻前顾后的?趁年轻博一把吧。然后才下定决心。

评论