程序员应聘
『壹』 应聘一般程序员需要什么条件
其实应聘一般的程序员也就是看你的技术水平,只要技术够硬就可以了。
『贰』 程序员面试时,怎样跟HR谈薪水
1.在谈判时想办法增加自己的筹码
也就是你在技术面试和管理者的面试过程中一定要表现比较好,这样你就在HR面前得到较高的评级,这样HR这能给你的幅度也会大些。这些都是要在面试之前进行充分的准备,如果你在面试的过程中是别人犹豫的对象,表现也就一般,能够随时找到能够代替你的话,那么HR一般情况下是不会对你进行让步的。记得以前自己刚开始出来工作的时候,我面试一家公司时,HR直接用很强硬地语气对我说“就这个价,你就值这个价”,我就是成为他们可以代替的对象。虽然说我脾气较好,一般情况下比较理性,但是我也只能接受这个价位因为我没有更好的选择。
但在之后的面试过程中,经过我自己不断的学习,我不在接受HR的价位,只接受我自己认为合理的价位。
2.在关键位置上要有自己人
这一点很重要,有自己人在你要面试的公司内部,你就可以获得他们很多的情况,比如这次招聘是否紧急,公司内员工的能力,水平等等,什么是坐地起价,就是别人没有而你有的。有自己人在里面,你才能知道有没有其他比你合适的候选者,没有的话,你才有资格坐地起价。
比方说一个公司找了好久都找不到一个合适的人,但项目已经迫在眉睫了,这个时候你出现了。但是你并不知道你是他们千辛万苦找到的,他们不要你就有可能将项目至于风险中可能会有更大的损失,这个时候你是可以要一个比较高的价位的。但是如果没有人告诉你这个状态的话,你还是会从自身出发,可能觉得自己的表现并不算特别好,会患得患失,脸皮薄的话当然不敢狮子大开口(或者你不明白你为什么在这个时候在这个公司值高价)。
如果没有相关资讯了解对方公司内部对人员的需求情况的话,很多时候你靠的是运气,就是看你前后的面试者(候选人)和你的性价比结果。如果那个时期,只有你一个候选人,那么你的要求不过分,一般都可以满足。当然,HR还是会打击你一下压压价,别人的工作就是要控制人力成本嘛。所以你认为能力不如你的人工资却比你高,一点也不奇怪,你们进入公司的时机不一样。而且就算你认为对方水平不如你的,那只是你个人的看法,他的水平可能真不如你,但在公司的层面,你们可能被划分在同一级别。所以不要太在意,最好就不要去打听。
3.知道自己想要什么
一定要清楚自己想要什么,这个公司能给自己什么。如果这个公司能给的是自己未来需要的,那么它的价值就远远高于它支付给你的薪资。要看清楚自己的价值在哪里,工资最终会是你价值的体现!虽然你可能技术很厉害,但你的价值不一定就很高,能力和价值是两个概念并不能直接划等号。所以,你应该花时间发掘、培训、增长、巩固自己的价值,当你的价值足够高时,自然有公司(或猎头、风投、BOSS等)愿意为你买单。你能解决他们的问题,他们当然乐意帮你解决你生活中关于钱的问题。
所以,不要光向钱看,要向自己的价值看。这一点很重要,在和HR谈判时,不需要太在意自己的技术能力,哪怕前几个阶段表示不好,也把它忘了吧。这时你应该在意的是所应聘的职位能给公司创造的价值,通过这个价值和行业、地域的薪资水平来评估出自己的价值。然后再上浮点吧,这个点多大自己考虑吧。
『叁』 如何面试一名程序员
如何面试程序员
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
1. 需要新员工完成什么样的任务?
2. 怎样的人能完成这样的任务?
3. 哪些途径和方法可以发现这样的人?
只有明确这些根本性的问题,才能正确高效地完成面试。
二、提问的原则
假定你对上一节的三个问题,已经有了清晰的想法,那么接下来就可以设计如何提问了。
有一些提问的原则,是你应该遵循的:
每一个面试问题都有明确的目的。你不仅自己了解,还能向其他面试官解释清楚。
多提一些开放性(Open-ended)的问题,而不是那种用Yes/No就可以回答的问题。这样做使你有机会与面试者展开讨论,并且提出后续的问题,尽可能多地了解对方。
不要问宗教、家庭、健康、个人隐私等方面的问题。
不要问太复杂的问题。因为面试者没有太多思考时间,所以无法周全地回答,你也就无从判断他的能力了。
三、考察专业能力
为了确认面试者是胜任的,你可以问一些与职位相关的专业方面的问题。(不过通常来说,一次面试不足以看出一个人的专业能力。)
比如,你的招聘职位是系统管理员,你可以问"如何快速地在50台机器上部署Linux?"(提示:正确答案不是刻录50张安装光盘。)
另外,你还应该向面试者了解他的过去,因为过去是未来的最好预测依据。不过,提问的重点不要仅仅是他过去的成果,更要关注在当时的环境中,他是如何决策和实施的。
四、考察综合素质
因为人是会发展的,所以某种程度上,面试者的综合素质要比他的专业能力更重要。
所以,具体的技术问题(如何调用API、什么是设计模式、编程语言的语法等等)可以少问一些,更应该关注面试者的事业心、对工作的热情、进取心、自律能力、毅力等方面。
下面是一些典型问题:
Why did you get into development?
你为什么开发软件?
How many technical books did you read in the past year?
去年你读了几本技术书籍?
What was your favorite technical book in the past year? What did you learn from it?
去年你最喜欢的技术书籍是哪本?你从中学到了什么?
What websites do you read regularly, related to development?
平时你经常访问哪些编程类网站?
Do you maintain any open-source projects?
你有自己的开源项目吗?
Do you code in your spare-time?
业余时间你编程吗?
Do you love programming, or do you do it for the money?
对于你来说,编程是一种爱好,还是一种谋生手段?
Have you accomplished anything important in your career yet? Do you want to?
你的职业生涯之中有什么重要的成就?它是你主导的吗?
What would make you feel that you have done something important?
什么事情会让你很有成就感?
五、考察理性思维
某些情况下,你可能需要了解面试者的分析判断能力,看他能否全面地思考问题、客观地评价自己。
那么,你可以依次提出这样三个问题:
What's your favorite programming language? Why?
你最喜欢的编程语言是哪种?为什么?
If you could add one feature to your favorite language, what would it be? Why?
如果允许你为这种语言加一种功能,你会加什么功能?为什么?
If you could remove one feature from it, what would it be? Why?
如果允许你取消一种功能,会是什么功能?为什么?
这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。
你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。
『肆』 如何面试程序员
如何面试程序员
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
1. 需要新员工完成什么样的任务?
2. 怎样的人能完成这样的任务?
3. 哪些途径和方法可以发现这样的人?
只有明确这些根本性的问题,才能正确高效地完成面试。
二、提问的原则
假定你对上一节的三个问题,已经有了清晰的想法,那么接下来就可以设计如何提问了。
有一些提问的原则,是你应该遵循的:
每一个面试问题都有明确的目的。你不仅自己了解,还能向其他面试官解释清楚。
多提一些开放性(Open-ended)的问题,而不是那种用Yes/No就可以回答的问题。这样做使你有机会与面试者展开讨论,并且提出后续的问题,尽可能多地了解对方。
不要问宗教、家庭、健康、个人隐私等方面的问题。
不要问太复杂的问题。因为面试者没有太多思考时间,所以无法周全地回答,你也就无从判断他的能力了。
三、考察专业能力
为了确认面试者是胜任的,你可以问一些与职位相关的专业方面的问题。(不过通常来说,一次面试不足以看出一个人的专业能力。)
比如,你的招聘职位是系统管理员,你可以问"如何快速地在50台机器上部署Linux?"(提示:正确答案不是刻录50张安装光盘。)
另外,你还应该向面试者了解他的过去,因为过去是未来的最好预测依据。不过,提问的重点不要仅仅是他过去的成果,更要关注在当时的环境中,他是如何决策和实施的。
四、考察综合素质
因为人是会发展的,所以某种程度上,面试者的综合素质要比他的专业能力更重要。
所以,具体的技术问题(如何调用API、什么是设计模式、编程语言的语法等等)可以少问一些,更应该关注面试者的事业心、对工作的热情、进取心、自律能力、毅力等方面。
下面是一些典型问题:
Why did you get into development?
你为什么开发软件?
How many technical books did you read in the past year?
『伍』 程序员应该怎样去面试
嗨,亲爱的程序员朋友们,如果你是工作好几年的人了,那么你一定经历过面试吧,今天我以个人的视角总结了一下怎么才能有一次成功的面试,希望对你有所帮助。如果你已经开始看了,那么你一定看完哦,只有有耐心的人儿才能成大事,如果看了一半,这篇文章对你来说是没有任何收获的,反而却浪费了你宝贵的时间。
关于简历的制作
每个技术面试官每天要阅览几百甚至上千份简历,阅读一封简历的时间可能不超过10秒,你的简历就是茫茫大海中的一滴水,如果能让面试官从一大摞简历中选出你的简历,那么就需要从简历制作上下功夫了。

各位可以仔细琢磨一下上面的几种场景,有时没有经历过这种场景,可能没法对上面的描述做到感同身受,看了之后就会一带而过了,建议收藏此文,以后遇到类似情况了,可以把这篇文章找出来看看,相信会对你有所帮助,最后祝各位程序员朋友们都能找到自己心仪的工作!
大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧。
『陆』 怎样面试程序员的工作
首先在面试之前你要了解应聘岗位的相关信息:
公司规模及性质、公司业务范围、你所应聘部门情况、工作性质、岗位培训、企业文化。
一般情况下,了解一下公司概况、企业文化、自己应聘职位的特点、工作内容,需要应聘人员具有哪方面的素质及能力,面试中朝着所了解的去努力,应该就可以。如果想更好的分析自己的发展前景,可以更多的了解公司的规模、性质、开办年月、做什么产品项目、年营业额、成长幅度、人事制度、企业文化、在行业中的排名等等,了解的越多越好。除此之外,如果能够了解公司的氛围,对你准备合适的穿着和谈吐也是十分有用的。
接着,准备一份专业的简历
一般在面试之前面试官都会先看你的简历,所以简历就是门面,简历的好坏,决定你是否有面试的机会。如果你想增加自己的入选机会,最好还是花点时间精心制作一份专业的简历。相较于你将来可能得到的巨大收获,这真的只是一个小小的投资。
掌握计算机科学的基础知识
在面试前,一定要先审视一下自身的基础知识掌握程度,如果有必要,自己买书回来或者网上找一些资料,利用空余时间系统的学习一遍,比如你所使用的语言本身,比如你擅长的框架底层实现,比如编译原理,比如多线程的知识,比如Http相关的知识等等。千万不要没有一点点基础知识储备或者基础知识储备不丰富就跑去面试,失败的几率非常大,如果眼睁睁的看着自己心仪的工作机会擦肩而过,我想是谁都会难过的吧。
精心打扮自己
虽然第一印象并不一定能准确地判断一个人,但大多数人还是喜欢凭借第一印象作出自己的判断,负责招聘的主管人员也是如此。因此求职者在参加面试之前,一定要对自己的整体形象进行设计,争取给用人单位留下好的第一印象。程序员面试不需要穿西装,但是也不可太随意,大方得体的服饰加上淡淡的妆容,就能给面试官留下一个好印象。
活力洋溢地回答问题
只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。 举个例子说,如果我问你什么是多态性,我不是要你按照课本中的定义重复给我听,我希望你能就这个主题阐述一下,然后我们可以更深入地聊一聊。
『柒』 作为HR你是如何面试程序员的
不是hr,但在面试程序员的时候,不管性格内向还是外向首先要积极向上,太消极的会对团队造成很大影响。
『捌』 程序员面试要准备些什么东西
技术方面的技巧
第一:ABC(Always Be Coding)。
一力降十惠,说的多不如做的多,所有工作都是这样,程式也不例外。你写过的程式越多,你的能力也就越高。但是,你必须做到有目的的程式,在写程式之前做到心中有数,明白自己的短板并且加强训练,坚持不懈的挑战自己的极限,努力使自己在各方面都很优秀。我强烈建议你把自己做过的每个项目——不管是否完成——都整理成作品集,在这里推荐GitHub,非常专业的程式分享社区,你可以把自己的作品集放到这。
第二:精通至少一种多重范式程式语言。
精通一门诸如C++这样的语言能让你从根本上理解程式,因为这类语言风格多样,如何写程式完全取决於你自己的风格,你能在一种语言里体会到不同风格的程式在执行上的差别,同时要达到这样的水平还需要大量的实战与练习。而且这类语言通常在各个社区中也是最活跃的板块,你可以很容易就找到志同道合的朋友来分享经验。其他也支持多风格程式的语言还有C#、Java、PHP、Python及Ruby。
关於C++ 的题外话:有一个跟著名的面试题,许多面试官都喜欢问,是这样:“如果把C++ 分为十个等级,1 为最低,10 为最高,你认为你自己处在哪一级?”希望上帝保佑那些回答9 或者10 的人,Bjarne Stroustrup 估计也只会给自己打到8 分甚至更低(此人为C++ 之父)。主要原因是这个语言经过这麼多年无数大能的不懈努力,已经超级复杂,被称为主流设计语言中最复杂的一款也不为过。
第三:熟悉各种算法的优劣。
先看看这份关於各种算法的对比图,确定都理解了之後,试著把这些算法都用自己的方式写一遍。这样你就会对各种算法有更深刻的理解。面试的时候这几乎是必考题哦。
第四:熟悉所有常用函数。
你最好把所有的常用函数都用自己使用的语言写一遍,不要依赖於现成的函数库,这样会加深你对各个函数以及语言本身的理解。试著快速写出下列函数:向量(动态数组)、鍊表、堆栈、队列、哈希映射、集合、优先级队列等等。
第五:要更务实。
临时抱佛脚早就没有用了,踏踏实实的打好基本功才是王道,花更多的时间去解决各种程式中遇到的问题,这里推荐多去TopCoder看看,那里有很多不错的资源。里边有各种案例可供学习,试著学习里边的思考方式来解决自己遇到的问题。我当初花了整整两个礼拜在TopCoder上,到最後我都能闭著眼一只手写出迪科斯彻算法,几乎能解决所有的图形问题。所做的不过是不断重复程式。这可能是Google最终要我的原因之一吧。Eric Schmidt说:“重复从不青睐祈祷者。”
第六:程式是最简单的。
这麼多年的工作经验使我明白了一条,写程式是一个工程师所有工作中最简单明确的一部分。我常挂在嘴边的一句话是:“简单的就像写段程式一样。”我相信对於一个工程师来讲,事前准备和事後维护才是更艰难的工作。比如说,你需要在程式前计划好你需要写什麼以及确保写好的程式能顺利运行。尽量让面试官知道,你不是一个只懂写程式的呆子。
需要注意地是,在别人面前写程式可能会略为彆扭,最好提前做些这方面的练习,可以参考下我前任同事Dan写的这篇《Whiteboarding》。
非技术方面的技巧
需要提前说明的是我在这方面并不专业,仅供参考而已。
第一:明白你为什麼选择这个公司这分工作。
不管大公司还是小公司,还是极度饥渴的创业公司,都不会要一个连公司是乾嘛的都不知道的人,哪怕这个人技术牛到一塌糊涂也不行。
第二:一定要满怀激情。
程序猿是一种没有固定工作时间的动物,如果你只是想找一份朝九晚五、有固定工资、只在偶尔加加班的工作,你还是别乾这行的好,你一定要爱程式,不管什麼时间什麼地点,只要有需要,就能随时投入工作。爱一行,乾一行,对於程式设计师来说尤其如此。
第三:不懂就问。
面试的时候如果碰到没有听明白的问题,一定不要不懂装懂,我曾经见过有些面试的人花了老牛鼻子的劲去解决根本没问过的问题,这不只是浪费你的时间,也是浪费我的时间。
第四:保持微笑。
所有面试宝典上都有这条,但是,不要做太过了,适当的微笑能产生很大的效果。我有时候会在面试完一个人後特别受打击,但是下一个面试者简单而真诚的微笑能让我一下子心情好起来。
参考自:David Byttow是一名程式设计师,曾在Google和Square等公司工作过
『玖』 程序员面试要注意哪些面试成功后有哪些最基本的待遇
孙子兵法曰:“知己知彼,百战不殆。”倘若掌握了以下八种招式,你将如天马行空一般驰骋于各种职场之中。一般来讲,你的“假想敌”——面试官分为以下几种表现形式:1.性格外向型:充满活力;善谈;肢体语言丰富;赋有感染力;表里如一,想到什么就说什么。2.性格内向型:外表冷竣,不喜形于色;不善言谈;几乎无任何肢体语言;喜欢沉思默想,而后出言表达。3.性格感应型:语言简洁精炼,直述其意;无想象力,求实际,重事实。4.性格直觉型:谈话高深莫测;喜用修辞和成语;无论其谈吐和表情都给人以模糊,含混的感觉。5.貌如思想家型:富有严密的逻辑思维能力;善用分析和推理;性格墩厚。6.敏感试探型:友好,温和;善解人意,富有同情心;善用外交手腕,处事圆滑。7.貌如审判官型:非常严肃和冷静;具有决定性和组织的权威之感;凌驾于你的IQ和EQ之上,任意判断,独断专行。8、貌如观察家型:喜顽皮,善用游戏等方式测试候选人;好奇心强;想法随意,大有天马行空之式。“来而不往非礼也”一般说来,你也可以有以下八种招式晓之以情,还之以礼:1.顺从倾听式:(针对第一种性格外向型“假想敌”)随他们去说,你只要做个好听众,面带微笑,频频点头,心领神会;时而温和平静,时而大笑,时而作惊讶状,时而作陶醉状,一言以蔽之要变化多端。2.温和提问式:(针对第二种性格内向型“假想敌”)时而提问,时而倾听;不要打断他的谈话,要有耐心,给他时间去沉思默想。3.直截了当式:(针对第三种性格感应型“假想敌”)直接切入正题;问一句答一句,有理有据,不要夸夸其谈;直接阐述你的实际工作经验,最好引述一两例成功案例。4.假装领悟式:(针对第四种性格直觉型“假想敌”)尽力保持谈话不要间断,亦可以引用成语和典故;要表现出你的创造性和古灵精怪的思维;强调你已经领悟了他高深莫测的寓意。5.以毒攻毒式:(针对第五种貌如思想家型“假想敌”)回答问题时,你也要逻辑严密;与他的观点和立身之道保持一致;表现出你也是公正无私、墩厚之人。6.善解人意式:(针对第六种敏感试探型“假想敌”)要温和,平稳;表现出你的热情助人行为,以及你的通情达理和为他人着想的美德;表现出你是如何协调组织和善于沟通不同人之间关系的能力;7.被驯服式:(针对第七种貌如审判官型“假想敌”)要有充分准备,作乖乖状且随机应变;谦虚谨慎,多向他征求意见;服从组织安排,要有“党叫干啥就干啥”的精神。8.期待响应式:(针对第八种貌如观察家型“假想敌”)要热情响应他的任何提议,积极参与协助对你的各种测试;时刻期待着回答他对你提出的各种问题,但要有选择性地回答;不要勉强做出评价和表达自己的意思。
『拾』 如何应聘程序员
具备以下能力:
1、版本控制系统(VCS)
VCS也许是计算机课程最大的疏漏。这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码。而每一个程序员都应该懂得利用Git或Subversion有效地创建repository(仓库)、编辑与提交代码、进行分支与合并、了解项目工作流。
2、写作
身为程序员要写的不只有代码。你还要撰写项目的发布说明,给版本控制写提交消息,在系统里面编写漏洞报告。这些和许多地方都需要清晰有效的文字表达——但这个技能计算机科学却很少强调。
3、正则表达式
正则表达式本身就是一门语言,每一个现代程序员都需要熟练掌握。每一门现代语言都支持正则表达式或者有相关标准库。如果代码需要校验某字符串是否含有5个字符、1个破折号和1个数字,应该马上就能写出 /^[A-Z]{5}-\d$/。
4、库的使用
现在已经是2014年,没人需要用正则表达式从URL析取主机名。因为每一门现代编程语言都有执行常用功能的标准库。程序员需要明白,那些经过开发、测试和调试的代码通常要比自己重新写的代码更好。更重要的是,无需编写的代码实现起来要快得多。
5、SQL
很多程序员的SQL竟然是在工作中学会的。把数据存进平面文件的时代已经结束了。一切东西都要进出数据库,而SQL则是存取数据的语言。这是一门说明性语言,不是程序语言,所以用它来解决问题时需要新的思考方式。每一个程序员都应该了解数据库标准化基础,能够执行SELECT(及INNER、OUTER JOIN)、INSERT、UPDATE和DELETE。
6、IDE、编辑器及CLI工具
只懂用锯子的木匠永远也无法出师,所以计算机专业毕业的人只懂Notepad或pico的话实在令人惊诧。编程工具帮助操纵代码及其他数据,令程序员生活变得容易。所以每一个程序员都应该知道命令行、shell脚本、find、grep及sed的使用。
7、调试
每一个程序员都应该知道利用交互式调试器或在代码中点缀一些输出语句来调试程序。通过逐步求精来跟踪问题的能力实在是太重要了。
8、防错性编程
错误总是难免的,哪怕是明星程序员也不例外。失控是世界的常态,出错毫不奇怪。防错性编程正是理解了这个事实。如果东西不会出错,我们就不会检查文件打开成功与否,不会检查客户ID是否合法数字,不用测试代码是否允许正确。程序员需要知道,编译器告警是有用的工具,可让生活得更舒适,而不是要避而远之的麻烦事。每一个程序员都应该知道为什么每一个PHP程序都要这样开头:seterrorreporting,为什么每一个Perl程序都要写上这些语句:use strict; use warnings;。
9、团队协作
很少有编程工作会让你自己一个人完成,如果经常这么做,智力会受损,表现会变弱。你的代码必须与别人的交互或者混合。再有才的程序员,如果无法与别人协作,都会给项目造成负面影响,并迅速成为团队的负担。
10、利用现有代码
在学校的时候,每一次作业都是一个新项目,但实际工作不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。所以作为程序员的第一步,需要学会利用现有的代码。