Java面试宝典和大学生面试宝典
3 种 考 试 笔 试,电话面试,面试,是顺利求职的 3 个过程。三关全过才能顺 利签约,只要有一关没能通过,就会被“刷”掉。 3.1 笔试 我认为笔试是程序员面试 3 个过程中最重要的一个环节,也是最难 以提升的一个环节。本书中主要叙述的也是程序员的笔试经历。不论你 有多么大的才干,多么广博的知识,如果未能通过笔试,则无缘下面的 进程。下面是一个表,描述了各种 IT 公司笔试所考题目的类型。 公 司 名 称 Trend 公 司 类 型 网络公司 笔 试 内 容 C++ 或 Java,网络,数据库,设计模式,智力测 试,英语阅读 SAP Advantech Synopsys NEC 金山 华为 中兴 VIA 华为 3COM SPSS 软件咨询,ERP,CRM 硬件,自动化公司 电子类公司 综合软件公司 综合软件公司 通信公司 通信公司 硬件公司 网络公司 数据统计软件公司 C++ ,概率问题,设计模式,智力测试 C++ (尤其是指针问题),嵌入式编程 C++ (尤其是指针问题),数据结构 C ,数据结构 C++或 PHP ,数据库,数据结构,设计模式 C++或 Java,数据结构,数据库 C++或 Java,数据结构,数据库 C++ (尤其是指针问题),嵌入式编程 C++ ,网络 C++ (尤其是继承、多态问题),数据结构 程序员面试宝典 (续表) 公 司 名 称 Sybase Motorola IBM Oracle HP 腾讯 Yahoo 微软 神州数码 大唐移动 Siemens Grapecity 公 司 类 型 数据库公司 网络公司 综合软件公司 数据库公司 综合软件公司 综合软件公司 综合软件公司 综合软件公司 金融软件公司 通信公司 数据通信公司 软件公司 笔 试 内 容 C++ ,Linux,UNIX C++ ,网络 C++或 Java Java,数据库 C++ C++ C++或 Java 或 C# C++ ,数据结构,智力测试 C++或 Java,数据结构,数据库(SQL) C++ C++ ,设计模式 C++ ,C#,智力测验 根据上表,对各大 IT 公司的笔试题目和所考的内容,我们可以窥见 一斑,并得出以下几个结论。 1.语言的偏向性 综合上表所示, 公司笔试在编程语言上有一定偏向性, C、 IT 以 C++ 为主或者是以 Java 为主。语言本身并没有什么高低贵贱之分,但相对来 说,考到 Delphi 或者 VB 的可能性很小。作为应届毕业生,如果只是学 过 VB、VF 却从来没有接触过 C 系语言,则在笔试中是比较吃亏的。 2.英语的重要性 我所经历过的外企的笔试卷子基本上都是英语试卷,无论从出题到 解答,都是让你用英文去回答,所以必须有很好的英文阅读能力,这也 是外企招人对英语非常看重的原因。其实也不需要一定通过六级,但一 定要有相对多的单词量,能够看懂考题的意思。然后按自己的想法组织 语言来描述就可以。 国内企业一般对外语要求不是很看重,题目也是中文的。如果不想 进外企的话,也不用特别准备英语。 3.淡看智力测试 之所以要强调这一点,是和市面上过度强调外企智力测试有关。实 际上笔者参加过的微软等外企笔试,智力测试只占很小的比例,约 3%~ 14 在3 种考试中 5%左右。而华为、神州数码等国内 IT 企业基本上没有智力测试,完全是 技术考试。所以奉劝大家不要把精力都投在所谓的外企智力测试上面, 还是应该以准备技术方面的笔试为主。 4.有的放矢准备简历 不同的公司会考不同的内容,这就像高中时准备不同科目考试的差 别。比如说神州数码不会考嵌入式编程,而 VIA 考设计模式的可能性很 小。一般有点儿偏“硬”的 IT 公司会对 C++中指针的用法、数据结构考 得比较多。偏“软”的企业会对设计模式、模板着重一些。所以本书分 得很细,力求对各种 IT 公司的笔试题目做一个详尽的阐述。 作为求职者,笔试前你要首先搞清这个公司的基本情况,它是做什么 的,它有什么产品,你是学什么方面的。有的放矢才能折桂。 5.纸上写程序 搞计算机的肯定不习惯在纸上写程序,然而技术面试的时候这是面 试官最常用的一招。让写的常见程序有:数据结构书上的程序,经典 C 程序(strcmp、strcpy、atoi……) ,C++程序(表现 C++经典特性的) 。第 一次在面试官眼皮底下在纸上写程序,思路容易紊乱。建议大家事先多 练习,找个同学坐在边上,在他面前写程序,把该同学当成面试官。经 过多次考验,在纸上写程序就基本不慌了。 每次面试总会有些问题回答得不好,回来之后一定要总结,把不懂 的问题搞明白。一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。 3.2 电话面试 电话面试主要是对简历上一些模糊信息的确认、之前经历的验证、 针对应聘职位简单技术问题的提问,以及英文方面的考查。 由于模式的限制,电话面试时间不会很长。在这个环节中,一定要 表现得自信、礼貌、认真、严肃,这样会在声音上给对方一个良好的印 象。如果声音慵懒,语气生硬,除非是技术题目及英文方面表现得足够 好,否则很难予以平衡。 15 程序员面试宝典 在回答电话面试的问题时,不要过于紧张,要留心对方的问题,这 些问题也许在当面的面试中还会再出现。如果对方在电话面试中要求你 做英文的自我介绍,或者干脆用英文和你对话,那在电话面试结束后一 定要好好准备英文面试的内容。 笔者曾经参加过 Thoughtworks 、Sybase、 SAP、麒麟原创等公司的电 话面试。外企一般都会要求你做一个英文自我介绍和一些小问题,总的 来说不会太过涉及技术方面,因为用英语来描述技术对国人而言还是有 一定困难的。国企会问到技术问题,我就曾被问到如何在 C++中调用 C 程序、索引的分类等技术问题,回答基本上要靠平时的积累和对知识的 掌控能力。电话面试的具体内容可参见第 18 章。 3.3 面试 一个比较好的面试是能够问出求职者擅长哪方面而哪方面不足的面 试。如果面试官针对求职者不足之处穷追猛打,或是炫耀自己的才能, 这是不足取的。 对于求职者而言,面试是重点环节,要守时是当然的了。如果不能 按时参加面试,最好提前通知对方。着装上不需要过分准备,舒服、干 净就好了。一般的 IT 公司对技术人员都不会有很高的着装要求。虽然着 装不要求,但精神状态一定要好。饱满的精神状态会显得你很自信。 有笔试的话(有时笔试和面试是同时进行的,即面试官会在提问后 请你回答并写下详细描述) 也无非是与应聘职位相关的技术考查或者英 , 文考查,如英汉互译等。应视你应聘职位的等级进行准备。 应聘初级职位,会针对你的编程能力和以往的项目经验进行重点的 考查。如果面试官针对你做的某个项目反复提问,那么你就需要注意了, 要么面试官在这个方面特别精通,要么就是未来的职位需要用到这方面 的技术。我们应该抱着一种诚恳的态度来回答,对熟悉的技术点可以详 细阐述,对于不熟悉的部分可以诚实地告诉面试官,千万不要不懂装懂。 不过,我们同意可以引导与面试官的谈话,把他尽量引导到我们所擅长 的领域。在 SPSS 公司面试时, 在回答完面试官单链表逆置和拷贝构造函 数问题之后,我把话题引入了我所擅长的设计模式方面,这是一种谈话 SPSS 软件咨询,ERP,CRM 硬件,自动化公司 电子类公司 综合软件公司 综合软件公司 通信公司 通信公司 硬件公司 网络公司 数据统计软件公司 C++ ,概率问题,设计模式,智力测试 C++ (尤其是指针问题),嵌入式编程 C++ (尤其是指针问题),数据结构 C ,数据结构 C++或 PHP ,数据库,数据结构,设计模式 C++或 Java,数据结构,数据库 C++或 Java,数据结构,数据库 C++ (尤其是指针问题),嵌入式编程 C++ ,网络 C++ (尤其是继承、多态问题),数据结构 程序员面试宝典 (续表) 公 司 名 称 Sybase Motorola IBM Oracle HP 腾讯 Yahoo 微软 神州数码 大唐移动 Siemens Grapecity 公 司 类 型 数据库公司 网络公司 综合软件公司 数据库公司 综合软件公司 综合软件公司 综合软件公司 综合软件公司 金融软件公司 通信公司 数据通信公司 软件公司 笔 试 内 容 C++ ,Linux,UNIX C++ ,网络 C++或 Java Java,数据库 C++ C++ C++或 Java 或 C# C++ ,数据结构,智力测试 C++或 Java,数据结构,数据库(SQL) C++ C++ ,设计模式 C++ ,C#,智力测验 根据上表,对各大 IT 公司的笔试题目和所考的内容,我们可以窥见 一斑,并得出以下几个结论。 1.语言的偏向性 综合上表所示, 公司笔试在编程语言上有一定偏向性, C、 IT 以 C++ 为主或者是以 Java 为主。语言本身并没有什么高低贵贱之分,但相对来 说,考到 Delphi 或者 VB 的可能性很小。作为应届毕业生,如果只是学 过 VB、VF 却从来没有接触过 C 系语言,则在笔试中是比较吃亏的。 2.英语的重要性 我所经历过的外企的笔试卷子基本上都是英语试卷,无论从出题到 解答,都是让你用英文去回答,所以必须有很好的英文阅读能力,这也 是外企招人对英语非常看重的原因。其实也不需要一定通过六级,但一 定要有相对多的单词量,能够看懂考题的意思。然后按自己的想法组织 语言来描述就可以。 国内企业一般对外语要求不是很看重,题目也是中文的。如果不想 进外企的话,也不用特别准备英语。 3.淡看智力测试 之所以要强调这一点,是和市面上过度强调外企智力测试有关。实 际上笔者参加过的微软等外企笔试,智力测试只占很小的比例,约 3%~ 14 在3 种考试中 5%左右。而华为、神州数码等国内 IT 企业基本上没有智力测试,完全是 技术考试。所以奉劝大家不要把精力都投在所谓的外企智力测试上面, 还是应该以准备技术方面的笔试为主。 4.有的放矢准备简历 不同的公司会考不同的内容,这就像高中时准备不同科目考试的差 别。比如说神州数码不会考嵌入式编程,而 VIA 考设计模式的可能性很 小。一般有点儿偏“硬”的 IT 公司会对 C++中指针的用法、数据结构考 得比较多。偏“软”的企业会对设计模式、模板着重一些。所以本书分 得很细,力求对各种 IT 公司的笔试题目做一个详尽的阐述。 作为求职者,笔试前你要首先搞清这个公司的基本情况,它是做什么 的,它有什么产品,你是学什么方面的。有的放矢才能折桂。 5.纸上写程序 搞计算机的肯定不习惯在纸上写程序,然而技术面试的时候这是面 试官最常用的一招。让写的常见程序有:数据结构书上的程序,经典 C 程序(strcmp、strcpy、atoi……) ,C++程序(表现 C++经典特性的) 。第 一次在面试官眼皮底下在纸上写程序,思路容易紊乱。建议大家事先多 练习,找个同学坐在边上,在他面前写程序,把该同学当成面试官。经 过多次考验,在纸上写程序就基本不慌了。 每次面试总会有些问题回答得不好,回来之后一定要总结,把不懂 的问题搞明白。一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。 3.2 电话面试 电话面试主要是对简历上一些模糊信息的确认、之前经历的验证、 针对应聘职位简单技术问题的提问,以及英文方面的考查。 由于模式的限制,电话面试时间不会很长。在这个环节中,一定要 表现得自信、礼貌、认真、严肃,这样会在声音上给对方一个良好的印 象。如果声音慵懒,语气生硬,除非是技术题目及英文方面表现得足够 好,否则很难予以平衡。 15 程序员面试宝典 在回答电话面试的问题时,不要过于紧张,要留心对方的问题,这 些问题也许在当面的面试中还会再出现。如果对方在电话面试中要求你 做英文的自我介绍,或者干脆用英文和你对话,那在电话面试结束后一 定要好好准备英文面试的内容。 笔者曾经参加过 Thoughtworks 、Sybase、 SAP、麒麟原创等公司的电 话面试。外企一般都会要求你做一个英文自我介绍和一些小问题,总的 来说不会太过涉及技术方面,因为用英语来描述技术对国人而言还是有 一定困难的。国企会问到技术问题,我就曾被问到如何在 C++中调用 C 程序、索引的分类等技术问题,回答基本上要靠平时的积累和对知识的 掌控能力。电话面试的具体内容可参见第 18 章。 3.3 面试 一个比较好的面试是能够问出求职者擅长哪方面而哪方面不足的面 试。如果面试官针对求职者不足之处穷追猛打,或是炫耀自己的才能, 这是不足取的。 对于求职者而言,面试是重点环节,要守时是当然的了。如果不能 按时参加面试,最好提前通知对方。着装上不需要过分准备,舒服、干 净就好了。一般的 IT 公司对技术人员都不会有很高的着装要求。虽然着 装不要求,但精神状态一定要好。饱满的精神状态会显得你很自信。 有笔试的话(有时笔试和面试是同时进行的,即面试官会在提问后 请你回答并写下详细描述) 也无非是与应聘职位相关的技术考查或者英 , 文考查,如英汉互译等。应视你应聘职位的等级进行准备。 应聘初级职位,会针对你的编程能力和以往的项目经验进行重点的 考查。如果面试官针对你做的某个项目反复提问,那么你就需要注意了, 要么面试官在这个方面特别精通,要么就是未来的职位需要用到这方面 的技术。我们应该抱着一种诚恳的态度来回答,对熟悉的技术点可以详 细阐述,对于不熟悉的部分可以诚实地告诉面试官,千万不要不懂装懂。 不过,我们同意可以引导与面试官的谈话,把他尽量引导到我们所擅长 的领域。在 SPSS 公司面试时, 在回答完面试官单链表逆置和拷贝构造函 数问题之后,我把话题引入了我所擅长的设计模式方面,这是一种谈话