Ⅰ 程序员面试如何介绍自己优缺点
程序员面试一直是大家讨论的热门话题。那么程序员面试如何介绍自己优缺点呢?下面是我给大家整理的程序员面试如何介绍自己优缺点,供大家参阅!
关于优点:
优点是一个相对好回答的问题,每一个人身上都有很多优点,比如细心、适应能力强、善于学习等等。需要提醒大家的是,要尽可能说一些和工作相关的优点,比如孝顺、体贴之类的就不要说啦,可以讲一些诸如“不满足于现状”之类的话,别把自己夸的太玄乎让面试官觉着你太自大就好。
切记的是,一定要举例子啊同学们。不要和面试官直接了当的回答“我不满足于现状”然后等着他问“比如呢?”,这样就显得太高冷了,要像说故事一样的举出一些不那么泛泛的例子,比如:“对自己的能力总是不满足,会去主动尝试学习一些新的东西。高中的时候英语成绩突出,经常能考到140分以上,但是我并没有满足,利用假期考了雅思,成绩也还不错,虽然不出国,但是当做是对自己的一种挑战,很有成就感。”
是不是感觉有那么一点贱贱的?这类问题本身就是这样,你需要的是准备一个你觉着自己还不错的优点,然后讲一段别太长又让人感觉还算真实的故事,就OK了,不需要多出彩,但至少不要为自己减分就好。
给大家一些回答的比较好的:
1. 给自己定下较高的目标并按部就班的实现(可用高考、考研、留学等经历来说明)
2. 同时具有理性思考又有感性和美学的感受力(可以用为什么选择建筑、交互设计等专业来说明。
可以参考这些答案自己准备一些回答,这个问题是没有标准答案的。
关于缺点:
这是一个比较难回答的问题,答得太浅太泛会让人觉着你不能很好的正视自己的缺点,答得太深太真实又会一不小心踩到雷区说到禁忌。一些求职培训机构给了大家一个看似聪明而又标准化的回答,“追求完美、偏执狂“等等,但是,小鹰想告诉大家的是,这个答案已经在5年前就被用烂了,除非你真的是这样,并且能举出一个极具说服力的例子,否则就不要用了。换位思考,如果你是面试官你会相信追求完美是最大的缺点吗?别以为把优点说成缺点就是最聪明的回答,很多时候会让面试官觉着你油嘴滑舌,是在故意讨巧。那应该如何正确的回答这个问题呢?
首先,要知道哪些是雷区,是一定不能说的缺点,比如:懒、脾气古怪、不喜欢合作等等,这就好比说自己“贪嗔痴”一样,是人性的弱点,但是不能在面试中说啊宝贝。在大雷区下,还有一些小雷区,就是针对特定职业的。如果你应聘的是会计,你就不能说自己不拘小节;如果你应聘销售,就不能说自己缺点是内向、不善言辞;如果你是设计师,不能说自己缺乏创新精神等等。
其次,不要去谈和工作不相关的缺点,比如洁癖、厨艺不好、挑食等等,别笑,真的有人这么回答。但是你觉着面试官花时间面试你是想听你唠家常么?同样不要去谈那些不痛不痒的缺点,比如熬夜会困、不善于理财,这种答案说出来会让觉着不知道接什么好,又浑身痒痒,所以还是不要说了。
第三,不要说那些无法改善的缺点,比如一看书就困、算数必须用计算器,这种缺点本身很正常,要是每个人的缺点都能改善都成完人了,但是在面试里拿出来说就是你的不对了,会让面试官觉着“你的这些顽疾既然得不到改善那我干脆不用你好了”。
所以,到底要怎么回答呢?!
在避免以上几点的前提下,要在说出缺点后谈谈你正在或者即将要如何改进这个缺点。小鹰再重申一下,“优点和缺点“的问题是考察大家的自我认知,如果你最大的缺点是“拖延”,然后你明知道这是你最大的问题又不改,是闹哪样呢?会让面试官觉着你是一个不思进取的人。所以,既然是考察自我认知,对于缺点问题最好的回答,应该是你知道自己的缺点并去改正它的过程,然后讲一个真实又动听的故事,就可以顺利过关了。
一些比较好的回答:
1. 有时候把任务布置给别人,觉着不放心或者达不到自己的要求,会去亲力亲为,所以尽管最后项目完成的不错,但是可能会搞得自己特别疲惫,有时候也会影响到同伴的积极性。所以正在努力改进,会在事情开始前先和同伴统一目标和标准,然后分别执行,最后一起讨论…
2. 喜欢追求细节导致项目/作业未能按期完成。通过时间管理能力改变工作方式,先完成框架再改善细节得以解决…
3. 不知如何拒绝,同事要求帮忙一概揽下,影响自身工作进度。通过多任务处理能力设定优先顺序,以该优先顺序表向求助同事展示自己手上工作,并给其一个自己在何时可以给予帮助的时间估计,让求助人自行决定是否求助,问题解决。
在很多求职者的眼中,面试官 就像野兽看到猎人一样?一提到面试官,我们就像到可怕的主考官和令人绝望的口试。我们又总是把面试想象成为充满敌意的情景,自己是被动的牺牲品,被严厉的陌生考官摆弄来摆弄去。我们还把面试描绘成是世上所有的坏心眼人都聚集在一个陌生城市的一间陌生屋子里,在这间屋子里我们将遭遇到气势汹汹的陌生人向我们提出一些我们根本回答不了的问题。
其实,处理面试这一问题的方法就好比将糖化在茶里一样简单。如果你把这个问题包袱一样带到面试场上去,那你活该受罪,尤其是受罪的部分原因是你事先没有花足够的时间思考、计划并准备你的应试策略和预先排演。因为你是否被录取在你的形象和声誉上,所以在积极思考对策预先排演上线点功夫是值得的。如果你被列入了供最后挑选用的候选人名单,这表示有人已经认为你可能胜任这份工作了,之后你将被约见来?
盘算你是否“合适 ”
检验你的自信程度,是否因为紧张而失态;
看看你是否能成功地推销自己一一以观察你的自控程度和模拟状态下你到底有多少“货”
为什么有的后现任没做什么准备就冒然前往参加面试了?原因可能是多种多样的,可能是因为他们不知道该准备些什么,或者知道该准备些什么却不知道该怎么准备,或者是没有发现做点准备的必要性。所以,在这种情况下,参加面试前的第一步工作,最好事写一封信,确认一下面试的安排,这样显得自己很是老道。
一、准备工作
简单写几句话,陈述面试的意图,并经常提醒自己。准备介绍自己的文字材料 、你的观念信仰、个人简历,以及自己合适这份工作的理由。陈述要实事求是不自吹自擂,并巨额写实例和证明来增加陈述的可信度,不妨试试用这样的话开头的句子:“我有个很好的名声,那就是、、、”我的同事们告诉我,说我、、、
二、制定计划
想一想自己想从面试中得到什么,就面试准备和对策研究作出书面计划,对面试当天也要制定计划,以免贴贴撞撞地前往或丢三落四。安排好交通办法。
三、对策研究
对于对方提供的参观该单位,或就该这份工作非正式地谈点什么这种机会,千万不要错过。试着多了解一点该单位:其声誉如何?财政状况如何?谁是面试官?面试时间将会持续多久?面试时间?地点?设计一条前往面试的最佳路线。如果要过夜,往哪里?坐火车或大的要多少钱?如果面试中还包括要你做一段演示,那就检查一下你的声像设备是否完好。
预先排练
向任何一人愿意充当你的观众一一朋友、嫁人、或者猫一一排演一下你的设计思路对你的回答计一下时间,除了非常复杂的问题外,一般情况下的回答都没有必要超过一分半钟,按每分钟120个字的平均水平计算, 你可以将180字,这足以让你作出清楚而精确的表达了。联系如何在讲30秒后就表达出中心已死。联系如何用故事、实例和轶事来生动地讲述 你的经历。不要夸大或淡化你的成功得意之处。对自己的失误要诚实,但也要清楚地说明自己从中得到了什么教训。联系不要太多,只要能使自己对要说的话较为熟悉即可,这样在面试时你会感到很舒服,听起来也自然而然。
其实面试是一个展示你才能的极好机会,可别浪费了!
很奇怪,有许多人从如何面试失败这方面作准备、、、竭力相处自己不应该接受这份工作的所有理由。我们称之为,假腿。最常见的假腿包括:
我得不到这份工作。理由是:
我年纪太大或小
我自个太老或嫩
我经验不足或少
我在目前的岗位上工作的时间太短
提示?面试候选人的致命点是“唠唠叨叨、长篇大论、炫耀自己,只说不听。
Ⅱ 如何面试后端程序员
计算机网络常见面试点总结
计算机网络常见问题回顾
2.1 TCP、UDP 协议的区别
2.2 在浏览器中输入url地址 ->> 显示主页的过程
2.3 各种协议与HTTP协议之间的关系
2.4 HTTP长连接、短连接
2.5 TCP 三次握手和四次挥手
三 linux
3.1-简单介绍一下-linux-文件系统?
3.2 一些常见的 Linux 命令了解吗?
四 MySQL
4.1 说说自己对于 MySQL 常见的两种存储引擎:MyISAM与InnoDB的理解
4.2 数据库索引了解吗?
4.3 对于大表的常见优化手段说一下
五 Redis
5.1 redis 简介
5.2 为什么要用 redis /为什么要用缓存
5.3 为什么要用 redis 而不用 map/guava 做缓存?
5.4 redis 和 memcached 的区别
5.5 redis 常见数据结构以及使用场景分析
5.6 redis 设置过期时间
5.7 redis 内存淘汰机制
5.8 redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
5.9 缓存雪崩和缓存穿透问题解决方案
5.10 如何解决 Redis 的并发竞争 Key 问题
5.11 如何保证缓存与数据库双写时的数据一致性?
六 java
6.1 Java 基础知识
6.2 Java 集合框架
6.3 Java多线程
6.4 Java虚拟机
6.5 设计模式
七 数据结构
八 算法
8.1 举个栗子(手写快排)
九 Spring
9.1 Spring Bean 的作用域
9.2 Spring 事务中的隔离级别
9.3 Spring 事务中的事务传播行为
9.4 AOP
9.5 IOC
不需要写代码就能衡量候选人的方法可能有一万种。我常用的三个主要方法可以覆盖许多不同的技能。在面试过程中,我们会谈论候选人的经验,要求他们做一些代码审查,并与别人合作设计一个系统。
下面我会详细解释这个过程。
我试图通过这些方法找到真正能够胜任技术工作的候选人,并且他们必须能在单纯的编程技能之外给团队带来价值。通常在一次面试中我能在大约一个小时内覆盖所有三个部分。我有信心这些信息能让我找到好的候选人。
1、深入挖掘他们的经验
许多团队已经这样做了。他们会在面试一开始花几分钟,询问候选人之前的工作,他们对工作的态度,等等。大多时候这就像随意谈话一样。
但这是不对的。
记住这是面试。你需要尽可能地理解他们构建系统时使用的技术。
为了做好这一点,你需要在面试开始之前仔细阅读他们的简历。这不是开玩笑,在面试开始之前至少花上10分钟仔细阅读(不是略读)简历,如果花30分钟时间则最好。要从简历中尽可能多了解些他们之前的项目,Google一下看看能否找到他们项目的公开信息。面试时挖掘背景信息所花的时间越少,就越能获得好的效果。
在面试中,要求候选人谈谈他最近最感兴趣的项目。要练习主动的倾听,要学会参与。假装你是他团队中的一员,或者假装你们是在做架构审查。你要努力了解他们构建的东西以及构建的方法。这样做的好处和坏处是什么?要让候选人知道,不知道答案无所谓,但重要的是能勾起你的好奇心。
下面是我认为能获得好的答案的问题:
你在项目中的职责是什么?这个问题本身并不是决定性的。即使在项目中承担的职责很小,他们也可能很适合你们的团队。你的候选人也许正是因为没能获得重要的职责而在寻找新的机会。因此,知道他们过去的职责会很有帮助。
你从他人那里获得了什么帮助?无法感受他人的帮助是个极其危险的信号。即使是个人项目,也一定需要别人的帮忙。你肯定不想要一个以自我为中心的同事。
给我介绍下那个功能的工作原理。解释下数据的来源和去向、存储方式以及这一切能带给最终用户的好处。这个问题的答案足以吸引你的好奇心。
这个项目中最糟糕的技术债务是什么?好的工程师必须理解他们做出决定时需要付出的代价。问完这个问题,可以继续询问他们怎样改正这些问题,或者尚未改正的理由。
有没有出过生产环境下的bug或服务中断?测试下他们是否理解bug的原因,以及团队解决bug的方法。他们是否提前预期到了bug?下次怎样才能避免同样的问题发生?
这一部分面试能让你直接了解候选人的经验。做好这一部分还能让你了解他们如何感谢别人或责备别人。你将会了解到他们如何在两难的工程问题上做出抉择,他们会与你分享最近的教训,他们与别人沟通技术的能力应该也很明显。
如果他们选择了不太适合的项目,可以考虑谈论其他项目。所谓不太适合的意思是项目不够复杂或他们记不清的情况。
注意,这一步要避免询问类似于“告诉我你解决过的最难的bug”之类的问题。要求别人回忆系统的某一部分的具体原理会带来大量的虚假负面判断。人们不可能拥有他们修复的bug相关的一切知识,这种问题会给面试过程带来很大压力。
2、让他们审查你们的代码
这项活动一半是代码审查一半是角色扮演。你可以借此筛选出那些能够提升团队整体代码质量并促进办公室氛围的人。
下面是代码审查过程中需要关注的一些方面:
他们怎样与代码的“作者”交流?交流是否有用?是否高效?是否友善?
他们会着重哪些问题?是否能明确表达出他们的疑问?他们是否会立即指出哪些无关紧要的问题?
他们是否善于阅读自己不熟悉的代码?
这个方法需要提前准备很多东西。你需要找到或编写一段代码供候选人审查。你还需要为你希望候选人找出的问题创建一个优先级列表。不要让面试管当场出题,一定要事先准备好。
在选择需要审查的代码时,不要选择产品代码。你的候选人没有你所拥有的背景知识,这样做实际上是将候选人与你的同事比较,而不是与其他候选人比较。
努力降低代码示例中的复杂度。面试的时候,候选人没有太多时间阅读代码,而且很可能他们并没有想到会做代码审查。热身就要花很长时间。
在代码中加入一两个真实的bug,但不要强调找bug。一般来说,代码审查并不是个好的找bug方法,特别是审查者从来没有见过代码的情况下。能自证的bug(如给需要数组的函数传递字符串)最好。在你的优先级列表中,bug的优先级应该是最低的,bug应该是给极其优秀的人的加分项。
最后,代码应该做一些实际的事情。如果你的公司很出名,那可以选择你的产品简化版本。但如果你需要花大量时间为候选人提供背景信息的话还是算了。
最好的选择要么是虚构的代码(也许可以选择本文竭力避免的代码面试中用到的代码),要么是开源代码中的一个拉取请求。
一旦决定了要审查的代码,你应该期待候选人找出下面这些东西:
过于糟糕的拉取请求的描述或提交信息;
能用但无法自洽的代码;
过于复杂的代码(需要重构的代码);
混乱的变量或方法名;
过度设计的代码(即实际上永远不会用到的功能)。
如果代码中没有足够的问题,就多加一些。
这里有个潜在的问题,我还没有确定的答案。这个问题是:你是否应该提前将代码发给候选人?
如果你这样做,就又给那些有空闲时间的人以巨大的优势。如果不这样做,就要面临增加面试压力的风险。
我倾向于后者。好的面试官可以减轻压力,方法之一就是让面试者提前知道他们将做代码审查,你也可以在审查开始之前介绍你的期望。
Ⅲ 75道程序员面试逻辑测试题(附答案)(1)
【1】 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。
由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有1升水,因此6只能向5倒4升水,然后将6剩余的2升,倒入空的5里面,再灌满6向5里倒3升,剩余3升。
【2】 周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室做作业。做完后想出去玩。"等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?"爱动脑筋的周雯,是学校里有名的"小机灵",她只想了一会儿就做到了。请你想想看,"小机灵"是怎样做的?
设杯子编号为ABCDEF,ABC为满,DEF为空,把B中的水倒进E中即可。
【3】 三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失误,命中率是100%。由于这个显而易见的事实,为公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。然后这样循环,直到他们只剩下一个人。
那么这三个人中谁活下来的机会最大呢?他们都应该采取什么样的策略?
小林在轮到自己且小黄没死的条件下必杀黄,再跟菜鸟李单挑。
所以黄在林没死的情况下必打林,否则自己必死。
小李经过计算比较(过程略),会决定自己先打小林。
于是经计算,小李有873/2600≈33.6%的生机;
小黄有109/260≈41.9%的生机;
小林有24.5%的生机。
哦,这样,那小李的第一枪会朝天开,以后当然是打敌人,谁活着打谁;
小黄一如既往先打林,小林还是先干掉黄,冤家路窄啊!
最后李,黄,林存活率约38:27:35;
菜鸟活下来抱得美人归的几率大。
李先放一空枪(如果合伙干中林,自己最吃亏)黄会选林打一枪(如不打林,自己肯定先玩完了)林会选黄打一枪(毕竟它命中率高)李黄对决0.3:0.280.4可能性李林对决0.3:0.60.6可能性成功率0.73
李和黄打林李黄对决0.3:0.40.7 0.4可能性李林对决0.3:0.7 0.6 0.70.7 0.6可能性成功率0.64
【4】 一间囚房里关押着两个犯人。每天监狱都会为这间囚房提供一罐汤,让这两个犯人自己来分。起初,这两个人经常会发生争执,因为他们总是有人认为对方的汤比自己的多。后来他们找到了一个两全其美的办法:一个人分汤,让另一个人先选。于是争端就这么解决了。可是,现在这间囚房里又加进来一个新犯人,现在是三个人来分汤。必须寻找一个新的方法来维持他们之间的和平。该怎么办呢?按:心理问题,不是逻辑问题
是让甲分汤,分好后由乙和丙按任意顺序给自己挑汤,剩余一碗留给甲。这样乙和丙两人的总和肯定是他们两人可拿到的最大。然后将他们两人的汤混合之后再按两人的方法再次分汤。
【5】 在一张长方形的桌面上放了n个一样大小的圆形硬币。这些硬币中可能有一些不完全在桌面内,也可能有一些彼此重叠;当再多放一个硬币而它的圆心在桌面内时,新放的硬币便必定与原先某些硬币重叠。请证明整个桌面可以用4n个硬币完全覆盖。
要想让新放的硬币不与原先的硬币重叠,两个硬币的圆心距必须大于直径。也就是说,对于桌面上任意一点,到最近的圆心的距离都小于2,所以,整个桌面可以用n个半径为2的硬币覆盖。
把桌面和硬币的尺度都缩小一倍,那么,长、宽各是原桌面一半的小桌面,就可以用n个半径为1的硬币覆盖。那么,把原来的桌子分割成相等的4块小桌子,那么每块小桌子都可以用n个半径为1的硬币覆盖,因此,整个桌面就可以用4n个半径为1的硬币覆盖。
【6】 一个球、一把长度大约是球的直径2/3长度的直尺.你怎样测出球的半径?方法很多,看看谁的比较巧妙
把球放在平面上,把直尺的一边卡在平面上,一边卡在球上,球与尺子的接触点到平面的距离就是球的半径.因为直尺长度约为直径的2/3>半径,所以能测量.
【7】 五个大小相同的一元人民币硬币。要求两两相接触,应该怎么摆?
底下放一个1,然后2 3放在1上面,另外的4 5竖起来放在1的上面。
【8】 猜牌问题S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4黑桃J、8、4、2、7、3草花K、Q、5、4、6方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话:P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。P先生:现在我知道这张牌了。Q先生:我也知道了。听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌? 方块5
【9】 一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明!一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的)教授问第一个学生:你能猜出自己的数吗?回答:不能,问第二个,不能,第三个,不能,再问第一个,不能,第二个,不能,第三个:我猜出来了,是144!教授很满意的笑了。请问您能猜出另外两个人的数吗?
经过第一轮,说明任何两个数都是不同的。第二轮,前两个人没有猜出,说明任何一个数都不是其它数的两倍。现在有了以下几个条件:1.每个数大于02.两两不等3.任意一个数不是其他数的两倍。每个数字可能是另两个之和或之差,第三个人能猜出144,必然根据前面三个条件排除了其中的一种可能。假设:是两个数之差,即x-y=144。这时1(x,y>0)和2(x!=y)都满足,所以要否定x+y必然要使3不满足,即x+y=2y,解得x=y,不成立(不然第一轮就可猜出),所以不是两数之差。因此是两数之和,即x+y=144。同理,这时1,2都满足,必然要使3不满足,即x-y=2y,两方程联立,可得x=108,y=36。
这两轮猜的顺序其实分别为这样:第一轮(一号,二号),第二轮(三号,一号,二号)。这样分大家在每轮结束时获得的信息是相同的(即前面的三个条件)。
那么就假设我们是C,来看看C是怎么做出来的:C看到的是A的36和B的108,因为条件,两个数的和是第三个,那么自己要么是72要么是144(猜到这个是因为72的话,108就是36和72的和,144的话就是108和36的和。这样子这句话看不懂的举手):
假设自己(C)是72的话,那么B在第二回合的时候就可以看出来,下面是如果C是72,B的思路:这种情况下,B看到的就是A的36和C的72,那么他就可以猜自己,是36或者是108(猜到这个是因为36的话,36加36等于72,108的话就是36和108的和):
如果假设自己(B)头上是36,那么,C在第一回合的时候就可以看出来,下面是如果B是36,C的思路:这种情况下,C看到的就是A的36和B的36,那么他就可以猜自己,是72或者是0(这个不再解释了):
如果假设自己(C)头上是0,那么,A在第一回合的时候就可以看出来,下面是如果C是0,A的思路:这种情况下,A看到的就是B的36和C的0,那么他就可以猜自己,是36或者是36(这个不再解释了),那他可以一口报出自己头上的36。(然后是逆推逆推逆推),现在A在第一回合没报出自己的36,C(在B的想象中)就可以知道自己头上不是0,如果其他和B的想法一样(指B头上是36),那么C在第一回合就可以报出自己的72。现在C在第一回合没报出自己的36,B(在C的想象中)就可以知道自己头上不是36,如果其他和C的想法一样(指C头上是72),那么B在第二回合就可以报出自己的108。现在B在第二回合没报出自己的108,C就可以知道自己头上不是72,那么C头上的唯一可能就是144了。
史上最雷人的应聘者
【10】 某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝15%绿85%,事发时有一个人在现场看见了,他指证是蓝车,但是根据专家在现场分析,当时那种条件能看正确的可能性是80%那么,肇事的车是蓝车的概率到底是多少?
15% 80%/(85%×20%+15% 80%)
【11】 有一人有240公斤水,他想运往干旱地区赚钱。他每次最多携带60公斤,并且每前进一公里须耗水1公斤(均匀耗水)。假设水的价格在出发地为0,以后,与运输路程成正比,(即在10公里处为10元/公斤,在20公里处为20元/公斤......),又假设他必须安全返回,请问,他最多可赚多少钱?
f(x)=(60-2x)*x,当x=15时,有最大值450。
450×4
【12】 现在共有100匹马跟100块石头,马分3种,大型马;中型马跟小型马。其中一匹大马一次可以驮3块石头,中型马可以驮2块,而小型马2头可以驮一块石头。问需要多少匹大马,中型马跟小型马?(问题的关键是刚好必须是用完100匹马) 6种结果
【13】 1=5,2=15,3=215,4=2145那么5=?
因为1=5,所以5=1.
【14】 有2n个人排队进电影院,票价是50美分。在这2n个人当中,其中n个人只有50美分,另外n个人有1美元(纸票子)。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有1美元买票时,电影院都有50美分找钱
注:1美元=100美分拥有1美元的人,拥有的是纸币,没法破成2个50美分
本题可用递归算法,但时间复杂度为2的n次方,也可以用动态规划法,时间复杂度为n的平方,实现起来相对要简单得多,但最方便的就是直接运用公式:排队的种数=(2n)!/[n!(n+1)!]。
如果不考虑电影院能否找钱,那么一共有(2n)!/[n!n!]种排队方法(即从2n个人中取出n个人的组合数),对于每一种排队方法,如果他会导致电影院无法找钱,则称为不合格的,这种的排队方法有(2n)!/ (n-1)!(n+1)! 种,所以合格的排队种数就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。至于为什么不合格数是(2n)!/[(n-1)!(n+1)!],说起来太复杂,这里就不讲了。
【15】 一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人。问他赚了多少?
2元
【16】 有一种体育竞赛共含M个项目,有运动员A,B,C参加,在每一项目中,第一,第二,第三名分别的X,Y,Z分,其中X,Y,Z为正整数且X>Y>Z。最后A得22分,B与C均得9分,B在百米赛中取得第一。求M的值,并问在跳高中谁得第二名。
因为ABC三人得分共40分,三名得分都为正整数且不等,所以前三名得分最少为6分,40=5 8=4 10=2 20=1 20,不难得出项目数只能是5.即M=5.
A得分为22分,共5项,所以每项第一名得分只能是5,故A应得4个一名一个二名.22=5*4+2,第二名得1分,又B百米得第一,所以A只能得这个第二.
B的5项共9分,其中百米第一5分,其它4项全是1分,9=5+1=1+1+1.即B除百米第一外全是第三,跳高第二必定是C所得.
【17】 前提:
1 有五栋五种颜色的房子
2 每一位房子的主人国籍都不同
3 这五个人每人只喝一种饮料,只抽一种牌子的香烟,只养一种宠物
4 没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料
提示:1 英国人住在红房子里
2 瑞典人养了一条狗
3 丹麦人喝茶
4 绿房子在白房子左边
5 绿房子主人喝咖啡
6 抽PALLMALL烟的人养了一只鸟
7 黄房子主人抽DUNHILL烟
8 住在中间那间房子的人喝牛奶
9 挪威人住第一间房子
10抽混合烟的人住在养猫人的旁边
11养马人住在抽DUNHILL烟的人旁边
12抽BLUEMASTER烟的人喝啤酒
13德国人抽PRINCE烟
14挪威人住在蓝房子旁边
15抽混合烟的人的邻居喝矿泉水
问题是:谁养鱼???
第一间是黄房子,挪威人住,喝矿泉水,抽DUNHILL香烟,养猫;! f/ [% a: 6 L! J. Q9 x第二间是蓝房子,丹麦人住,喝茶,抽混合烟,养马;+ o8 _0 S) L8 i' E' u第三间是红房子,英国人住,喝牛奶,抽PALL MALL烟,养鸟;/ N9 o/ n2 M# U" c第四间是绿房子,德国人住,喝咖啡,抽PRINCE烟,养猫、马、鸟、狗以外的宠物;7 P5 l) G, G, |; C, {7 V第五间是白房子,瑞典人住,喝啤酒,抽BLUE MASTER烟,养狗。
【18】 5个人来自不同地方,住不同房子,养不同动物,吸不同牌子香烟,喝不同饮料,喜欢不同食物。根据以下线索确定谁是养猫的人。
10.养鱼的人住在最右边的房子里。
11.吸万宝路香烟的人住在吸希尔顿香烟的人和吸“555”香烟的人的中间(紧邻)
12.红房子的人爱喝茶。
13.爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。
14.吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁,也不与来自上海的人相邻。
15.来自上海的人住在左数第二间房子里。
16.爱喝矿泉水的人住在最中间的房子里。
17.爱吃面条的人也爱喝葡萄酒。
18.吸“555”香烟的人比吸希尔顿香烟的人住的靠右
第一间是兰房子,住北京人,养马,抽健牌香烟,喝茅台,吃豆腐;2 G7 x% z0 v; C第二间是绿房子,住上海人,养狗,抽希尔顿,喝葡萄酒,吃面条;% C2 k4 o8 t" p6 L* x第三间是黄房子,住香港人,养蛇,抽万宝路,喝矿泉水,吃牛肉;& N" S% x# o3 a; g第四间是红房子,住天津人,抽555,喝茶,吃比萨;7 5 s. J# d, Q/ N% N' O# ]第五间是白房子,住成都人,养鱼,抽红塔山,喝啤酒,吃鸡。
【19】 斗地主附残局
地主手中牌2、K、Q、J、10、9、8、8、6、6、5、5、3、3、3、3、7、7、7、7
长工甲手中牌大王、小王、2、A、K、Q、J、10、Q、J、10、9、8、5、5、4、4
长工乙手中牌2、2、A、A、A、K、K、Q、J、10、9、9、8、6、6、4、4
三家都是明手,互知底牌。要求是:在三家都不打错牌的情况下,地主必须要么输要么赢。问:哪方会赢?
无解地主怎么出都会输
【20】 一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?
先拿下第一楼的钻石,然后在每一楼把手中的钻石与那一楼的钻石相比较,如果那一楼的钻石比手中的钻石大的话那就把手中的钻石换成那一层的钻石。
Ⅳ php程序员的深圳面试经历
php程序员的深圳面试经历
明天还有两场面试,本来想着早点休息的,可是纠结了一番,还是决定写下此文。
因为对深圳的环境还是不太熟悉,即使早上的面试时间是十点半,可我还是七点十五分起床了,然后刷牙洗漱,出门的时候七点四十分左右。因为害怕迟到,或者是心里没底,所以一路赶到地铁站,没有吃早餐。半路的时候还突然下起了倾盆大雨。深圳的天气就是这么奇怪,一会儿大太阳的,一会儿就大暴雨了。
不知道是否方便透露信息,所以早上面试的公司简称为YL,八点三十五分左右的时候,我就顺利找到YL所在的大厦了。悲剧的是,离面试还有将近两个小时。本来想着去吃早餐的,可是环顾四周,早餐只有那些路边摊几家在卖,早上走了二十几分钟的路,做了三十多分钟的地铁,站的。感觉很累了,所以很想找个地方坐下。于是我一直走一直走,找到了肯德基,我才觉得好受了很多,但是那个时候已经没有胃口吃东西了。
差不多到面试时间了,我便返回YL所在的大厦。找到他们的办公室,刚好碰巧有个女孩和我一起都是面试的,不过她面试的是测试。进入一间会议室之后,给了简历给人事,然后就开始笔试了。
笔试中途,他们有人要开会,所以转阵到了另外一个小房间里。在那个房间里,有个男生,和女生一样,也是面试测试的。这个男生,不知道什么原因,爱一直说话,女孩在笔试的时候,就一直在说,这些笔试题真没意义没意思之类的话,感觉这样不太好吧,打断了人家做笔试题的思路什么的。他说他是从华为出来的,和测试的那个女孩还讨论了笔试题……
笔试题目大概如下:
笔试题中写的是两类题目(实际上不是):javascript,php
第一类题目主要有:
1、闭包
2、谈谈css中的float和position
3、前端优化的一些建议
4、写一个函数fillBefore(chr,bit),当chr的位数比bit小的时候,在chr的前面加0,比如fillBefore(ao,9); 输出0000000ao
5、获取url中的参数,比如url = http://www.mian4.net?a=111&b=222;写一个函数类似于getX(a);输出结果为111
6、考了全局变量和局部变量的题目,看输出的值是多少
PHP类:
1、require,require_once,include,include_once的区别
2、echo和print以及print_r的区别
3、用php输出昨天的时间,格式为2014-5-18 00:00:00
4、另外两道程序题目忘记了
笔试做的不是很好,当然后来的面试也不好。面试官是一个很深沉的人,不知道是不是因为我的情况太糟糕了,他一直在思考,沉思,叹气,皱眉……
面试的时候,问了一些技术上的问题,都是平时大家见得比较多的,但是我回答得都不好,盒子模型,H5的新标签,事件,getdom返回的`值是什么,用JQ的话又会返回什么。
因为情况比较糟糕,所以他直接跟我说达不到他们的要求,我的基础很不好,很坦白跟我说,我承认自己真的挺糟糕的。
他问了我的职业规划,还问了我JQ插件方面的。问我学习速度快不快。
最后他让我说一个理由感动他,让我理由为什么选择我。
结果我说不出来……╮(╯▽╰)╭
吃过午饭后,接着就是下午到KBE的面试了。
前台的MM挺漂亮的,刚好有另外一个同事在,她就说,哎呀,怎么没有人来面试前台呢。。。。
KBE里面的东西感觉蛮整洁,颜色感觉也挺舒服的。
把我带到一个一张桌子三张椅子的小房间里,填一些基本情况的表,交了表之后不久就有人过来找我聊天了。
这个人给人的感觉比较自然,不会像早上给人挺紧张的感觉。因为时间的关系,他们还有会议,所以和我的聊天也比较简短。
没有笔试,直接就简单面试了,问了我一些基本的技术情况、工作经历情况、职业规划、想找什么类型的工作之类的问题之后,直接就跟我讲他们公司的情况了,福利待遇啊,上班时间之类的。
感觉……太快了……
就这样,一天的面试就结束了。
面试体会:技多不压身,扎实不怕问。会紧张多半是因为觉得自己很多不足,所以才害怕人家问到自己回答不上来,所以如果懂得的多,就不怕人家来试炼。
另外,自己的的确确有很多东西需要打好基础,盲羊补牢,实在不是办法,东一个补丁,西一个补丁,始终成不了好的衣服,所以好好学习!!!!!
各位晚安。
;Ⅳ 程序员面试时如何介绍项目经验
不管你是在面试什么样的工作,你的工作经验,或者实习经验都非常重要。因为这些经验是面试官判断你工作能力的基本依据。如何把自己的工作介绍清楚也考察了你的语言表达能力。特别是程序员,项目经验是程序员最大的就业依靠,所以在面试中一定要介绍清楚你的项目经验,不能只是笼统的说一说。下面我们就来介绍一下程序员在面试时如何介绍自己的项目经验。
介绍产品时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统架构或产品搞清楚,并能介绍清楚,为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?
1.明确你的项目到底是做什么的,有哪些功能
2.明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用
3.明确你的模块在整个项目中所处的位置及作用
4.明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术。
在你无法改变自己的工作年限、自己的不那么有说服力的项目经验的情况下(这一定是扣分项),可以通过这种方式来一定程度上地弥补并且增进面试官对你的好感度。
谈一下你在项目中解决过的比较复杂的问题。这个问题在90%的情况下会被问到。这需要在工作中不断去发现和探索,不需要多,在你自己目前的项目中只要你找到一两个能说的问题就行。一个小技巧是,即使问题不是你解决的而是别人解决的,但是你把这个问题弄懂、搞透了,在面试的时候你一样可以把这个问题当作是你自己解决的来说----毕竟,谁来管这个问题当时到底是不是你解决的呢?
如果你的经验不是很足,那么就说说你攻克的最大困难,你为了做好这个项目都做了什么努力,花了多久的时间,让面试官看到你的学习能动性,看到你的积极性。即便是微不足道的工作,也要说的你做的有多好,重点讲的详细一些。
以上是程序员面试中介绍项目时的一些方法,希望对面试的程序员有帮助。
北大青鸟的授课模式采用多模式教学。多模式教学可以增加学员技术熟练度、增加项目经验。课上多模式包括理论课、上机课、指导学习课、项目案例课、毕业设计课题、阶段项目课、翻转课堂课以及体验训练课,8种教学模式穿插教学提高学员学习趣味性。同时北大青鸟有专门的就业指导课,让你的就业更有保障。
q�����
Ⅵ 求:JAVA程序员面试题
Java
1. 关于Java的描述哪一个是错误的()
A. Java是一种解释性语言
B. B.Java是想对象的语言
C .Java通过不同硬件平台安装同一个JVM实现来实现的可移植性
D.Java可以通过API通用编译语言(如C或C++)编写的函数。
2.哪个不是Java关键字()
A.sizeof B.void C.const D. super
3. 哪个不是Java基本数据类型()
A.short B.Boolean C int D long
4.哪个方法名称满足JavaBean命名规范()
A. addData B deleItems C.getName D hasSetTitle
5.关于JVM,错误的是()
A.运行时要装载PC寄存器,堆,栈,方法区,运行时常量池等数据区。
B.类的装载有ClassLoader和它的子类来实现的。
C.Java启动,会生成JVM的一个实例。程序运行结束后该实例消失。
D.通过JDK提供的java指令可以让JVM直接执行.java文件。
6.下列哪些生命非法()
A.short x[] B. int[] a[][] C. long[] z D int y[]
7.执行Example.java正确的结果是()
public class Example{
public static void main(String number[]){
for(int i=1;i<number.length;i++)
{
System.out.printLn(number[i]+””);
}
}
}
Java Example 1 2 34 5<CR>
A. 1 2 3 B. 2 34 5 C. 2 34 D. 1 2 34 5 E.都不是
8.说出下列编译结果( )
Example .java
public class Example{
static int intArray[]=new int[15];
public ststaic void main(String args[]){
System.out.println(intArray[5]);
}
}
A.编译错误 B。运行时错误 C. 成功编译,输出为null D.成功编译,输出为0
9.说出下列编译结果( )
Example .java
public class Example{
public ststaic void main(String args[])
{
String s=new String[6];
printString(s[0]);
}
public void printString (String str)
{
System.out.println(str);
}
}
A.编译错误 B。运行时错误 C. 成功编译,输出为null D.成功编译,输出为0
10.说出下列编译结果( )
public class Example{
public ststaic void main(String args[])
{ string $=””;
for(int x=0;++x<args.length;){$+=args[x];}
System.out.println($);
}
}
输入java Example -A B<CR>
A. AB B.-AB C. B D.编译错误
11.下列关于垃圾回收正确的是()
A.开发者必须创建一个线程进行释放
B.垃圾收集将检查并释放不再使用的内存
C.垃圾收集允许程序开发者明确制定并立即释放该内存
D.垃圾回收能在期望时间释放被Java对象使用的内存
12.说出下列结果( )
public class NumberOperation{
public ststaic void main(String args[])
{
int var1=10;
int var2=20;
System.out.println(var1++ + var2++ +””+ ++var2);
}
}
A.10 20 B. 54 C. 30 22 D 11 21 22 E.编译错误
13.说出下列结果( )
public class DivisionTest{
public ststaic void main(String args[])
{
byte varA=-64;
byte varB=-4;
System.out.println(varA/varB+””+varA%varB);
}
}
A. 10 -4 B. 10 4 C 16 4 D 16 -4 E.编译错误
14. 说出下列运行结果( )
public class LogicOperation{
public ststaic void main(String args[])
{
boolean b1=true;
boolean b2=false;
boolean b3=true;
if((b1&b2)|(b2&b3)&b3)
{
System.out.println(“alpha”);
}
if((b1=false)|(b1&b3)|(b1|b2))
{
System.out.println(“beta”);
}
}
}
A.beta B. alpha C. alpha beta D 没有任何输出 E.编译错误
15.经过下面位移运算后,y值()
Int x=-32;
Int y>>>2;
A -4 B -8 C -16 D 以上都不是
16.哪些关键字用来对对象的枷锁,该标记使得对对象的访问是排他的()
A.transient B. serialize C synchronized D static
17.哪个修饰符不能添加在构造函数前面()
A.final B. protected C public D.private
18.数据类型转换下列是错误的是()
A.布尔类型和其他基本类型不能相互转换
B.字符型(char)可转换双精度(double)
C.从取值范围宽的类型向取值范围窄的类型转换时不会发生编译错误 ,但运行时数据会溢出。
D.基本类型的转换在赋值,方法调用或算术运算时都会发生且由系统自动完成。
19.经过强转换向,a,b为()
Short a=128;
byte b=(byte)a;
A.128 127 B. 128 -128 C -128 128 D 编译错误
20.说出下列运行结果( )
public class Example{
public ststaic void main(String args[])
{ int i=1;
int j=2;
if(j=i++)
{
System.out.println(i+”,”+j);
}else{
System.out.println(j+”,”+i);
}
}
}
A. 1,2 B.2,1 C. 2,3 D.2,2
21.关于继承哪个正确( )
A.再java中只允许单一继承
B.在java中以各类只能实现一个接口。
C.在java中不能同时继承一个类和一个接口
D.Java种类都可以继承并进行扩展。
简答题:
1. MVC中的M,V,C 分别指的是什么?
2. 常用的5个java设计模式
3. final,finally,fianalize有什么区别?
Ⅶ 程序员的成功面试技巧
程序员的成功面试技巧
程序员的成功面试技巧,程序员在近几年来是很热门的一个职位,因为在很多人眼里程序员的收入是很高的,程序员想要工资高在面试的时候也是很讲究技巧的,下面分享程序员的成功面试技巧?
1、给自己写一份非常专业的简历
我的建议是,如果你想增加自己的入选机会,那最好还是花点钱制作一份专业的简历。相较于你将来可能得到的巨大收获,这真的只是一个小小的投资。
2、研究面试官
当我联系程序员来面试的时候,我总是会事先发电子邮件给他,并附上我的名字和博客地址。但是让我惊讶的是,当我给他面试的时候,他竟然对我还是一无所知。
再举个正面的例子,我在面试时也碰到过这类开发人员,甚至能对我以前写的一篇博客或者做的教学视频上面的内容侃侃而谈。
你说我会推荐哪个?
面试官也是人,也会有人性的弱点和特点。Dale Carnegie曾说过,要让别人对你感兴趣,最简单的方法就是你先表达出对对方的兴趣。
不管这种方法是否有欠公正,但是如果你想面试成功,那么我建议你事先最好先好好研究一下你应聘的这家公司和面试官(如果知道的话)。
当今社会的信息是如此的发达,我们完全可以在Facebook、Twitter、微博、博客上找到任何人的资料。即使你只是大致浏览一番,也会让你受益良多。
3、获得内部推荐
知道找工作最简单的方法是什么吗?那就是获得内部推荐。
这不但可以增加面试机会,还能提升40%的录用几率。
前阵子,我找到了一家心仪的公司。然后直接投简历?NONO,猜猜我是怎么做的吧?
首先我找到一名和我有共同想法和意见的开发人员,然后开始关注他的博客。
接着我在他的博客中留言、发表建议,并且表现出对他的工作和公司非常感兴趣的想法。最后我成功拿到了这个宝贵的内部推荐资格。
很多程序员会说,“可是,某某某公司里面的人我一个也不认识啊”。如果你想就此放弃,那当我什么也没说,如果你愿意试试,我敢打赌,你总能想出一种方法达到你的目的。
不过这有个秘诀,那就是首先你得在网上创建自己的“名片”——让别人有了解你的机会,所以do it now吧。
4、 学会解决算法问题
这是每一个开发人员都应该具备的重要技能,而且真要掌握起来也并非那么难。
在很多面试中,都会有这样的问题,要求你在白板或者电脑上解决编程问题,但是许多程序员,即使是那些非常优秀的程序员,都会一下子大脑一片空白,完全理不出思路来。
如果你能花时间学会如何解决这种类型的面试问题,那么下次再碰到这种场景,就不会这么紧张了。
我们会紧张其实和怯场无关,主要是因为我们不熟悉这些问题,也没有自信能解决这种问题。
在这方面建立起自信之后,你就再也不会紧张了。
5、活力洋溢地回答问题
只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。
举个例子说,如果我问你什么是多态性,我不是要你按照课本中的定义重复给我听,我希望你能就这个主题阐述一下,然后我们可以更深入地聊一聊。
6、小心“陷阱”问题
你为什么换工作?
说说你最大的优点和缺点。
最近一次你是如何解决和同事之间发生的技术分歧的?
在回答问题之前,你最好明白面试官问这些问题的目的,掌握如何回答这类问题的技巧。
就先说说第一个问题吧“你为什么换工作?”
在大多数情况下,面试官想知道的是你是否是一个爱说三道四、惯于诽谤抨击雇主的人。所以千万不要上当。
7、永远不要撒谎
最糟糕的事就是在面试的时候撒谎。
知之为知之,不知为不知,如果你确实不知道,千万不要自作聪明来编造问题的答案。
相反,你应该诚实地说,你不知道或者你并不是100%肯定,但是你愿意尝试一下,然后再讲讲自己的想法。讲完之后也可以问面试官正确答案是什么,以显示你对此非常感兴趣。
实话告诉你,大多数面试官问的问题都是他们知道的问题,不然如果你滥竽充数给你通过的话就会显得他们像个傻瓜。所以千万不要抱着侥幸心理,一旦发现你在撒谎,面试官马上就会质疑你的人品。
8、不要太诚实
很多程序员会过多地透露自己的信息,不要以为诚实和完全透明就是最好的政策,殊不知过犹不及。
第7条所说的不可撒谎诚然不错,但是我们也没必要将自己所有生活的细节和所有缺点都告诉给面试官。
有个性是好的,但是如果暴露了性格缺陷就坏事了。
试想一下,要是你说自己喜欢赌博或者沉迷于魔兽世界,我敢打赌,面试官肯定会重新审视你。所以在说自己信息的时候一定要慎重,因为这不但会暴露你的缺陷,还会显得你缺乏应有的.判断力。
9、掌握计算机科学的基础知识
是的,很多程序员在面试的时候,甚至理直气壮地说,他们不知道链表和堆栈,因为他们没有受到正规教育或者早就还给老师了。
我也承认我们在工作的时候是用不到那些深层次的计算机科学概念的,但是作为一个专业的软件开发人员,你至少应该知道一些基本知识。
举个例子说吧,你请电工来重新给你家的房子布线,但是这电工一点也不知道任何电气工程的基本知识,你还请他干不?同理,我们也是如此。
10、关于经验
这是最后一点,但并非最不重要的,很多开发人员,特别是刚进入这一行的新手,往往缺乏相关的经验,也不知道如何增加所谓的工作经验。
这有点像是鸡和蛋哪个先出现的问题。
那么又该如何增加经验呢?
关键是要用创造性的方式。有很多方法都可以获得工作经验,但是却不必真正去一家公司上班。
给你点提示:
参加开源项目
启动开源项目
做一个移动app,放到App Store里
写一个小型的Web应用程序
参与代码交流和用户组
这些方式都可以作为工作经验写到简历中去,只要自己有想法,不愁没经验。
希望这些技巧能对各位有所裨益。如有不同想法,也请不吝赐教。
程序员的中年危机是什么
中年程序员危机
近日,中兴网信员工欧某打开26楼办公室窗户纵身跃下,结束了42岁的生命。
目前有多种说法,有说因股份转让价过低和人事部产生分歧,有说疑因内部宫斗被离职,甚至还有消息说欧有精神方面的问题。
尽管具体原因仍待进一步的核实,但却由此引发网上一波关于中年职场危机,特别是中年程序员危机的讨论。
一般来说,一个行业的收缩导致人员数量与结构的调整,大致可以用一个简单的模型来描述:行业规模缩减,行业人员减少,公司数量减少或规模缩减,进而导致管理层岗位变少,原本的管理层,被迫降至转入下一级岗位。
这种降岗机制层层传递,高层降为中层,中层降为基础管理岗,基础管理岗降为一线员工。与此同时,由于行业规模的缩减,一线员工数量也在减少。
于是,一线员工失业,同时,停止招收该行业的新毕业生。在这个模型中,一般来说,即便行业收缩,中层也不用愁就业,仍可留在本行业中,最坏也不过是降岗。
中年人学习能力下降明显
不过,在程序员行业中,有一些特别的因素,导致了其不同于一般行业的现象。
35-45岁的中年人,学习能力下降明显。与此同时,这是一个新技术不断涌现的时代。
一个人进入职场初期的技能、概念,过了20年后,已经完全不一样了。程序员这个行业,更是把这个特点发挥到极致。
此外,精力明显下降,不能熬夜,加之家务琐事缠身,高强度工作即便有意愿也很难付诸行动。
如果说其他行业的中层人员降级后仍可游刃有余的话,这个行业的中层降岗后,会不如自己新岗位上的同事。
所以,程序员密集的IT、通讯行业,很多中层员工就处于一个很尴尬的地位。即便勉为其难地接受,也会面临收入大幅度下降的心理适应问题。
如果考虑到资产配置中较高的按揭比例,当资金链断掉,这就成为不可承受之重。