下面是小编为大家收集的程序员面试优缺点问题(共含9篇),仅供参考,欢迎大家阅读,一起分享。同时,但愿您也能像本文投稿人“爱抚恩西”一样,积极向本站投稿分享好文章。
程序员面试优缺点问题
经验面试优缺点
这里所说的经验不是通过工作了多少年来衡量的,而主要是指面试者的经历,比如,是否完整地实现过一个软件,或作为主要开发者完成过一个项目。经验的重要性在于它能说明一个人的综合能力。从项目的性质、规模和难度,面试官就可以大致判断出面试者的综合能力。如果一个面试者一直在大公司负责一个小模块的开发维护,那么基本可以判断他不具备独立或作为主要开发者承担一个项目的能力,只适合在另一家大公司做类似的事情。对于门槛较高需要长期技术积累的职位,相关经验更显得尤为重要,比如,Linux内核开发,JVM开发,游戏引擎开发,数据库实现,高级UX等。对于这类职位,没有经验的面试者即使综合素质不错也是需要长时间的学习和积累才能胜任。所以,基本上如果确定了你的职位属于此类,那么相关经验毫无疑问应该成为首选因素,换句话说,P(工作好 | 相关经验好)的概率是非常高的。
通过项目经验判断面试者的优劣比通过基础和算法测试更加靠谱,所以,面试过程中面试官应该花比较多的时间听面试者介绍项目经验,并进行深入地探讨交流,了解面试者的知识面、思维能力、表达能力等。同时,可以结合项目提一些基础知识和算法的问题,比如,如果面试者做过C++相关的项目,那就可以问他如何进行内存管理?是否熟悉智能指针?如果面试者的回答不能令人满意,那么就基本上可以判断他的项目做得不是很好。
要注意的是,经验也是一个多维度的事物。比如,C++股票交易中间件系统,这就涉及(C++,中间件,股票) 3个维度。假如面试者A做过C++股票交易客户端,面试者B做过C的股票交易中间件。从语言角度看,A最匹配,从项目性质看,B最匹配,你如何选择?这就是在多个维度中,哪个维度更重要的问题,就这个例子而言,我个人更倾向于B,因为我认为中间件开发经验是主要矛盾,而从C切换到C++并不是问题。所以,面试官需要判断哪一种经验是主要的,而哪一种经验是次要的。比如,我们招聘Android应用开发,这个职位的Android技术门槛并不高,它的真正难点在于做出好的用户体验(UX)。所以,如果一个面试者没有Android的经验我们是可以接受的,但是我希望他在UX方面有经验,至少做过其他平台的移动应用开发。
基础面试优缺点
基础面试是指考察诸如指针使用、进程线程概念等基础知识的面试,十分类似于大学期末考试题。我曾经以为基础面试十分重要,但是现在不这么看了。在工作中基础的确是重要的,但是在面试过程中,它必须具有区分性才有意义,也就是说P(工作好|基础好)的概率要高,那么考察指针使用,进程线程区别这样的基础题目才有它的意义。我的实际经验是,基础面试并不具有很好的区分性,和算法一样, 差不多P(工作好|基础好) = 50%。同时,基础面试是最容易准备的,中国人有长期的应试教育经验,要准备几个把玩指针题目太容易了。
我曾经遇到过这样的面试者,他的C语言基础和编译、链接等原理掌握得非常好,给我留下了深刻的印象,我给的面试结论是:知识面不宽,只会C语言,但基础很扎实,建议录用。后来的事情证明了那个结论的前半部分是对的,但是”建议录用“错了。他在实际工作中表现得一塌糊涂,不理解需求,不理解整体架构;同时,上班时间不是花在项目上,而是花在阅读诸如《程序员的自我修养》之类的书籍上。最后,这位同事由于长期“不出活”离开了公司。
基础不是不重要,而是“基础好”不足以说明面试者能干好工作,因为基础是属于局部性知识,而实际工作需要综合性能力,二者有天壤之别。C语言、操作系统能考高分,但是不会写程序的人在大学我们还见得少吗? 软件开发就像盖房子,综合能力是设计和搭骨架,基础知识是码砖。张小龙原先Foxmail是Delphi开发的,他它不懂C#,你如果要招聘一个开发。NET Email客户端的人,你考察他对CLR掌握得好不好有意义吗? 让张小龙来开发一个C#版的Foxmail真的会有困难吗? 你招一个精通C#但没有Email客户端开发经验的人来真的比张小龙靠谱吗?
我说基础知识不重要,和古人说的“不积洼步无以至千里”是不是矛盾呢?不矛盾!“洼步”与“千里”是一种可累加关系,但再多的“基础知识”都累加不成“综合能力”。学习软件开发要像持续集成一样,一开始就是一个完整的系统,虽然规模不大,问题很多,但它麻雀虽小五脏俱全,从小系统到大系统,从简单系统到复杂系统逐步演化。
所以,基础好本身不足以说明太多的问题,必须进一步考察综合能力。对于基础面试表现不好的面试者,如果时间允许也要进一步考察,有的面试者其实是有能力的,只是没有进行充分的准备。最理想的状态当然是基础和综合能力俱佳,若不能兼顾,应当综合能力优先。
性格面试优缺点
现在,我来谈我认为最重要的因素:性格。这可能是许多初为面试官的朋友所难以想象的,怎么会是性格最重要呢?说实话,当我意识到这一点时,我自己也很惊讶!说白了,还是 P(工作好|性格好)的概率最高啊。我的实际经验是,如果一个人的性格好,他能把工作做好的可能性是最高的,性格好远比基础好、算法好要靠谱。
一个人如果技术上有缺陷,经验上有不足,但性格好,在团队中是很容易由其他人来补位的,他自己也很容易逐渐补起来;相反,如果一个人的性格不好,所有的技术优势经验优势都发挥不出来,甚至还会起到负作用,而且性格缺点很难改变。我一直谈到实际工作所需要的是综合性的能力,这种综合能力的发挥中性格是至关重要的。项目中不止会遇到技术问题,要涉及沟通、协调,不同的人不同的部门既有合作又有磨擦,如何处理这些事情都需要一个良好的性格。可以说,在开发团队里让你与众不同的不是你从哪个学校毕业,也不是你过去的经验,而是你的性格。
当然,性格是一个复杂的东西,它包含了很多的方面,并非所有方面都是程序员面试所需要关注的。我的经验是可以重点考察这些方面:
1) 态度积极还是消极。有的面试者在谈吐中就会自然给你一种积极上进的感觉,或者你可以在他的经历中发现他积极的因素,这些都不是太难看出来的。相反,有的面试者你能明显感觉到他的消极情绪。积极性在工作中是十分重要的,积极的人能给团队带来朝气,也更易于合作。基本上,如果确定面试者属于态度积极的,他通过我这一关的可能性就会大大增加;相反,如果确定属于态度消极的,即使技术能力不错我也会十分谨慎。
2) IQ。我的经验是,总体来看,聪明的人在工作中的表现更为优秀。在面试中要考察一个人是否聪明并不一定要像Google和MS那样找些专门测试IQ的智力题,其实,你只需要看他讨论问题是不是很有逻辑性,思考和说话是不是反应敏捷就可以做出大致的判断。另外,眼睛是人心灵的窗户,一个人聪明与否,眼睛是会说话的。不过,聪明也不完全是优点,比如,当公司或项目遇到困难时,往往是聪明人先跑掉了,坚守的往往是IQ一般的人。
3) 语言表达能力。语言表达能力也是程序员十分重要的一项素质,它关系到项目中的沟通是否顺畅。面试官可以看看面试者能否用简明的语言介绍清楚曾经做过的项目,能否抓住要点,能否考虑到听者的相关背景。一般来讲,语言表达能力强的人综合能力都不会太差。
4) 是否具有用户意识。有人说程序员是做研发的,哪来什么用户?只有销售、市场人员才会和用户打交道。其实,这是完完全全的错误认识。你写一个模块,甚至一个API,只要有别人用,他就是你的用户。有的程序员设计一个模块或是一个软件总是习惯于从使用者的角度来考虑,尽量地方便使用者,这就是一种良好的用户意识。具有良好的用户意识的人更能考虑别人的感受和整体的需要,而不是单纯地从自己和局部来思考问题。当面试者谈及过去的项目经验时,面试官可以常常站在用户的角度对其进行提问,从这个过程中观察其是否具有良好的用户意识。
5) 如何应对质疑和压力。面试官应该对面试者的回答以及以往项目进行合理的质疑,看看他如何应对。曾经有一位面试者谈到做游戏登录服务器的经历,我就问:“如果登录服务器挂了,怎么办呢”?他说原先虽然没有考虑这个问题,但是可以怎么怎么改进。其实,大家都理解项目中有各种不完美,这里面原因很多,只要面对质疑和压力能从容应对努力往好的方向思考解决就可以了,不需要掩饰缺陷,更不应该有情绪。我遇到过有的面试者,一旦你对其项目提出质疑,他马上产生反抗情绪,或不高兴,或不承认有问题,这很容易一下子看出来他在工作中容不得质疑和批评,这种人要想合作就很困难。
6) 个性特点。许多面试者喜欢在简历上写“精通C++/Linux“,这些字眼看得人麻木,如果有人写”喜欢C++/Linux“,我就会有一种眼前一亮的感觉。“精通”是没有感情色彩的叙述,而“喜欢”包含了面试者的个性,我更愿意看到面试者的个性。我相信对某样东西真正的热情远比你当前对它的掌握程度更为重要。其实,N年的经历告诉我们,同一个班的同学,同一个项目组的同事,虽然每天所学的知识,所接触的工作都是相同的,但其实每个人的成绩和表现差异是十分明显的。那么,到底本质的差异是什么呢?其实,就是每个人的个性。是个性使得有的人业余时间去打球,有的人业余时间去看书,有的人喜欢Linux,有的人喜欢Mac。一个人在团队中扮演的角色也和他的个性有很大的关系。面试官应该引导面试者展现自己的个性,并判断其是否有益于团队。
1.有趣的程序员面试问题
2.面试的优缺点的问题怎么回答
3.程序员面试过程中的经典问题
4.Java程序员面试题集合
5.美的面试问题
6.护士面试问题
7.小升初面试问题
8.军校面试问题
9.预测面试问题
10.大学面试问题
面试问题优缺点
关于优点
面试官问应聘者这个问题有两个目的:第一,判断应聘者是否真实地阐述了自己的优点。第二,应聘者所阐述的优点是否是这个职位所需要的素质。
准备工作:
在面试之前就找出自己的3-5个优点;
为每个优点找出几个例子,最好来自学习、工作和生活等三个方面;
在这3-5个优点之中,精选出一两个和所申请职位最吻合的优点。
关于缺点
表述缺点时,既要结合本人实际,并选择无碍面试的那些,并力争把缺点转化为优点。
面试时谈及个人缺点,可以遵循以下几个原则:
坦然承认,博得认同
如果是自己的缺点,最好的办法还是坦然地承认它。为自己的缺点辩驳也无济于事,重要的是如何使别人在感情上认同你谈及自身缺点的态度。
消除误会,缩小隔阂
有的“缺点”并不是缺点,而是一般意义上的误会造成的,这时你应及时澄清,缩小与面试官的心理隔阂。
案例:
一名出身于高干家庭的求职者,到一家普通单位求职面试,他在介绍自己的时候说:“我的父亲是高干,但他对我的要求非常严格,家中虽有保姆,但洗衣服等家务活从来不让保姆帮我做,而是让我亲自动手做。由于我是在这种环境中长大的,什么事情都是自己做,从不依赖父亲的职权,所以到你们单位,多大的苦,我都能吃。”
出生于高干家庭,可能会被他人误认为“不能吃苦”,但这位应聘者从父亲对自己的严格要求入手,谈到对家庭出身的看法和自己的生活态度,以此让面试官了解自己吃过苦、能吃苦的优秀品质。如此,他就缩短了与用人单位的距离,使企业觉得其就是可造之材。
明谈缺点,实论优点
有时面试官会对求职者提出一些尖刻的问题:“你在从事某项工作时有哪些缺点或不足?”有的求职者连连摇头回答说没有;有的求职者不假思索,脱口而出:“我的缺点就是特散漫,不愿意受纪律约束”,或回答一些从事某项工作时的致命缺点,令人哭笑不得。
这样的求职者,有哪家企业敢要?相反,有些人的回答却令面试官赞叹不已,他们既不掩饰回避,也非直截了当,而是结合职场新人的共同弱点(如缺乏实践经验、社会阅历较浅等),联系本专业的发展趋势(如知识结构不甚合理、专业知识不足以应对新的挑战等)及自身个性中的缺憾(如过分追求完美,开拓精神不够,或过于追求工作效率,小心谨慎不足等)。
说一些自己正在克服和能够改正的一些弱点,谈理想与现实中的差距,讲那些表面是缺点实则对某项工作有益的个性,既体现出了谦逊好学的美德,又正面回答了难题。
心理研究表明人际交往存在三种状态:一种是权威式,一种是理智式,一种是冲动式。在面试中更加需要理智式的交往,而理智来自于充分准备和深思熟虑,而不是幼稚冲动。
一个人有缺点并不可怕,可怕的是不敢承认它、改正它,反而强词夺理不愿承认。从辩证的角度来看,缺点与优点是可以相互转化的,前提是要正确地认识缺点,真真正正地改正缺点。
还可以怎么说呢
分享一个知乎用户的回答
对这个问题因为好的回答而留下好印象很难,关键是避免留下坏印象。要点以下:
1)避免避重就轻,不要谈一个算不得缺点的缺点。比如熬夜会困,或者(待人接物)太客气,(投资思路)太保守。
2)避免谈非职业缺点,比如有感情洁癖,挑食,不擅长陪女友逛街,做饭经常糊。
3)避免谈到无法改善的弱点,比如我算数必须用计算器,我脑子不好用看书不理解。
4)避免谈到致命弱点,比如脾气怪异不喜欢合作迟到早退等。
那谈什么最好呢?我认为要点有三:
1)谈已经在改正的缺点/有明确计划来改正的缺点。尤其是你能够充分论证在近期就可以解决的缺点。
2)谈一个利用你的优点改正的缺点,顺便带出一个优点。
3)很关键的是,谈一个真实的缺点。如果你申请的投行资管咨询等工作,要记得你的面试官就是靠跟人打交道为生的。该条适用于所有面试问题,一定不要在简历上作假,你的赢面不大。正确的做法是选择性介绍你的经历,突出学到/用到关联技能,忽略无关部分。
我听到的比较好的几个包括:
1)喜欢追求细节导致项目/作业未能按期完成。通过时间管理能力改变工作方式,先完成框架再改善细节得以解决;
2)不知如何拒绝,同事要求帮忙一概揽下,影响自身工作进度。通过多任务处理能力设定优先顺序,以该优先顺序表向求助同事展示自己手上工作,并给其一个自己在何时可以给予帮助的时间估计,让求助人自行决定是否求助,问题解决。
1.面试问题问优缺点
2.面试的优缺点的问题怎么回答
3.酒店面试问题优缺点
4.程序员面试优缺点问题
5.巧妙回答面试优缺点问题
6.面试问题答案
7.常规面试问题
8.预测面试问题
9.it行业面试问题
10.记者面试问题
经常有求职者反馈被问「优缺点」,对于这个问题,很多人担心回答不好影响面试成绩,其实,面对优缺点这个问题,只要掌握对了方法,其实是非常好回答的。
首先,我们要了解为什么面试官会问这个问题,主要有两点:一方面,我能通过你所述的优缺点来判断是否适合当下的职位;另一方面,一个了解自己,懂得自我批判的人,在工作中才能更懂得自我反思,争取进步。
另外,大家要放宽心,并不是你说了某个缺点就一定不录用你了,因为在你看来是优缺点,在我看来只是适不适合本职位。
案例:
某面试现场,某公司面试官接着问:「你最大的优点和缺点是什么?」
甲说:「我有朝着目标努力工作永不放弃的能力,我的学习能力、环境适应能力很强。同事们都说我对工作太投入,太认真。我基本上都是提前一个小时上班安排好我的工作,晚上晚半个小时下班,做一下今天的工作总结和明天的计划。」
乙说:「我最大的长处是善于与人沟通、合作,人缘很好。因此,在学校的时候,我喜欢组织班上和社团里的各类活动。我的缺点是性情直爽、爱憎分明,最不能容忍办公室小人,那种背后说坏话的人。」
丙说:「我的优点是喜欢学习新的知识,也有刻苦钻研业务的精神。什么事情要做就做的很投入。缺点是我需要学会更耐心一点。我的性子比较急,我总要我的工作赶在第一时间完成。我不能容忍工作怠慢。」
点评:甲把优点讲的太笼统、没有说服力,有点假大空的感觉;乙优点讲的很好,缺点讲的不好,容易掉进面试官的陷阱,继续交谈容易暴露自身真正的缺点;丙则优点讲的明白,缺点也是让企业喜欢的缺点,有为工作奉献的精神。
建议:
1.你与应聘岗位的匹配度。所以在去面试前,全面了解清楚目标岗位的需求就很必要。不仅是对技能的要求,对个性、价值观等方面的要求也要心中有数。阐述优势时,紧贴岗位需求谈一两点内容即可;谈劣势时,一定记住避免提及岗位需求中所忌讳的要素。比如应聘销售,说出「其实我不喜欢与人沟通,希望通过该岗位来提升沟通技能」等类似的话,HR怎么会考虑录用你呢?
2.个人的成熟度、自我分析判断能力和学习改进能力。因此个人在谈论自己缺点的时候,不要只停留在缺点本身,把重点放在自己如何克服缺点的决心和行动上才是比较正确的答题思路。
1.面试官常问的面试问题
2.美容顾问面试问题
3.总经理常问的经典面试问题
4.HR面试时必问的问题
5.HR面试常问的20个问题
6.小升初面试 五类问题“必问”
7.外企面试必问的问题
8.置业顾问面试问题
9.面试官常问的问题
10.面试官常问哪些问题
面试问题回答优缺点
在 的过程中,考官要您谈一下个人的优缺点,这时怎么办?描叙不好的话,工作就没了。说得太好又有可能被认为是吹牛。那如何表述优缺点呢?
世界上没有十全十美的人,每个人都有缺点,但作为求职 ,用人单位更关心的还是你的优点,当然作为求职者,谁也不会想到通过坦陈自己的缺点来寻找理想的职业岗位。正因为这一原因,我想在没有得到主考官提示的情况下,就不必去主动陈述自己的缺点,如果对方问到,那就如实回答。宝洁公司崔广福也持同样的观点,他说:“这个问题对我来说是不问不答,如果对方没有问到去回答的话,可能会变得越描越黑;第二,如果对方真的问起来,怎么办?那么诚实是比几千棵樱桃树还值钱的东西,所以的话,诚实是最重要的,那么我们可以坦率地回答自己的弱项,同时把它转换成一种好的'东西,就是坏事变好事的转换。比如说,我在那件事上做得不是很成功,但是我从里面学到了以下几个方面的经验和教训,它对我以后几方面的工作,产生了深远的影响。那么由于这次失败,我能够在以后的几件事情里,做得非常成功。”Microsoft微软中国研究院院长李开复博士说:“在应聘中,很多人都担心会暴露自己的弱项,我觉得每个人应很忠诚地回答这个问题,但要说明我在进步,当一个人知道自己的弱项而学着进步的话,这对我来说是一个很好的事情,不管他是什么弱项。强调自己没有弱项,或者说,我的弱项就是工作太努力,那是没有意义的。”
另外在 过程中切忌吹嘘自己。吹嘘自己并不是展示自己的优点,而是在附加自己的缺点,这种吹嘘与个人的实际努力南辕北辙。江苏电视台曾有三位研究生参加面试,其中一位吹嘘说他对吴地文化研究非常深,甚至举出几个文化名人。那知面试他的电视台台长正好是苏州人,反问了几个问题,结果一个也答不上来。最后被淘汰。
有时会碰到这样一种情况,自己本来没有这方面的缺点,但主考官却提了这样一个问题:“你说你爱好写作,可是在你的表格中有两处语法错误。这如何解释?”应聘某报记者的小黄同志就遇到这样的题目。当时的小黄同志想了想说:“我的表是做过认真推敲的,如果真有语法错误,那必然是我粗心所致,我立即纠正,并向各位道歉。”他顿了顿,说:“不过我想知道我究竟错在哪里?”考官们笑了,原来这是故意设的一个圈套。主要是考察他的反应能力。
面试时也可根据具体情况对优点和缺点进行适当修饰,当然这得建立在事实的基础上。
1、谈谈final, finally, finalize的区别。
final―修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally―再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize―方法名。Java 技术允许使用 finalize 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
3、Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap
就必须为之提供外同步。
4、&和&&的区别。
&是位运算符。&&是布尔逻辑运算符。
5、HashMap和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现
还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap
就必须为之提供外同步。
6、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口.
7、什么时候用assert。
断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。它用于调试目的:
assert(a > 0); // throws an AssertionError if a <= 0
断言可以有两种形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该总是产生一个布尔值。
Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:
javac -source 1.4 Test.java
要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。
要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。
要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。
可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
8、GC是什么? 为什么要有GC? (基础)。
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
9、String s = new String(“xyz”);创建了几个String Object?
两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
10、Math.round(11.5)等于多少? Math.round(-11.5)等于多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;
11、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。
12、sleep() 和 wait() 有什么区别? 搞线程的最爱
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级
(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
13、Java有没有goto?
Goto―java中的保留字,现在没有在java中使用。
14、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。
String有有length()这个方法。
15、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
16、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
17、给我一个你最常见到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
18、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
19、List, Set, Map是否继承自Collection接口?
List,Set是
Map不是
20、abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与
[java程序员面试问题]
这个问题主要测试本身的综合素质,还能看出是否自信(或者自傲、自卑)。
首先,不要总是想什么是你的缺点什么是你的优点。
因为,缺点和优点在不同情况下会有不同的定义。比如,说一个人他直率,这是是优点。可是在另一种情况里,我们会说这个人太轻浮。因为他总是先发制人,不肯先了解情况,有失稳重。再比如,说一个人吝啬,这是缺点。但在另一种情况里,我们会说他非常的节约。因为他总是能替公司想出节约的办法,并且切实可行。
第二,缺点和优点是一种看法和观点,是主观的东西,不是唯一性的。
这种主观的基础是客观的。就是说,优点和缺点是由人的个性引发的,人的个性是客观的。没有哪种个性是可以用优缺点来判断的。
第三,所以说,优缺点是一个事物的两个方面,是客观对主观的影响,也是主观对客观的反馈。
要了解一个人,不要只去看他的优缺点,而是去了解他的个性,在个性里看到共性,就真正的完成对一个人的认识。
第四,所以我们看待自己也是一样,要了解自己的个性,发挥自己个性能产生的积极影响,避免消极结局。
第五,回答这种问题的方法就是,告诉招聘的人,你的个性是什么,所以你会有哪些消极的一面,哪些积极的一面。并且你要告诉招聘的人,你为了发扬积极的一面和避免消极的一面都做了哪些努力。
谈论优点应注意表情、神态、语调等,宜“低调”处理。有时可表示自己“更上一层楼”的希望和努力;谈论自己的缺点不要停留于缺点本身,可将重点放在自己克服缺点的决心和行动上。
1.巧妙回答薪资面试问题技巧
2.面试的优缺点的问题怎么回答
3.面试问题及回答
4.面试问题回答
5.面试问题和回答
6.求职面试问题回答参考
7.外企面试问题与回答
8.教师面试问题与回答
9.面试常见问题及回答
10.应聘会计面试问题回答
如何完美过渡优缺点面试问题
古语有云:人非圣贤,孰能无过?世界上没有十全十美的人,每个人都有优缺点,但作为求职面试,在应聘面试流程中,HR有可能发现你性格方面的一些缺点,例如:傲慢、缺乏耐心等等。你必须表现得容易相处、密切配合、充分合作。
有不少公司,只需内部看法同等才会做出决议雇佣一个人,也即是说几乎每个人都要爱好你,技能人员凡因此为骈的经历就能说明一切,但究竟上兴夺目还远远不够,在今日的团队环境中,你要尽最大欢快,让你碰着的每个人,从接待员到总经理都爱好你。
面试即是现场推销,对你来说时间更有限的、而且你是在“聚光灯”下被研究的东西。即使在非正式面试中,你也是被仔细的观察、认真的评价,把你和别的人做比较。分级打分,你的穿戴、你的一言一行都被量化、定性,你的表现不是对你有益即是对你有害。在推销过程中,你可以把持“成交意向”语句帮你达成交易,赢得事变,所谓“成交意向”,语句是指在谈话中可以适当措辞表示“可以成交”。其意义理当是:“你们理当录用我,我干这份事变很合适。”说完这些话理当让你离事变机会更近,增加面试告成的'大要性,而不是把你自己剔除出去。
有时候,HR要求求职者在面试中介绍自己的某个特长,面试官却时时地移开目光,那么他很可能对求职者的介绍并没有特别在意或没有兴趣,求职者该当尽快跳过,看是否还有值得向他介绍的别的动静。如果面试官反复询问求职者是否具备英语四六级、计较机或别的门类等级证书等,很较着,该公司侧重想招聘的是复合型的人才,求职者理当把获得的证书一个不少地显现出来,把自己的特长一一介绍出来。
再如,求职者在表述出自己的薪水和报答等方面的哀求后,对方面露难色,大要是态度没有刚才自然,那么说明对方在这个问题上持保留定见。假如低于这个薪水,求职者确切感到不甚满意,可以直接说出来,看对方若何对答。假如这个职位在发展前景上很有潜力,那么求职者在此时就理当奥妙地表示愿意放低一点哀求,从而防备仅仅因薪水问题上的小小分歧而错过一个不错的职位。当然,想真正解读出对方的情谊,偶尔不能只听他说了哪些话,更要紧地是看他是若何表述这些话的。这点需要求职者尽量多到求职场上“实战”,才华更好地把握“察颜观色”这项求职技能。
大学网提醒:学校当然有黑白之分,但名校毕业并不意味着本事就强。如果你是名校毕业,也不要随便拿出来和别人比,面试官自然会权衡。像小刘这样,刚好撞到“南墙”的话,很是可惜,
讲专业知识时可以滚滚不停,别的地方要低调点,免得别人感受你过于张扬。还有别干那种陵犯别人抬高自己的变乱,否则会让面试官感受你的道德有问题。
对于刚走出校园的职场新人来说,面试是步入职场江湖的第一场比较。能否被录用,生杀大权都掌控在那些“老油条”的面试官手中。在两个人面对面地斗智中,出生入死的面试官常常会用一个不和睦的发问,或用猜忌、尖锐、单刀直入的口吻,使你心理防线大大北退……那么,职场“小菜鸟”怎样才华成为面试官心中的“NO.1”呢?
小刘从加拿大留学归国,对雇用外企一点也不怵。她以为自己英文口语流利,专业知识学得透彻,手里还握着一张烫金文凭——温哥华英属哥伦比亚大学。所以,面试时小刘显得很自大,对答如流。看得出,面试官对小刘很满意。挨近尾声,她想面试官一定公布颁发她过关,谁知面试官突然拿起简历,自言自语念了起来,看到大学校名时突然讲:“温哥华有两所比较不错的大学,海边的英属哥伦比亚大学和山上的西门菲莎大学……”
小刘心里特别高兴,因为她对两所大学很是了解,因此她开始滔滔不绝地演说,一味地表示其实“山上的”那所论力量、论资产和英属哥伦比亚大学都无法比,何处出来的毕业生不好谋事情,因为综合本事不够……当小刘看到面试官的脸变得铁青时,她已没有机会挽回了。事后问在场的事变人员才懂得,面试官即是那所山上大学毕业的,也被小刘归进“综合本事不够强”的范畴。
泛泛被朋友叫成“疯丫头”的桃子,面试那天穿得特职业,还剪了齐耳短发,恍如一名“淑女”。面试进行到一半时,面试官对桃子说,我们公司招聘的文员多数有机会面对外商,老外很看中你是否会化装,不然感受你不恭敬他。桃子表面恭恭敬敬地听着,心里却乐开了花。当面试官一说完,她就把随身赐顾帮衬的皮包放到办公桌上,打开后背试官眼睛都看直了——里面眼影、唇彩等化妆品琳琅满目,这是桃子筹办面试结束后和朋友去酒吧娱乐用的,居然派上了用场。
更多有关如何面试的文章推荐,大家敬请继续关注:如何面试容易制胜如何面试大全如何应变终极面试
程序员面试史上五大经典问题
也许你是个JavaScript巨星,为了防止被那些烦人的猎头骚扰,不得不删除你在LinkedIn上的个人资料,又或者,也许你是一个普通、可靠的合作伙伴,一年到头也只会收到2到3次的面试邀请。
不管你去面试的频率如何,下面这五个问题是每个软件工程师都应该问的——将有助于你确定自己在这家公司长期工作是否会合作愉快。
lego-job-interview-software-engineer
你们的企业文化是什么?
你每天将会有10至12个小时需要与同事的信仰、价值观和行为打交道。企业文化重视技术吗?尊重软件工程师吗?软件工程师在产品开发上有发言权吗?企业有没有提供便利以便于软件工程师将工作做到最好?
为了找到答案,可以问问企业从开发到测试都喜欢什么工具,Luca Bonmassar,Gild公司的联合创始人和首席技术官建议说(Gild是一个用于查找评估和招聘技术人才的SaaS平台)。如果面试官不能回 答,Bonmassar说,“这通常是一个坏兆头”,说明该公司对你重视的技术并没有给予足够的重视。
他还建议询问开发流程:“开发人员的投入有多少会进入到产品?项目经理是否决定了进度的每一个细节?需要构建什么,或者工程团队有没有发言权,有多少发言权?“
company-culture
询问工程和其他团队之间的关系。Doug Schade,WinterWyman公司软件技术搜索部门的合作伙伴和招聘人员,建议问“在应对项目时,你们公司会给开发人员什么级别的自主性?” Bonmassar说,对软件工程师的反馈缺乏任何机制是一个“危险信号”。
如何衡量我?
你的雇主如何定义你的“成功”与给你的工资和津贴等各种福利息息相关。但是,不同公司的评判标准不同,要满足你觉得不舒服的目标会让你的.生活苦不堪言。
hengliang
有些公司衡量软件工程师看的是他们的努力,比如他们工作了多少小时,提交了多少代码,Ari Weil,Yottaa公司的产品副总裁说(Yottaa是一家自适应的内容分发网络提供商)。也有的用结果来评估软件工程师,如因缺陷而需要召回的代码 数量,或在规定时间和预算范围内,小组完成的项目数量。
例如,Yottaa,这是“一家以销售为导向的公司,并且非常地以度量为主导,”他说。 Yottaa评估软件工程师的指标如公司是否能够销售、更新工程师提供的软件,以及软件工程师是否能够跟上不断变化的业务需求。这些指标听起来蛮令人兴奋 的,但却比衡量工作时间和提交的代码更难以量化,
知道雇主使用的标准并确定你觉得是ok的。
有什么成长计划?
Tonya Shtarkman,Riviera Partners的首席技术招聘人员说(Riviera Partners是一家总部位于旧金山的猎头公司),很多软件工程师觉得“他们在当前公司已经不可能有多大发展了。”
她建议软件工程师在面试时要询问是否有一个针对软件工程师的成长计划——允许他们继续晋升,并且有机会让他们参加会议和研讨会来建立新的产品和功能,并受到辅导。
许多软件工程师希望雇主会告知他们最新、最好的技术工具,使他们能够保与时俱进。但Bonmassar警告说,“它通常是一个不好的兆头”,当公司 坚持某个极其特殊的技能,并要求能迅速改变的时候,可能要不了多久该公司就会开始找人来代替你。如果说需要更匹配的长期合作,他说,那么可能这家公司现在 需要的是“聪明,但不必知道工具和技术每一个细节的人”。
他还建议询问一下,多少外部聘请vs公司内部晋升。这答案能说明很多关于随着企业发展你的成长之路会怎么样的趋势。
你们的发展计划?
如果你正在考虑去创业公司工作,那么你需要了解他们的发展计划:“加入创业公司,总是涉及着一定程度的风险水平,然而创业公司的工程师往往比大企业的工程师不怕风险, “Shtarkman说。 “不过,将风险控制在一定的稳定范围内是必需的。”
第一个步骤是调查。Shtarkman建议可以问这样的问题,如“你们的资金消耗率(公司的负现金流)是多少?” ,以便于了解公司在没有其他资金和不盈利的情况下能维持多久。Jim Barnett,Glint公司的首席执行官(Glint是一个用于跟踪可以影响保留趋势的网络平台),建议在签署保密协议前可得仔细看清楚。
我会喜欢你们的人吗?
聊到目前的团队成员,“我碰到过一些工程师之所以接受创业公司的offer,纯粹是因为他们与团队融合得非常好——有时候甚至是因为某个人的魅 力,”Shtarkman说。 “说来说去,公司是由人组成的,如果你不能与你的队友和睦共处,那么当作长期的职业生涯几乎是不可能的。”
试着和公司的内部人士聊天,以便于知道“公司内部管理人员大致的情形,”Barnett说。 “他们好合作吗,他们做事征求意见吗,他们提供反馈吗,他或她投资团队成员并帮助他们成长吗?”
试着和团队中你共事的人进行非正式的交谈。问问他们工作中最让他们沮丧的是什么。比起面试官,他们更可能现实地回答你,Shtarkman说。
底线:挖掘得更深一点以了解今后你每天需要共事的人,和你每天要经历的工作流程,而不要只关注薪水。
。该问题是 19 世纪著名的数学家高斯 1850 年提出:在 8×8 格的'国际象棋盘上摆放 8 个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。[英国某著名计算机图形图像公司面试题]
解析:递归实现 n 皇后问题。
算法分析:
数组 a、b、c 分别用来标记冲突,a 数组代表列冲突,从 a[0]~a[7]代表第 0 列到第 7 列。如果某列上已经有皇后,则为 1,否则为 0。
数组 b 代表主对角线冲突,为 b[i-j+7],即从 b[0]~b[14]。如果某条主对角线上已经有皇后,则为 1,否则为 0。
数组 c 代表从对角线冲突,为 c[i+j],即从 c[0]~c[14]。如果某条从对角线上已经有皇后,则为 1,否则为 0。
代码如下:
#include
static char Queen[8][8];
static int a[8];
static int b[15];
static int c[15];
static int iQueenNum=0; //记录总的棋盘状态数
void qu(int i);
//参数i 代表行
int main()
{
int iLine,iColumn;
//棋盘初始化,空格为*,放置皇后的地方为@
for(iLine=0;iLine<8;iLine++)
{
a[iLine]=0; //列标记初始化,表示无列冲突
for(iColumn=0;iColumn<8;iColumn++)
Queen[iLine][iColumn]='*';
}
//主、从对角线标记初始化,表示没有冲突
for(iLine=0;iLine<15;iLine++)
b[iLine]=c[iLine]=0;
qu(0);
return 0;
}
void qu(int i)
{
int iColumn;
for(iColumn=0;iColumn<8;iColumn++)
{
if(a[iColumn]==0&&b[i-iColumn+7]==0&&c[i+iColumn]==0)
//如果无冲突
{
Queen[i][iColumn]='@';
//放皇后
a[iColumn]=1;
//标记,下一次该列上不能放皇后
b[i-iColumn+7]=1;
//标记,下一次该主对角线上不能放皇后
c[i+iColumn]=1;
//标记,下一次该从对角线上不能放皇后
if(i<7) qu(i+1);
//如果行还没有遍历完,进入下一行
else //否则输出
{
//输出棋盘状态
int iLine,iColumn;
printf(“第%d 种状态为:n”,++iQueenNum);
for(iLine=0;iLine<8;iLine++)
{
for(iColumn=0;iColumn<8;iColumn++)
printf(“%c ”,Queen[iLine][iColumn]);
printf(“n”);
}
printf(“nn”);
}
//如果前次的皇后放置导致后面的放置无论如何都不能满足要求,则回溯,重置
Queen[i][iColumn]='*';
a[iColumn]=0;
b[i-iColumn+7]=0;
c[i+iColumn]=0;
}
}
}
★ 面试问题优缺点
★ 如何面试程序员
★ 面试中的优缺点