程序员面试技巧大梳理(共五则)

时间:2019-05-12 20:03:25下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《程序员面试技巧大梳理》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《程序员面试技巧大梳理》。

第一篇:程序员面试技巧大梳理

程序员面试技巧大梳理

程序员面试技巧大梳理

郭帅

1.着装篇

程序员的面试和其他的面试不同,不要求面试着穿的西装革履,也不需要程序媛打扮的天花乱坠,当然你也不可能穿着程序员战斗套装去参与面试裤头-背心-趿拉板。其实程序员的面试着装要注意干净整洁,可以背双肩包,总之一句话让别人一眼看上去,就觉得你是一位资深开发人员最好了。这里面有1个小案例希望大家能从中学习。案例1.一位程序员去面试的前一天因为某些不可描述的原因,晚上睡觉睡的很晚。第二天头也没洗,带着黑眼圈就出去面试了。到了面试地点,技术官看到他,觉得十

分诡异,就问了一句,小伙子你状态怎么这么差。由于这位程序员比较的机智,反手就是一个么么哒,哦不是,反手就是一句话,我之前公司加班比较的累,可能黑眼圈比较的重,不好意思,顺势还打了个哈欠。面试官看了不太忍心的说,放心吧小伙子,我们公司加班没有那么的严重。这个案例1就是所谓的衣着和身份的匹配加上该程序员临场的应变能力。成功的赢取了面试官的好感。

2.简历投递篇

简历的投递也是面试的重要环节,下面介绍一下简历投递的技巧。技巧1超级无敌海底佛跳墙,也就是只选好面试的城市和薪资和职位之后开始无限制,惨绝人寰的海投,投到面试安排的满满当当为止。这种投递方式适合面试初期的程序员,主要用于积累面试经验和收集素材。技巧2区域划分政策,也就是按照区域投递自己的简历,这样的方式能够使得自己的面试变得轻松一些,可以少跑不少冤枉路,也可弄个

Excel,安排好每天的面试,尽量把距离近的公司安排到一起,增加面试的效率。技巧3利用一些专业的投递网站,这里不是打广告。在经历过前面的大范围面试之后,第一确立了自己的面试目标,第二准备好了自己的面试话术,这个时候就是需要精挑细选的时候了,推荐2个网站拉钩和boss直聘。根据自己的需求去对接了解。技巧4人际关系篇,大家可能听过很多的内推啊之类的东西,但是有的程序员说我没有这方面的资源怎么办啊。这里教你一招,去加qq群去群里认识一些朋友,有可能会发现一些猎头,也有可能发现一些公司的招聘信息,这个时候直接一个窗口怼过去私聊他,如果能聊的开心,很有可能会赢取一次内推的机会。

3.人事面试篇

人事面试一般都妹子给程序员面试,这里注意,虽然平时看妹子的机会不多,面试的时候也不要总是紧盯着妹子去看,不然人家会不好意思的。还有

注意就是不要为了展现自己去跟人事夸夸其谈技术,这样是很招人烦的。和人事的交谈可以多问问他们,公司的情况反客为主。

这时候人事发现你对他们公司十分的关系,会提升对你的好感度。和人事聊天,注意突出你的3点能力,抗压,沟通和学习能力。

4.技术面试篇

这里就要说一句是时候展现真正的技术了。和技术官面试到底有没有套路呢,答案是肯定的。有。技巧1答非所问,如果面试官问到了你不会的问题千万别愣神,想尽办法去回答和该问题相关的周边问题。最后在落实一句这个技术我真的不是很了解。这样做不会减分太多。技巧2多米诺骨牌大法,回答一个问题的时候一定不是只回答一个问题,一定要想办法把自己精通的技术拉扯上来。这样做一方面能更好的表现自己一方面面试官会觉得你有扩展性。其实很多面试官也会词穷,他只是想更好 的了解你,你自己能去介绍何乐而不为呢。技巧3拍马屁大法,遇到真一点都打不上的的问题的时候,准备好了开始捧面试官了,多说点好话,一般做技术的都比较高傲,这个时候以请教的态度去问问他,相信他会跟你说的除非他自己不会他会让你回去自己查查看,听得过程中务必暴露崇拜的眼神。这样的面试非但不会减分,还有可能会加分,当然妹子使用最佳。

本文由黑马程序员上海校区就业部郭帅老师投稿

第二篇:JAVA程序员面试技巧

java程序员面试题 第一部分:选择题 question no: 1

1、public class test { public static void changestr(string str){ } public static void main(string[] args){ string str=1234;changestr(str);system.out.println(str);} } please write the output result : question no:2 1.public class test { 2.static boolean foo(char c){ 3.system.out.print(c);4.return true;5.} 6.public static void main(string[] argv){ 7.int i =0;8.for(foo(a);foo(b)&&(i<2);foo(c)){ 9.i++;10.foo(d);12.} 13.} 14.} what is the result? a.abdcbdcb b.abcdabcd d.an exception is thrown at runtime.question no: 3 1.class a { 2.protected int method1(int a, int b){ return 0;} 3.} which two are valid in a class that extends class a?(choose two)a.public int method1(int a, int b){ return 0;} b.private int method1(int a, int b){ return 0;} c.private int method1(int a, long b){ return 0;} d.public short method1(int a, int b){ return 0;} e.static protected int method1(int a, int b){ return 0;} question no: 4 1.public class outer{ 2.public void someoutermethod(){ 3.// line 3 4.} 5.public class inner{} 6.public static void main(string[]argv){ 7.outer o = new outer();8.// line 8 9.} 10.} which instantiates an instance of inner? a.new inner();// at line 3 b.new inner();// at line 8 c.new o.inner();// at line 8 d.new outer.inner();// at line 8//new outer().new inner()question no: 5 which method is used by a servlet to place its session id in a url that is written to the servlet’s response output stream? question no: 6 which two are equivalent?(choose two)a.b.c.d.e.f.g.question no: 7 which of the following statements regarding the lifecycle of a session bean are correct? 1.java.lang.illegalstateexception is thrown if sessioncontext.getejbobject()is invoked when a stateful session bean instance is passivated.2.sessioncontext.getrollbackonly()does not throw an exception when a session bean with bean-managed transaction demarcation is activated.3.an exception is not thrown when sessioncontext.getusertransaction()is called in the afterbegin method of a bean with container-managed transactions.5.accessing resource managers in the sessionsynchronization.afterbegin method of a stateful session bean with bean-managed transaction does not throw an exception.第二部分:概念题

1.描述struts体系结构?对应各个部分的开发工作主要包括哪些? 3.jsp有哪些内置对象和动作?它们的作用分别是什么?

4、sql问答题

select * from table 和

select * from table where name like %% and addr like %% and(1_addr like %% or 2_addr like %% or 3_addr like %% or 4_addr like %%)的检索结果为何不同?

5、sql问答题

表结构:

1、表名:g_cardapply 字段(字段名/类型/长度): g_applyno varchar 8;//申请单号(关键字)g_applydate bigint 8;//申请日期 g_state varchar 2;//申请状态

2、表名:g_cardapplydetail 字段(字段名/类型/长度): g_applyno varchar 8;//申请单号(关键字)g_name varchar 30;//申请人姓名 g_idcard varchar 18;//申请人身份证号 g_state varchar 2;//申请状态

其中,两个表的关联字段为申请单号。

题目:

1、查询身份证号码为***的申请日期

2、查询同一个身份证号码有两条以上记录的身份证号码及记录个数

3、将身份证号码为***的记录在两个表中的申请状态均改为07

4、删除g_cardapplydetail表中所有姓李的记录

华为java笔试题

一、单项选择题

1.java是从()语言改进重新设计。a.ada b.c++ c.pasacal d.basic篇二:java程序员面试注意事项

一、回答问题的思路

先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再来一些锦上添花的东西。要注意有些不是锦上添花,而是画蛇添足的东西,不要随便写上。把答题像写书一样写。我要回答一个新技术的问题大概思路和步骤是:我们想干什么,干这个遇到了什么问题,现在用什么方式来解决。其实我们讲课也是这样一个思路。

答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)。答案的层次分明,条理清楚都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来!

另外,不要因为人家题目本来就模棱两可,你就心里胆怯和没底气了,不敢回答了。你要大胆地指出对方题目很模糊和你的观点,不要把面试官想得有多高,其实他和你就是差不多的,你想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗?

二、关于就业薪水

如果你是应届生,那不能要高工资,好比大饼的故事,要拿高工资,就去中关村!少数人基础确实很好,在校期间确实又做过一些项目,那仍然是可以要到相对高的工资的。

初级程序员薪水:2000-4500 中级程序员薪水:4000-7000 高级程序员薪水:7000以上

公司招聘程序员更看重的要用到的编码技术、而不是那些业务不太相关的所谓项目经历:

三、公司想招什么样的人

对于一些公司接到了一些项目,想招聘一些初中级的程序员过来帮助写代码,完成这个项目,你更看重的是他的专业技术功底,还是以前做过几个项目的经历呢?我们先排除掉那些编码技术功底好,又正好做过相似项目的情况,实际上,这种鱼和熊掌兼得的情况并不常见。其实公司很清楚,只要招聘进来的人技术真的很明白,那他什么项目都可以做出来,公司招人不是让你去重复做你以前的项目,而是做一个新项目,业务方面,你只要进了项目团队,自然就能掌握。所以,大多数招聘单位在招聘那些编码级别的程序员时也没指望能招聘到做过类似项目的人,也不会刻意去找做过类似项目的人,用人单位也不是想把你招进,然后把你以前做过的项目重做一遍,所以,用人单位更看重招进来的人对要用到的编码技术的功底到底怎样,技术扎实不扎实,项目则只要跟着开发团队走,自然就没问题。除非是一些非常专业的行业,要招聘特别高级的开发人员和系统分析师,招聘单位才特别注重他的项目经验和行业经验,要去找到行业高手,公司才关心项目和与你聊项目的细节,这样的人通常都不是通过常规招聘渠道去招聘进来的,而是通过各种手段挖过来的,这情况不再我今天要讨论的范围中。

四、公司面试会问什么,.技术学得明白不明白,人家几个问题就把你的深浅问出来了,只要问一些具体的技术点,就很容易看出你是真懂还是假懂,很容看出你的技术深度和实力,所以,技术是来不得半点虚假的,必须扎扎实实。

由于项目的种类繁多,涉及到现实生活中的各行各业,什么五花八门的业务都有,例如,酒店房间预定管理,公司车辆调度管理,学校课程教室管理,超市进销存管理,知识内容管理,等等……成千上万等等,但是,不管是什么项目,采用的无非都是我们学习的那些目前流行和常用的技术。技术好、经验丰富,则项目做出来的效率高些,程序更稳定和更容易维护些;技术差点,碰碰磕磕最后也能把项目做出来,无非是做的周期长点、返工的次数多点,程序代码写得差些,用的技术笨拙点。如果一个人不是完完全全做过某个项目,他是不太关心该项目的业务的,对其中的一些具体细节更是一窍不知,(如果我招你来做图书管理,你项目经历说你做过汽车调度,那我能问你汽车调度具体怎么回事吗?不会,所以,你很容易蒙混过去的)而一个程序员的整个职业生涯中能实实在在和完完整整做出来的项目没几个,更别说在多个不同行业的项目了,有的程序员更是一辈子都只是在做某一个行业的项目,结果他就成了这个行业的专家(专门干一件事的家伙)。所以,技术面试官通常没正好亲身经历过你简历写的那些项目,他不可能去问你写的那些项目的具体细节,而是只能泛泛地问你这个项目是多少人做的,做了多长时间,开发的过程,你在做项目的过程中有什么心得和收获,用的什么技术等面上的问题,所以,简历上的项目经历可以含有很多水分,很容易作假,技术面试官也无法在项目上甄别你的真伪。

五、简历怎么写

简历该怎么写:精通哪些技术,有一些什么项目经历

六、怎样达到简历上的标准(培训中心教项目的目的)教项目是为了巩固和灵活整合运用技术,增强学习的趣味性,熟悉做项目的流程,或得一些专业课程中无法获得的特有项目经验,增强自己面试的信心。讲的项目应该真实可靠才有价值,否则,表面上是项目,实际上还是知识点的整合,对巩固技术点和增强学习的趣味性,但无法获得实际的项目经验。

第三篇:java程序员面试自我介绍技巧

java程序员应试者应充分利用各种个人资源。想了解java程序员面试指南?除了前面提到的应试者面带微笑、目光交流、坐姿端正等表情、身体语言外,请以沉稳平静的声音、以中等语速、以清晰的吐字发音、以开朗响亮的声调给考官以愉悦的听觉享受,声音小而模糊、吞吞吐吐的人,一定是胆怯、紧张、不自信和缺乏活力与感染力的。面试中java程序员自我介绍的重要性:通过自我介绍,主动地向面试考官推荐自己,这是面试组成结构的重要内容,同时也是面试测评的重要指标。下面一起来透视java程序员面试指南,java程序员自我介绍。

java程序员面试指南--实力是关键

可以分为实际操作的能力和理论上的知识。虽然上机很少,但是毫无疑问的是,如果你在IDE下很强,那么你就有很强的自信。有自信不一定行,但没有自信一定不行,我想大多数人都是这样认为的吧!理论的东西你可以花点时间系统的研究一下,不过如何才算系统呢?我也不知道,我是把《java2核心技术》看了两遍。

java程序员面试指南--态度是成功的催化剂

态度说穿了就是面试技巧问题,你的实际态度不重要,重要的是如何让他认为你态度不错,是个“知书达理”的好孩子。将来是否好管理是老板一类的人最在意的。

java程序员面试指南--经验是能力体现

这个没有什么好说的,一般来说经验越多,能力越强。如果他要求的工资不高的话,当然优先啦!小公司通常都是这么想的。

java程序员面试指南--运气也需要

我有同学,大学毕业之后在广州找了两个月没有找到工作,主要原因一是基础差点,加上没有经验,笔试,面试都过不去。偏偏有一次他去应聘,笔试答完之后,本来是技术员给他面试的,经理刚好过来。就问了他是哪里人,大学有没有补考之类的问题,五分钟之后就让他下个星期过来上班,月薪2500。后来他了解了一下,经理录用他的理由很简单,我同学是安徽人,经理接触过的安徽人给他的印象很好,什么踏实,肯干,任劳任怨。总之就是安徽人有优先权。不过我怎么感觉主要的理由是“比较听话”。

java程序员自我介绍--报出自己的姓名和身份

可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及。这是礼貌的需要,还可以加深考官对你的印象。

java程序员自我介绍--简单地介绍一下你的学历、工作经历等基本个人情况

请提供给考官关于你个人情况的基本的、完整的信息,如:学历、工作经历、家庭概况、兴趣爱好、理想与报负等。这部分的陈述务必简明扼要、抓住要点。例如介绍自己的学历,一般只需谈本专科以上的学历。工作单位如果多,选几个有代表性的或者你认为重要的介绍,就可以了,但这些内容一定要和面试及应考职位有关系。请保证叙述的线索清晰,一个结构混乱、内容过长的开场自,会给考官们留下杂乱无章、个性不清晰的印象,并且让考官倦怠,削弱对继续进行的面试的兴趣和注意力。

应试者还要注意这部份内容应与个人简历、报名材料上的有关内容相一致,不要有出入。在介绍这些内容时,应避免书面语言的严整与拘束,而使用灵活的口头语进行组织。这些个人基本情况的介绍没有对或错的问题——都属于中性问题,但如果因此而大意就不妥了。

java程序员自我介绍--以经验来说明自己的能力

接下来由这部份个人基本情况,自然地过渡到一两个自己本科或工作期间圆满完成的事件,以这一两个例子来形象地、明晰他说明自己的经验与能力,例如:在学校担任学生干部时成功组织的活动;或者如何投入到社会实践中,利用自己的专长为社会公众服务;或者自己在专业上取得的重要成绩以及出色的学术成就。

java程序员自我介绍--说明应聘该职位的原因

接下来要着重结合你的职业理想说明你应考这个公务员职位的原因,这一点相当重要。你可以谈你对应考单位或职务的认识了解,说明你选择这个单位或职务的强烈愿望。原先有工作单位的应试者应解释清楚自己放弃原来的工作而做出新的职业选择的原因。你还可以谈如果你被录取,那么你将怎样尽职尽责地工作,并不断根据需要完善和发展自己。当然这些都应密切联系你的价值观与职业观。不过,如果你将自己描述为不食人间烟火的、不计较个人利益的“圣人”,那么考官们对你的求职动机的信任,就要大打折扣了。

对于 java程序员自我介绍,这里我们介绍了一条清晰的线索,便于你组织你的自我介绍。为了保证结构明确,有条有理,你可以多用短句子以便于口语表述,并且在段与段之间使用过渡句子,口语也要注意思路、叙述语言的流畅,尽量避免颠三倒四,同一句话反复说几遍的“粘糊劲,同时不要用过于随便的表述。而在java程序员面试指南里建议读者不要表示将来踏上工作岗位,将“一定要……“绝对……诸如此类的保证,似乎在做就职演讲。这些例子很多画蛇添足似的自我介绍不但不会为你的形象增添色彩,会“越抹越黑”!。

第四篇:求职面试程序员的技巧和注意事项

我们在面试程序员的时候一定要注意一些面试技巧和注意事项。程序员是从事程序开发、维护的专业人员。大家都知道求职程序员岗位一定要专业知识雄厚,但是在求职过程中注意基本礼仪和技巧是必不可少的。还需要对自我的认知,是否适合此工作。

了解自己

与很多人的看法不同,所有的程序员都是不一样的。了解您是哪一种类型的程序员对找到合适的工作是很关键的。尽管您也许能完成许多不同类型的编程任务,但您对这些任务的兴趣却是不同的。做并非真正喜欢的事情在短时间内是可以的,但对于需要长时间持续做的事情,您需要有兴趣,对所做的事情感到兴奋。最好的程序员对他们的工作充满激情,对于兴趣一般的事情,您是不会真正产生激情的。如果您不能确定自己是否喜欢,可以问自己以下问题:

1.您是一名架构师还是一名编码人员?

每一个编码职位都需要某方面的设计能力,但某些工作比其他工作更需要设计能力。如果您喜欢设计甚于喜欢编码,软件架构师的职位可能更有吸引力。也就是说,架构师的职位可能涉及许多与他人的互动,较少涉及编码或根本不涉及编码,尽管您需要很好地理解如何进行编码才能有效地进行架构设计。除非您接受软件架构方面的正规培训,否则成为一名架构师的一般途径就是先参加编码工作,然后展示出您在设计和项目各部分集成方面的才能。

前面这些问题涉及您对哪一种类型的工作感兴趣,下面的问题与编程无关,但也是需要考虑的。

2.您是一名系统程序员还是一名应用程序员?

系统程序员与保持计算机系统运行的代码打交道,这些代码包括框架、工具、编译器、驱动程序、服务器等。另一些程序员是他们自己的主要听众,他们很少与非程序员打交道。应用程序开发者与此不同,他们所编写的程序被非程序员用来完成其工作,他们与非技术人员的互动更为频繁。

3.您喜欢编写用户界面吗?

如果是这样,而且如果您拥有这方面的技能,那就要恭喜自己的好运气了。用户界面设计是极为讲究的工作,容易被批评,很难做好,特别是在要考虑国际化和易用性问题的时候。

4.您更喜欢开放源码项目吗?

绝大部分编程工作通常都涉及知识产权,封闭源代码的项目,某些程序员是反对这一点的。现在有一些向更开放的软件开发转变的倾向,为像您这样的人提供了更多的机会,可以参与开放源码项目并同时获得报酬。

5.您喜欢测试吗?

测试也称为品质保证,或缩写为QA,常常遭到缺乏经验的程序员的诋毁,但那些有经验的程序员非常看重独立测试的价值。好的测试人员很难找到。编写工具和自动化的测试用例常常需要编程技能。

6.您善于除错吗?

如果您认为在自己的代码中除错已经是够麻烦了,请想像一下替别人的代码除错是怎样的感觉。这需要很强的分析能力和解决问题的能力。找到并消除缺陷可能是很有价值的,但肯定不是每个人都适合这项工作。

7.您想为小公司工作吗?

薪水可能少一些,但随着公司的发展和成功,从底层进入一个新公司肯定对将来有好处(可能会带来相当大的报酬)。当然,不好的一面是大部分新的尝试都会失败,您可能在一两年内失去这份工作。

8.您想为大公司工作吗?

在大的公司中工作既有好的一面也有不利的一面。例如,大的公司通常能够提供更大的工作稳定性,以及某种类型的职业发展途径。它也可能拥有非技术人员知道的品牌。但在另一方面,您也可能对大公司中常常发生的繁文缛节、要求严格和公司内部斗争感到窒息。

9.您希望参加长期的项目还是短期的项目?

某些程序员渴望改变,最多在每个项目上花上几个月的时间。如果您喜欢短期的项目,而且不介意出差,那么成为一名咨询公司的雇员可能比成为一名传统公司的雇员要更好一些。重要的是您必须明白,这些问题没有标准答案,没有正确或错误的答题方式。但是,您在这些问题上对自己越诚实,就越有可能找到真正喜欢的编程工作。

10.您对管理有兴趣吗?

某些程序员的长期目标是成为一名经理,但另一些程序员对这个想法会产生恐惧。但如果您的目标是成为管理者,就需要培养自己的领导才能,并展示出您在处理技术问题的同时,也能够管理软件开发中“人”的问题。如果您的目标不是成为管理者,请寻找那些提供良好的技术职业发展途径的公司,这样在提升时就不需要被迫去管理人。

此文由传邦人才网 整理转载请注明出处。

第五篇:程序员的面试小技巧总结

程序员的面试小技巧总结

总结是把一定阶段内的有关情况分析研究,做出有指导性结论的书面材料,它有助于我们寻找工作和事物发展的规律,从而掌握并运用这些规律,因此好好准备一份总结吧。总结怎么写才不会流于形式呢?以下是小编收集整理的程序员的面试小技巧总结,欢迎阅读与收藏。

在深入代码之前,大多数面试官喜欢聊聊你的背景。他们想知道:

1、你对编码认知。你是否知道如何编写好代码?

2、个人能力/领导力。你是否经历过整个工作流程?你是否修复过并不怎么正确的东西,即使你并不需要这么去做?

3、沟通。和你交流技术问题是有用的还是痛苦的?

你应该至少说明以下中的一个:

1、你曾解决的一个有趣的技术问题

2、你曾克服的一个人际冲突

3、显示领导力或个人能力的例子

4、你曾在以往项目中做出的贡献

5、最喜欢的语言的一些琐事,对这种语言你做了什么,以及你不喜欢它哪里

6、有关公司产品/业务的问题

7、关于该公司的工程策略(测试,Scrum,等等)

热爱技术。表达你对你所做的一切感到骄傲,你对自己的选择充满自信,你对语言和工作流有着自己的看法。

沟通

涉及到编码问题的时候,沟通是关键。一个在工作时需要帮助却能和人正确沟通的求职者比那些能轻松解决问题的求职者甚至更好。

了解这是哪种问题。有两种类型的问题:

1、编码。面试官希望你能针对问题写出简洁高效的代码。

2、闲聊。面试官希望能和你聊一聊。话题通常是(1)高水平的系统设计(“如何克隆Twitter?”)或(2)琐事(“Javascript中的hoisting是什么意思?”)。有时候这些琐事中也会引入“实际”问题,例如,“如何迅速排序整数列?好的,如果不是整数,是其他类型的呢…… ”。

如果你开始编写代码,并且面试官并不想多说废话,只想尽快过渡到“实际”问题,那么如果你罗哩叭嗦太多的话,她可能会觉得厌烦。不妨直接问,“是不是为这个问题写代码?”

让人感觉你有团队精神。面试官想知道和你一起工作是什么感觉,会有什么问题,所以要让他们看到你的团队合作性。使用“我们”来代替“我”,例如,“如果那个时候我们做广度优先搜索的话,就能及时/准时得到解决方案。”如果让你选择在纸上还是在白板上编码的话,选白板。这样,你就可以接近面试官,直接面对他提出的问题(而不是和她在桌子两边遥遥相望)。

把自己的想法大声说出来。不是开玩笑,比如说:“我不知道这样做是否有效——但请让我试一试。”如果你不知道怎么办,不知道这个问题该如何解决,那么就说一说你现在的想法。说一说你认为怎么做可能会有效。说一说你认为哪些会有用,以及为什么没用的原因。这同样适用于琐碎的闲聊问题。当面试官要求你解释Javascript闭包的时候,“这与范围有关,不妨把它放到一个函数中”可能会让你得到90%的分数。

不知为不知。如果正在谈论的话题(例如,具体的语言事务,具体的琐事,运行时分析)的确是你不曾涉猎的内容,那么不要不懂装懂。相反,你可以直接说:“我不知道,但我猜$thing,因为……”,因为后面可以通过分析排除其他选项,还可以拿其他语言或问题做例子。

说话不要不经大脑。不要自信地将答案脱口而出。如果是正确的,那么你还是需要时间来考虑如何解释,如果是错的,那会显得你冲动鲁莽。你不是在和人比速度,而且你这么做更有可能因为打断她的话或者妄下结论而惹恼她。

摆脱困境

有时候你会陷入僵局。放松。这并不意味着你已经失败了。请记住,面试官通常更在乎的,是你能否巧妙地从几个不同的角度去揭示问题,而不是一根筋走到底地坚持正确答案。

画图。不要浪费时间在脑袋里思考,可以画到板上。画出几个不同的测试输入。画出你如何手动如愿得到所需的输出。然后想想将你的方法转换成代码。

解决问题的简单版本。不知道如何找到集合中的第4大条目?那么想想如何找到第1大条目,然后试试能否沿用这种方法。

写一个简洁低效的解决方案,然后对其进行优化。竭尽全力。尽一切可能的方法得到某种答案。

讲讲自己的思路。讲一讲你知道什么。讲一讲你认为什么可能工作以及为什么无效的'原因。你可能突然会意识到它实际上是可以工作的,或修改版本是有效的。也有可能,你会得到提示。

等待提示。不要用期待的眼光盯着面试官,但可以有短暂的“思考”时间——面试官或许已经决定给你个提示也说不定呢,等待她的提示以免打断她。

考虑空间和运行时的界限。如果你不知道你是否可以优化解决方案,那么就说出来。例如:

“我必须至少看看所有的条目,我做不到时间复杂度比O(n)还好的了。”

“蛮力方法才能检验所有的可能性。”

“答案将包含n^2数据项,所以我必须至少花费N^2的时间。”

写下你的思路想法

凭空地想很容易自我矛盾。把你的想法写下来,然后再去考虑细节。

调用帮助函数,继续前进。如果你不能或多或少地马上想出如何实现算法,那就跳过它。写一个命名合理的调用函数,例如:“this will do X”,然后继续下一步骤。如果帮助函数非常微不足道,你甚至可以将它忽略。

不要担心语法。不妨一笑而过。如果你非要考虑语法,那就还原到英语。只要向面试官说明稍后会回来整理即可。

预备足够的空间。你可能后面会想要在代码行之间添加代码或笔记。从白板的顶部开始写,并在每一行之间留一条空白。

最后写一个重头检查的标志。不要担心你写的for循环是否应该有“”或“=”。在代码的最后画个勾选提醒自己最后再检查一遍。先按自己的思路走。

使用描述性的变量名。想名字需要时间,但可以防止你忘记自己写某段代码的目的。使用names_to_phone_nums_map而不是nums。在名称中说明类型。返回布尔值的函数应该以“is_ *”,保存列表的Vars应该以“s”结尾。标准化很有意义。

完成之后的整理

浏览解决方案,大声地讲,输入一个例子。当程序运行时记录下变量保存的值——如果你只是记在脑子里,不会让你赢得任何加分。这有助于你发现bug和消除面试官的困惑。

寻找差一错误。你的for循环是不是应该使用“=”来代替“”?

测试边缘情况。措施包括空集合,单项目集合或负数。加分点:提一提单元测试!

不要惹人厌烦。有的面试官可能并不在意这些整理步骤。如果你不确定,可以这样说,“我通常会检测一些边缘情况——那么我们接下来是不是做这个呢?“

实践

最后,运行实践问题是没有捷径的。

好记性不如烂笔头。对自己诚实。用笔写可能一开始会让你觉得别扭。但是如果你现在就能克服这个难题,那么当面试的时候,你就不会觉得笨拙和不顺手了。

本文中的实践问题只是提供了每个面试过程的线索要点,没有真正的金科玉律,在真正面试时还需实际问题实际解决。最后,祝大家面试成功。

下载程序员面试技巧大梳理(共五则)word格式文档
下载程序员面试技巧大梳理(共五则).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    程序员面试技巧,自我介绍,亲身总结[合集5篇]

    一段短短的自我介绍,其实是为了揭开更深入的面谈而设计的。一、两分钟的自我介绍,犹如商品广告,在有限的时间内,针对客户的需要,将自己最美好的一面,毫无保留地表现出来,不但要令......

    程序员面试总结

    广州金博信息技术有限公司 总结: 广州市乐天科技有限公司 总结 面试题 委托的关键字:delegate 数据库设计模式:单例,抽象工厂模式,工厂数据库中having: 一个条件 面向对象:封装......

    程序员面试常见问题

    程序员面试常见问题 1.如果我们不能提供你所要求的薪水,你还愿意来我们公司吗?你的期望薪水是多少?你想得到的薪水是多 少?如果达不到你的要求,怎么办? 答:我认为工作最重要的是合......

    程序员面试自我介绍

    程序员面试自我介绍 程序员面试自我介绍1 我叫朱新仲,今年22岁,毕业于山东理工大学计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分......

    程序员面试问题分享

    面试问题一:是否有过团队合作的经历?你认为团队合作的重要性表现在哪些方面?问题二:有人说,中国的程序员个个是高手,但是中国的开发团队个个不行,你对这一观点怎么看待?你认为团队竞......

    程序员面试自我介绍

    当去到一个新环境下,我们时常会需要作自我介绍,通过自我介绍可以得到他人的认识。到底应如何写自我介绍呢?以下是小编为大家整理的程序员面试自我介绍,仅供参考,希望能够帮助到大......

    程序员面试总结

    程序员面试总结 这篇侧重于具体的笔试、面试的问题,至于是哪个公司的就 不去追究了,但一定是经常问到的,而且我嵌入式系统工程师和移动 开发工程师都参与了,问题要区别看待,那么......

    程序员面试自我介绍

    程序员面试自我介绍1我叫朱新仲,今年22岁,毕业于山东理工大学计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥......