程序员求职之道(《程序员面试笔试宝典》)之企业面试笔试攻略(互联网)?

当无数IT企业来临的时候,到底是应该广撒网还是应该集中优势兵力重点突击某一个或是某几个,一直是困扰应届毕业生的问题。其实不仅是应届毕业生,对于有工作经验的人而言,也会为此问题烦恼。对于这个问题,“仁者见仁,智者见智”,但无论选择哪一种方法,在进行求职时,都需要了解自己应聘企业的招聘相关信息,找准“攻击点”,集中火力,切入进去,然后猛烈攻击,最终必将事半功倍,取得意想不到的效果。

本章以当前主流IT企业为蓝本,针对不同类型的IT企业,例如互联网企业、网络设备提供商、外企、研究所、国企(包括电信运营商以及银行等)、创业型企业等,对其面试笔试进行一对一的强力分析,包括招聘流程,面试笔试内容,笔试面试真题、面试需要注意的事项以及推荐知识点学习等,庖丁解牛,拨开这些企业面试笔试的神秘面纱,将其最直观的一面展现在求职者面前,希望通过这些分析,给读者一个豁然开朗、柳暗花明又一村的感觉。

互联网企业

互联网的发展以人类无法想象的速度进行着,正如十年前没有谁能够想象得到互联网会对今天人们的生活产生如此深远和巨大的影响一样,我们也很难想象得到未来十年互联网会是什么样子,但毋庸置疑,未来互联网的高速发展仍然不会停止,一系列新的技术,例如云计算、物联网、移动互联网等,将会继续蓬勃发展,对人们的生活产生巨大的变革,促进人类社会的飞速发展。

而伴随着互联网的发展,也产生了一大批优秀的互联网企业,有做门户网站的、有做搜索的、有做网络安全的、有做网络游戏的、有做电子商务的,林林总总。互联网的发展,铸就了这些行业巨头,而反过来,它们的存在也极大地推动了整个互联网产业的发展。

互联网行业作为当前的高薪行业,动辄十几万,甚至几十万的年薪,让无数青年才俊、IT英才神魂颠倒。而作为求职者,要想敲开这些名企的大门,也并非一件非常容易的事情,需要做好很多准备事项,否则,最终的结果只能是“落花有意随流水,流水无心恋落花”。

1、招聘流程

随着全球经济的回暖,互联网企业的招聘规模也日趋扩大,很多互联网企业也由以前的零零散散招聘,变为现在的大肆招兵买马、扩军备战,动辄招聘上千人。所以,作为求职者,挑战虽然存在,但机会依然很多。

互联网的招聘一般从每年的九月份开始,一直持续到十一月份,他们会选择国内一些IT专业比较强的大学作为招聘点,例如:清华大学、中国科学技术大学、上海交通大学、东南大学、浙江大学、华南理工大学、西安电子科技大学、武汉大学、西安交通大学、哈尔滨工业大学等名牌高校。

互联网的招聘流程一般也比较严格,主要包括以下几个步骤:网上注册简历—宣讲会—筛选简历—笔试—专业面试一—专业面试二—HR面试—综合面试—最终录用。需要注意的是,由于企业每年的招聘信息都可能会有变动,所以求职者应该更多地关注一下企业的招聘流程,做到实时更新。

2、 面试笔试注意事项

互联网是一个更新迅速的行业,所以在求职互联网企业的过程中,保持一颗平常心,相信自己,同时自己平时要多积累,多看与自己专业、职业相关的东西,比如上一些比较专业的技术网站,扩展自己的知识面,从而开阔自己的视野。

对于互联网企业的面试而言,首先,好好准备面试。因为互联网企业一般都比较年轻,他们比较注意对求职者归属感的培养,所以在求职之前,求职者需要了解该企业的企业文化,了解自己应聘的职位,只有知己知彼才能百战百胜。同时,分析各大企业历年的笔试面试题,往往能够发现很多“猫腻”,就是会出现很多一模一样的题,而且很多问题都是反反复复的被问及,所以一定要对一些经常被问到的问题事先做好相关的准备,例如个人优缺点、个人兴趣爱好、如何自我介绍等,做到有备无患。对于简历的内容一定要做到严谨、仔细、认真,面试官通常会针对简历或材料提出问题,所以简历里最好可以突出重点,吸引面试官的注意力,进而争取到比较大的发挥空间。同时,自己需要事先准备好几个最后提问的问题,一般面试官在最后会问求职者对公司有没有其他问题需要进一步了解的,最好可以问上一两个,一方面可以对公司了解深入一些,另一方面也可以表现求职者的积极态度。

其次,不要不懂装懂,尤其是互联网企业的招聘。技术型面试中,面试官个个都是身经百战的老手,他们也是从求职者过来的,对求职者的心态了如指掌,所以在他们面前,不会就是不会,不要抱着侥幸的心理以为可以糊弄过关,其实企业对应届毕业生在技术上要求不会太高,掌握好基础知识就行了,弄虚作假的人是得不到企业青睐的。不该说的话绝对不要多说,尤其是人力资源类的面试,多说一句不合适的话往往就搞砸了整个面试。

最后,就是调整好心态,充满信心,保持淡定,Hold住。看着那么多人匆忙的脚步以及面试前的那种压抑的气氛,人很容易紧张,其实大可不必,互联网企业的面试官一般都是很有修养的,应聘的目的不是为了让求职者出丑,而是为了最大限度地发掘人才。面试每个人被问到的问题差异都很大,技术类面试一般针对你简历或者其他面试材料来问,除了技术问题,也涉及到一些工作能力的考查,比如效率观念等。人力资源类的会问到学习成绩、性格、沟通能力等问题,具体也很大不同,但是问题数量不算太多。

除了需要注意常见的面试笔试技巧与细节外,还要针对互联网企业招聘的特点进行一些必要的准备,避免一些不应该的错误,主要有以下一些方面的内容需要注意:

(1)       互联网企业一般对求职者的在校成绩没有硬性要求,但是会把成绩当作一个重要的衡量标准,所以成绩好是一个很大的优势。但对于专业技术一流,但成绩不够理想的人来说,一样可以进入互联网企业,而不应该还未出战就认输了。

(2)       由于企业实际业务需求以及岗位本身的发展机遇,企业可能需要对求职者的工作地点做出相应的安排,所以求职者需要在面试中与面试官进行及时的沟通与协调,因为有些业务的实际工作地点可能与招聘宣讲的不一样,所以一定要注意工作地点的问题。

(3)       一段知名企业的实习经历,可以为自己找工作增加非常重的砝码,尤其是当你要进入某一个互联网企业时,通过在企业实习实现留在企业工作的愿望一点都不难。例如,某些互联网企业会在每年四五月份进行实习生招聘,提前在应届毕业生中发掘并笼络人才,所以对于希望进入该企业的应届毕业生而言,此不失为一种捷径。而且即使未能通过它的实习生甄选,仍然可以继续申请应届生校园招聘,一般也不会受到任何影响。

(4)       在校期间有机会多参与该企业组织的各种活动,很多互联网企业都会提供一些科技竞赛平台,发掘科技人才,例如一些互联网企业组织的创新设计大赛、程序设计大赛等。除此之外,很多互联网企业会在一些高校设置俱乐部,一般而言,创新设计大赛获奖者以及企业俱乐部的主要负责人都有进入该互联网企业的“绿色通道”,相比其他求职者机会更多。

(5)       从事研发的程序员一般都比较随意,除非是销售或是其它特殊场合(例如银行、外企等),在面试的过程中,一般都不用穿正装,否则成不了鹤立鸡群,就成了鸡立鹤群,引起笑话,影响面试结果。

(6)       在对参与过的项目进行介绍时,不能一味的按照事前准备好的模板照本宣科,而应该根据所申请的工作的性质,多说一些与自己申请的工作内容相近的东西。例如,如果是搜索类企业,就可以多提及一些与搜索有关的项目,如果是安全类企业,就可以多提及一些有关网络安全的项目。

(7)       有些在北京、上海设置有岗位的互联网企业,很难解决当地户口。由于每个公司得到的指标数量都是由北京市政府调控,而且户口指标越来越严格,很多互联网企业在解决户口上不能给予绝对承诺,但是会尽力争取,除非特别牛的人是企业极力挽留的人以外,其他人就不要作有户口的幻想了。所以,当HR们承诺解决户口时,一定要留心,谨防受骗。

(8)       很多互联网企业为求职者提供的offer都并非都完全一样,所以一定要区分顶级offer与普通offer。顶级offer是企业给予的面试笔试非常优秀者的绿色通道,一般而言,拿到顶级offer的求职者在各个方面都较普通offer好,例如待遇、户口、发展前景等。所以求职者一定要擦亮自己的眼睛,能够拿到企业的顶级offer或是有资格与企业谈条件的时候,一定不要放过机会,例如当手握GoogleMicrosoftoffer的时候,就完全可以与现在的企业谈条件了。

(9)       很多互联网企业,实行内推制,即通过内部员工可以推荐校友、师弟师妹、朋友等来此工作,如果被推荐的人最终被该企业录取了,推荐者也会获得该企业提供的“伯乐奖”,这对推荐者与被推荐者来说都是一个莫大的荣耀,所以如果有机会,一定要通过各种渠道“求内推”。

(10)   互联网企业一般不鼓励违约,但是也不反对违约,你不愿意去,愿意去他们企业的人排着队等着,所以如果提出违约,一般需要违约金为5000元。

(11)   互联网企业的面试看起来有点随意,其实对每个人而言机会都是均等的,它会给予求职者足够的机会来证明自己的优秀,无论是名牌高校的毕业生还是普通高校的毕业生,无论是本科生还是研究生,只要足够优秀,都会给予机会。

(12)   不要被同一根绳子绊倒两次。因为面试有时候可能有跨度,每一轮面试的面试官都不一样,但同一个问题可能会被不同的面试官提问。所以有些问题在面试的时候没回答好,面试完后一定要仔细思考,以防在下一次或是下一个公司面试中也遇到同样的情况。最好能够将自己的面试内容做好记录,面试完回去后好好想想。

(13)   学会纸上写程序。求职者学习计算机时,一般都是在计算机上敲代码,不习惯在纸上写程序,但是在进行技术面试的时候,一般都需要在纸上写代码,在纸上写代码一般都容易出错,思路也比较紊乱,所以最好事先多练习。

(14)   建议准备一个日程本,记录每一次宣讲会、笔试和面试的时间,这样一旦企业打电话来预约面试,可以马上查找日程本上的空闲时间,不至于发生时间上的冲突。每投一份简历,记录下企业的职位和要求,如果一段时间以后(1个月或更长)有面试机会,可以翻出来看看,有所准备。否则,因为投递简历太多,最后造成面试笔试张冠李戴的后果,引出笑话。

(15)   互联网企业的行业特性导致在互联网企业工作,工作强度、工作压力都比较大,工作也比较辛苦,高薪意味着高付出,但高付出同时也会为自己带来高回报,高薪不是叫出来的,是踏踏实实干出来的。

(16)   大型互联网企业的用户群广泛,他们对海量数据处理很感兴趣,尤其是在面试笔试的过程中的压轴大题都是海量数据处理,所以在应聘前一定要研究海量数据的处理问题,做到有备无患。

3、 真题分析

以下摘选一些著名互联网企业的部分面试笔试真题以及考察知识点供读者参考。

(1)       extern的作用。

(2)       strstr函数的作用。

(3)       Windows下线程优先级问题。

(4)       多方法交换xy的值。

(5)       指针的自加与引用。

(6)       前置++与后置++

(7)       inline的作用。

(8)       二维数组的表示。

(9)       ifndef的作用。

(10)   KMP算法。

(11)   函数调用方式。

(12)   重载函数。

(13)   构造函数与析构函数。

(14)   合并两个有序链表。

(15)   逻辑推理—智力题。

(16)   100亿条记录的文本文件,取出重复数最多的前10条。

(17)   设计一个双向链表,并提供一个可根据值删除元素的函数。

(18)   二叉树的多种遍历算法实现。

(19)   有读和写两个线程和一个队列,读线程从队列中读数据,写线程往队列中写数据。

(20)   stackheapmemory-pool

(21)   TCP的流量控制和拥塞控制机制。

(22)   写一个函数,返回一个字符串中只出现一次的第一个字符。

(23)   求一个数组中第k大的数的位置。

(24)   面向对象继承、多态问题,例如多态的实现机制。

(25)   内联函数什么时候不展开。

(26)   成员初始化列表有什么作用?什么必须在成员初始化列表中进行初始化?

(27)   指针与引用的区别。

(28)   创建空类时,哪些成员函数是系统默认的?

(29)   10wIP段,这些IP段之间都不重合,问随便给定一个IP,求出属于哪个IP段。

(30)   网络编程(网络编程范式,非阻塞connect)。

(31)   TCP/IP协议。

(32)   Linux的命令、原理以及底层实现。

(33)   Linux编程,包括所有互斥的方法、多线程编程,进程间通信。

(34)   一个一维数轴上有不同的线段,求重复最长的两个线段。例如:a1~3b2~7c2~8,最长重复是bc

(35)   有向带权图最短路径。

(36)   内存溢出与内存泄露有什么区别?

(37)   利用互斥量和条件变量设计一个消息队列,具有以下功能:(1)创建消息队列(消息中所含的元素)(2)消息队列中插入消息(3)取出一个消息(阻塞方式)(4)取出第一消息(非阻塞方式)。注意:互斥量、条件变量和队列由系统给定。

(38)   用非递归方法完成二叉树的遍历。

(39)   cnwapcnnet的区别。

(40)   设计一个内存管理策略,要求可以保证多线程时的安全,防止内存越界等,效率不低于malloc/free函数。

(41)   排列组合问题。

(42)   若有序表的关键字序列为(b, c, d, e, f, g, q, r, s, t),则在二分查找关键字b的过程中,先后进行比较的关键字依次是什么?

(43)   有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进出(FIFO)页面淘汰算法,当执行如下访问序列后,1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?

(44)   有一个顺序栈S,元素s1s2s3s4s5s6依次进栈,如果6个元素的出栈顺序为s2s3s4s6s5s1,则顺序栈的容量至少应该有多少?

(45)   [0,2,1,4,3,9,5,8,6,7]是以数组形式存储的最小堆,删除堆顶元素0后的结果是多少?

(46)   某页式存储管理系统中,地址寄存器长度为24位,其中号占14位,则主存的分块大小是多少字节?

(47)   运算符重载。

(48)   各种排序算法使用与比较。

(49)   一维数组默认初始化问题。

(50)   const char* p1 = “hello”; char* const p2 = “world”;有什么区别?

(51)   structclass有什么区别与联系?

(52)   函数指针与指针函数的区别。

(53)   指针数组与数组指针的区别。

(54)   大端小端。

(55)   虚函数问题。

(56)   如何判断单链表是否有环?

 

互联网企业的面试中,除了一些常见的技术面试问题外,还有一些与项目、性格有关的问题,例如:

(1)       自我介绍。

(2)       项目相关问题。

(3)       了解我们企业吗?

(4)       家乡是哪里的?为什么要来我们这个城市工作?

(5)       为什么会选择我们企业?

(6)       为什么选择这个职位?

(7)       竞赛获奖以及论文。

(8)       自己的职业规划是什么?

(9)       谈谈自己的优势与劣势。

(10)   你是怎么在团队合作中发挥作用的?

(11)   结合简历中的实习经历问一些细节。

(12)   对我们企业的理解,喜欢我们吗?

(13)   个人优缺点。

(14)   个人对薪资问题。

(15)   可以实习吗?

(16)   你的同学为什么不选择我们企业?

(17)   如果你没有被录用,你觉得可能是什么问题?

(18)   你有什么问题问吗?

4、 推荐知识点学习

通过真题发现,知名的互联网企业一般知识面考察的比较广,从基本的语言知识,到面向对象技术,从排序到二叉树,从逻辑推理到海量数据处理,从英语题到智力题,都有涉猎,所以最好的准备是从平时积累开始,拓宽自己的知识面。

同时由于互联网企业侧重点往往不同,针对这一特性,,需要重点突出某一点,例如如果是以搜索为核心的互联网企业,就需要更加侧重于算法、操作系统、数据库等相关知识的研究;如果是电子商务企业,则除了基础知识以外,还需要学习一些Java相关知识;如果是网络安全企业,则还需要学习有关软件安全、网络安全的专业知识了。

但总的来说,重点还是应该放在学习C/C++、数据结构与算法以及海量数据信息处理上。 


posted on 2014-10-02 18:24  anyuan9  阅读(132)  评论(0编辑  收藏  举报

导航