一位自学生的努力与梦想

求职历程:
只面了两间,都是一轮笔试+三轮面试,拿到心仪公司offer后就木有参加其他面试了。
1、淘宝(研发工程师)终面后被BS,那RP...。
2、腾讯(后台开发工程师)成功拿到offer。

学习经历:
作为一个非计科专业的学生,三年自学血泪史历历在目。没人指导,靠自己摸搜,走过很多歪路,不被同学朋友理解,被老师当问题学生,被早学几年的前辈嘲笑。一度怀疑自己,长年处于坚持和疑虑之间。

两年前下誓言至今还一直保留在QQ个人介绍里:从今以后不再表示什么决心,用结果用事实用作品去证明自己一直在努力。为未来家人及爱人幸福的生活,为自己这一生没有白活而努力。甘愿今天活在一个人封闭的世界里。——2009/10/7

从一开是学delphi,什么都不懂东拼西筹做烂软件;到开始正式学C语言,遇到如鹏网,从《C语言也能干大事》找到启蒙方向;记得大二那一个寒假天天抱着《windows程序设计》来学,做了无数的小软件;后来学过很多东西,看过《C++primer》《数据结构》《汇编语言》《windows核心编程》。了解过反汇编,学GDI、opengl做过2D、3D小游戏,当然很多都是稍微尝试,浅尝辄止。

大二结束后的暑假北漂去北京跟杨中科老师学.net,这段北漂的生活很难忘,学习很充实,早上8点到5点,回去宿舍继续敲代码,经常敲到深夜1~2点,在400元租来9平米只容一张床一张凳的地下室里除了敲代码还是敲代码,在北漂学.net的日子里学到很多东西,杨老师很尽职,教的知识很深入,很贴切实际开发,课上最常听到杨老师苦口婆心地劝基础差又稍微懒惰童鞋:“上课要认真,回去还得好好敲代码。”北漂的学习日子开阔了我的视野,也让我渐渐明确自己的学习路线,为后来的自学打下良好的基础。

后来由于很多原因,最终没有继续学.net,甚至连图形界面也不喜欢了,在徘徊纠结之中开始渐渐转型到linux,C/C++黑窗白字的世界。回来后奔三了,我开始写简历,去各大公司看招聘信息,找准岗位,公司需要什么我就学什么。开始看《算法导论》参加学校的ACM比赛,由于大三了,拿了一等奖也进不去学校的训练队,自己去网站做OJ题,学《计算机网络》《TCP/IP协议》《Linux鸟哥私房菜》《UNIX高级环境编程》《UNIX网络编程》学习nginx开源服务器,自己学写JxWeb服务器(大三第二学期唯一写过这个项目,其他都是做算法题,更没有写有窗口的东西了)...

然后就是求职生涯,拿到腾讯offer,新的开始!上述书籍都是大牛们的神书,而我很多只看了一半,腾讯是我人生的转折点,我在奋斗的路上!与朋友们共勉!

求职日记:
2011.9.16——修改简历
这里很感谢boXer师兄,百忙的工作中还抽时间给我简历意见,简历最后被修改了两次(本人大三就开始写简历,这份简历已经是第n个版本了。提前写简历的好处非常明显,就像一面旗帜,提前明确自己的路线,简历缺什么就去学什么。到大四的时候,别人还在苦恼怎么写简历,我的简历已是第N版)。师兄满意后叫我用功准备笔试,腾讯对笔试成绩很看重。但我还是决定先用两天搞好我的JxWeb服务器项目。

2011.9.17——淘宝内推失败
中午醒来,突然收到淘宝的短信,呜呜,原来淘宝内推不成功。提示我自己去淘宝网校园招聘投简历。淘宝网的校园招聘要填的资料很怪,好像必须有懂java,然后我觉得自己淘宝算没笔试就悲剧了。继续做项目。

2011.9.18
开挂开挂!!!早上刚解决了弱智的内存释放bug,自己太久没写代码,真差劲,唉。继续。

2011.9.19——腾讯宣讲会,梦想的开始
今晚去了中大的腾讯宣讲会,刚好隔壁是网易的。中大+腾讯,两个都是我的梦想,一个在四年前已经彻底破灭了,希望我能腾讯这个梦想上成真。听了腾讯的宣讲会,我更加给它吸引了,我当时对它的感觉是:很有活力的团队,很有魅力的公司,很豪华的环境,很高级的待遇福利,很有发展前途。啊,心痒痒!偏偏腾讯的招聘流程非常匆忙,24号笔试,25~30号面试,国庆后就能确定offer了。我要加油,开OT,开挂!

2011.9.20
华工百度宣讲会,但我没有去,继续复习做项目!

2011.9.24——失利的腾讯笔试
腾讯笔试,总结来讲考的知识很广泛很基础,涉及到数据结构、数据库、网络原理、C++类特性、操作系统、linux系统、服务器等等,最后两大题都是经典的算法题:链表两路归并算法和图。第一题完全没问题,第二题看到有关图的,太久没用过图,脑袋完全空白答案自然也空白了,悲剧!之后当晚收到一面通知。事后才知道自己笔试成绩很烂,只是刚好过线没被刷,承蒙天神保佑,但失利的笔试成绩对以后的面试影响巨大。

2011.9.25——满意的腾讯一面
3点30分,华工大酒店40X房,一面运气比较好,问的问题都比较基础,自我感觉答得比较满意。但最后的开放题还是不会答,其实开放题根本没有标准答案,只要你给出自己和技术沾点边的想法就OK了。

2011.9.27——腾讯二面
2:00 二面。早上已经等得不耐烦了,没到1点就骑车过去。1:11去到华工酒店705室,但门是关上的,所以不敢打扰,等到1:51分才开始面试。隔壁房间一个是游戏策划的,另一个房间是销售的。那销售的童鞋,听游戏策划的MM说已经面了一个多小时,吹到天花龙凤,最后还谈工资了!羡慕妒忌恨啊!回归主题,这次面试的是腾讯安全中心的总监,还是问基础。问题如下:哈希和B树各自特点;linux中各种I/O模型原理——select和epoll、阻塞和非阻塞I/O区别;linux系统文件机制;多进程同步方式;C++多态原理(虚函数机制,能说出哪些是编译时确定、哪些是运行时确定、类对象内存形式就OK);都是基础不多说了。

两题海量数据处理:
1、请统计100W个不等长字符串中各字符串的出现次数(时间、空间复杂度都要低)我的答案:建立哈希表,遍历一遍让等长的字符串(我认为题目“各字符串出现次数”是要求字符串相同,而不只是相等,既长度也要一样)映射到同一位置,里面可以再哈希链表(链表元素是对应长度的字符串buf和计数器),有两种情况:一种哈希链表中没出现过就存储该字符串并将对应的计数器设为0,有出现过的就+1。遍历一遍就完成统计。然后遍历哈希链表的计数器输出就行了。时间复杂度是O(n)。但面试官问我还能再快吗?O(n)遍历一遍肯定是必须的,可能是中间某些细节问题。或者面试官在压力测试。

2、设计数据结构可以快速返回0~10亿中哪些数出现了or没出现。这题和一面的一样,而且更简单,125M的bitmap就够了。最后也是问我项目问题,对项目里各种技术点熟悉就OK。晚上6点,突然接到淘宝面试通知。但心系腾讯,夜点也收到了腾讯HR面,HR面加油!

2011.9.28——淘宝一二三面,腾讯HR面。
早上还是去试试淘宝,淘宝初试是在10点,我9点50分去到,签到后在侯听室等候,结果10点25分才开始面试。问题还是离不开:算法、项目、数据结构、linuxI/O模型。算法题很水——给出两个字符串,设计一个算法将两个字符串合并按字母排序。我一开始就说不就是排序后归并嘛,O(nlogn)。然后面试官说有更好的方法吗?又想想,哦,类似荷兰国旗问题,遍历一次统计各字符出现次数,直接按字母顺序输出,O(n)。这下他满意了。所以遇到简单的题目,还是先想清楚再回答。

淘宝的面试很给力,一面完,行得话马上二面,二面行得话马上三面!不过一面后,还得先去腾讯HR面,要求另约时间。然后回去宿舍休息,12点45分就过去华工大酒店了。在那里看到暨大面产品的漂亮MM,我居然木有问拿电话!后悔!!!

腾讯HR面试居然问我实习经历,木有实习过的表示郁闷。然后更悲剧的是,人家问我专业学得如何,我口贱自爆挂科!我勒了去!那HR说“哦,你挂过科,挂哪一科?”然后记录下来了。呜呜呜!!!我算诚实吧。之后听HR介绍了公司的某些流程制度。然后我很不安地离开了华工大酒店,直奔去中大面淘宝。二面又是问数据结构、算法、各种查找的优缺点、项目、linux系统的东西等,还问了一道智力题:有条村,N个人,发生了命案,N个人中有5个是凶手,每个村民都会讲一句真话一句假话,问至少调查多少个人才找出凶手。我勒了去,不懂。事后才知道,类似小白鼠试毒药问题,答案是:2^5,但明显他这题问题很多漏洞,小白鼠试到毒药会死,真话和假话怎么分辨出来。算法问了链表归并排序,要我写代码,原理是简单的,但写得很糊涂,他也看得很糊涂,我干脆讲一遍,他也就懒得看我代码了。

之后叫我直接去三面,听带路的说很少人能去三面,我也威风一次了。三面是两个面试官,一个技术,一个HR,但都很年轻,聊得很开心,先问技术后聊天,我又重复提那血泪的三年自学史,我感觉他们都比较认可我。然后HR就送我到门口,就结束了。后来才知道淘宝面试当晚发offer... 然后自己很自然被BS了。中途他问我有没问题的时候,我知道不问问题又不太好,所以我随便问了一个问题:“我数据库不太会,你那里要求数据库高的么?”
现在想起,自己真脑残...自爆弱项...总结:知识这么多,肯定有所专长,有所不擅长的,要善于引导面试官到自己擅长的地方,更不能脑残自爆弱项...

2011.10.13——腾讯offer
在中午饭的时间中收到腾讯电话口头offer,那激动的心情,真不容易。马上丢下饭碗给电话家人报喜。

再次鸣谢boXer师兄,他在我求职阶段不断给我意见和指导帮助我。如果没有师兄的帮助,可能我还在漫长的求职之路上。感谢求职路上的所有面试官认同我,给予我机会。感谢如鹏杨中科老师给我自学计算机的启蒙。如鹏的口号:“在校不迷惘,毕业既辉煌!”感谢父母家人兄弟朋友的支持和理解。还感谢自己能在他人不理解、嘲笑、诋毁下还坚持自己的梦想和努力。谋事在人,成事在天。感谢上天。

一面遇到所有问题如下:1、运行下面的函数会有什么结果?为什么?[cpp]
void foo(void)

char string[10],str1[10]; 
int j; 
for(j=0;j<10;j++) 

str1[j]='a'; 

strcpy(string,str1);
printf("%s",string); 
}[/cpp]

答:
(1)字符串赋值错误:str1[10]只能容纳9个字符和1个空字符。而题中for语法赋值了0~9共10个。
(2)strcpy里由于str1没有空字符结尾,导致越界不可以预料的结果。

2、写strcpy函数;解释:strcpy的原理大家都懂,但要注意程序的正确性、健壮性、可靠性。
答:

char*strcpy(char *strDest,const char*strSrc)//第二个参数的const要写上
{
if((NULL==strDest)||(NULL==strSrc))//健壮性——先判断参数是否为空
  return NULL;//当然这里可以抛出异常或者直接用断言,以便在众多应聘者中突出自己。
char* strTemp=strDest;
 while((*strTemp++=*strSrc++)!='\0');
 return strDest;
}

面试技巧:在实际面试中,我还故意判断了一下 strDest和 strSrc内存段有没有重叠,虽然不是必要的,但还是为了突出自己有这方面的考虑。
3、40亿个整型(32位)数据中怎么找出没有出现过的整型数字?为什么?
这题是典型的海量数据处理,面试中很常见。
答:32位整型总有42亿个,而题目总数只有40亿,肯定有未出现过的数字。可以开一个容量42亿的为bitmap——位的数组,每一位代表一个整型,一共需要内存是525M左右(若内存有限,则开到文件里去,但会明显增加硬盘I/O),遍历海量数据一遍,并在bitmap对应的位上至1标记。最后遍历bitmap,将标记位为0对应的数字输出即可。时间复杂度是O(n)。
4、STL各种容器的特点和实现方式;
熟悉各种STL容器,简单介绍一下就行了。
5、最后让我描述一下做过的项目,我选的是JxWeb服务器,涉及到知识点:master-worker多进程模型、epoll网络I/O模型、多进程同步、RTO超时重传机制、HTTP协议、怎么支持CGI、怎么支持HTTP1.1新特性等。
技巧:项目描述过程中,面试官会留意项目出现的技术名词,然后一一会深入提问,你一定要对自己的项目熟悉,不单要知道“怎样做”,还要知道“为什么要这样做”。
6、最后一道是开放性题目:如何鉴别垃圾诈骗信息并揪出犯罪份子(我一直以为揪出犯罪份子是公安局的事...)。
这题没有标准答案,但你不能不回答,讲讲你对这题目的了解和分析。

总结:如果面试中能较完整地回答八成以上问题,那就充满信心等待下一面。

时间: 2024-08-01 08:34:25

一位自学生的努力与梦想的相关文章

两位女大学生18天穷游三个国家

Jenny. Angel. 每人花费4600元 被虱子咬与昆虫同眠依然乐此不疲 一个背包,一双拖鞋和一本书,就开启未知的旅程.两位女大学生在大学的最后时光里,共用18天的时间,穷游马来西亚.柬埔寨和泰国三个国家,一路每人花费4600元.明知会是一段苦旅,但依然乐此不疲,她们说旅行会上瘾,不奔走就不快乐,旅途中被虱子咬与昆虫同眠的艰辛经历也让此次旅行变得刻骨铭心. 这几天,微博网友@洁琪仔Angel一篇四万五千字的东南亚三国游记得到了不少旅行爱好者的关注.Angel是中山大学传播与设计学院的大四学

一位大一学生的N个问题

[问题] 大学怎样才能做到不随波逐流?大学怎样做到独善其身?大学里,看到很多人做一件事,觉得自己不这样会格格不入,例如大学课堂,没人听老师讲课,都是低头族,玩手机,你如果不这样,别人会说你傻?大学里会有许多不公平,如何调整自己?比如班干部竟选,比如党员.大学里该不该谈恋爱呢?谈恋爱影响学习吗?大学里老师只是教一个学期,有必要和老师多沟通吗?大学里,除了和宿舍人比较熟,没有交友圈,怎样扩大自己的交友圈? [回复] 一口气这么多问题,看来是一位正在学着思考的同学.每个问题,似乎都能展开很多,但我更愿

中欧商学院三位MBA学生的项目:关于纹身的App

到著名商学院就读MBA的,不止是500强金领候选人,还有充满五花八门想法的潜在创业者.中欧国际工商学院主办的2014创意中国"MBA创业大赛6月15日在上海举办,来自东道主中欧国际工商学院的参赛项目,所服务的对象是纹身行业,产品叫Yunmoco云墨客".没错,它倡导中国人去了解纹身文化,甚至勇于尝试纹身.演示一开始,三位中欧MBA学生上台,酷酷的演示者Felix Zhou提到:打算为大家介绍一些在CCTV或者电视台上看不到的新东西.纹身是一个非常有趣的.半透明的市场,很难找到中国地区有

给中国学生的第四封信

给中国学生的第四封信 李开复 2004年5月 今天,我回复了"开复学生网"开通以来的第1000个问题.关掉电脑后,始终有一封学生来信萦绕在我的脑海里,挥之不去:           开复老师:          就要毕业了.          回头看自己所谓的大学生活,          我想哭,不是因为离别,而是因为什么都没学到.          我不知,简历该怎么写,若是以往我会让它空白.          最大的收获也许是--对什么都没有的忍耐和适应--            

一位技术女站长的办站经历

不知不觉办站已经过了半年,不知道国内有多少女站长,我算是其中一位吧 :( 论坛没开以前很长一段时间在QQ交易类论坛玩,倒不是因为经常交易QQ,而是喜欢写一些QQ类的免费小软件,写给会员们,长期下来也算勉强小有名气,原本是一段悠闲快乐的日子.后来由于各种原因,终于决定和人一起开办论坛了.(三个人,都写过一段时间的免费软件,相约各持论坛1/3所有权) 去年底,一位热心朋友得知消息,就以我们的名义募捐,会员们很踊跃,两.三天内捐到2000RMB左右,当时很感动,谨慎选择IDC,挑选各个试用空间,一个多

有这样一位“卑微”的创业者

创业就是这样的不可预测,人生也真的充满了豪爽 文|查立 1977年,"文革"以后中国的大学第一次开始恢复招生,这一年,北京中央音乐学院进来了一位学长笛的学生.由于家庭出身问题,这位个子瘦小的学生曾经跟随父母流落到了内蒙古的草原上,在当地一户好心人家的收养下,度过了艰苦漫长的童年. 在音乐学院的日子里,这位年轻的学生十分刻苦用功,他当时最大的心愿,就是等到将来有朝一日自己学成出名了,能够有钱收藏一支Haynes牌子的长笛.四年之后,他以优异的成绩从中央音乐学院毕业,又来到美国波士顿的一所

高三学生站长:高考过后再来建站吧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在去年的时候,有位高三学生网友跟着我混互联网,跟着我学做范文网站,当时,我曾忠告过他,叫他认真复习,考个好点的大学,他没听进去,还一如既往地做站,虽然他成了一名站长,但他却付出了沉重的代价.如今又在一个站长群里遇到一位高三学生站长,还是忍不住,想写点东西,给还在坚持做网站的高三站长一个忠告. 学生,应当以学业为重,高考不远了,还是认真地复杂,

答读者问(18):一个大四学生有关专业发展的相关疑问

      最近,我收到一位大四学生的邮件,内容如下:       我是大四物联网专业的学生(兼修工商管理双学位),在学校主要学习的是嵌入式这方面的内容,我在csdn论坛里看到就是关于嵌入式行业发展里说这个行业已经有点夕阳行业的状态了,我也想从事it这一行,现在的问题是,算是稍微有点基础,但是不知道往那个方向走(心里是想走一个比较有前途的行业或者说朝阳行业),我想问一下java+安卓和嵌入式那个的前景好一些,我自己现在是熟悉c的编程,50行的代码没问题.就到这一步.另外就是我自己是比较想偏软件那

人人都能学会编程:这位19岁小伙自己开发了一款iOS应用

中介交易 SEO诊断 淘宝客 云主机 技术大厅 Tywan Wade年仅19岁,在他19年的生活当中,他从来不会让别人阻挡他. 尽管没有任何计算机科学方面的工作经验,只是在Coding Together的项目中学会了C++语言,这位大一学生还是开发出了自己的iPhone应用. Wade的坚持不懈让他做出了一个名为Shortly的天气应用,这个应用的不同之处在于,它能够根据天气情况回答用户的一些特定问题,例如:"我今天能穿短袖吗?" Wade表示:"正是自信让我坚持了下来.在开