程序员的感性思维的定义到主导了生活,什么都是搞笑的代码

如何面试程序员? - 阮一峰的网络日志
如何面试程序员?
你要面试一个程序员,应该问他什么问题?
有人在的讨论区里,请求指点:怎么才能在面试中发现合格的人。众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章。
===================================
如何面试程序员?
阮一峰 整理
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
  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?
  如果允许你取消一种功能,会是什么功能?为什么?
这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。
你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。
上个周末,我读完了拉斯洛·博克 (Laszlo Bock)的《重新定义团队:谷歌如何工作》一书(中信出版社,2015)。
Nicholas C. Zakas 是全世界最著名的 JavaScript 程序员之一。
2011年11月出版的《乔布斯传》很畅销,也写得很好,我还写过一篇读后感。
最近,网上有一篇文章《黑暗创投圈》引起了争论,新浪科技的杜丹编辑向我约稿,谈谈对它的看法。用数据思维解决意想不到的问题!
搞笑动图:这些痛,只有程序员懂…
“代码上线后又追加了新特性”
“在生产环境做 hotfix”
“刚调稳定的系统,公司叕空降了一位架构师,叕要重构现有系统……
“当程序员听客户说还在用 IE 时”
“当黑客拿到 root 权限之后”
“代码进入循环分支后”
“项目交接,客户要求开发现场显示,结果……”
“新手程序员第一次做项目的过程”
“零错误零警告一次编译通过”
“春节前后上班写代码状态是这样的”
“听说你是CSS高手”
“代码的腐烂过程”
“哈哈,这就是「代码复用」”
“3 个月后回看自己写的代码”
“数学/算法好的程序员 VS 数学/算法不好的程序员”
“自信爆棚地去重构一个看似简单的模块”
没有更多推荐了,送给程序员们:搞笑却又真实无比的编程语录来源: 本站搜集 发布时间: 18:14:16 点击:次笔者收集了很多,基本上都跟的生活有关。这些涉及软件开发,代码维护,调试纠错,软件bug,系统设计、文档和软件开发团队管理等。只有才能理解这些语句的内涵。标题程序员们:却又真实无比的语录 笔者收集了很多编程语录,基本上都跟程序员的生活有关。这些语录涉及软件开发,代码维护,调试纠错,软件bug,系统设计、文档,代码质量,测试和软件开发团队管理等方面。下面的这59条语录虽然很,但却真实无比。只有程序员才能理解这些编程语句里的真正内涵。闲言少叙,开始吧华东在线程序员编程语录程序员们:搞笑却又真实无比的编程语录 1.一个好的程序员是那种过单行线马路都要往两边看的人。(DougLinder2.程序有问题时不要担心。如果所有东西都没问题,你就失业了。(软件工程的Mosher定律送给程序员们:搞笑却又真实无比的编程语录3.程序员的麻烦在于,你无法弄清他在捣腾什么,当你最终弄明白时,也许已经晚了。(超级计算机之父SeymourCray送给程序员们:搞笑却又真实无比的编程语录4.我想大部分人都知道通常一个程序员会具有的美德。当然了,有三种:懒惰,暴躁,傲慢。(Perl语言发明者LarryWall5.编程时要保持这种心态:就好象将来要维护你这些代码的人是一位残暴的精神病患者,而且他知道你住在哪。(MartinGolding6.一个人写的烂软件将会给另一个人带来一份全职工作。(JessicaGaston送给程序员们:搞笑却又真实无比的编程语录7.如果建筑工人像程序员写软件那样盖房子,那第一只飞来的啄木鸟就能毁掉人类文明。(GeraldWeinberg送给程序员们:搞笑却又真实无比的编程语录8.这世界最有可能毁灭的方式大多数专家都同意是次意外。这就是为什么会有我们,我们是计算机专家,我们创造意外。(NathanielBorenstein华东在线9.我们这个行业有个特别奇怪的现象:不仅我们不从失败里吸取教训,同时也不从成功中学习经验。(KeithBraithwaite标题:送给程序员们:搞笑却又真实无比的编程语录 10.一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石。(StewartBrand送给程序员们:搞笑却又真实无比的编程语录11.如果没能一次成功,那就叫它1.0版吧。(unknown送给程序员们:搞笑却又真实无比的编程语录12.所有的程序员都是编剧,所有的计算机都是烂演员。(AnonymousHackActor13.工作进度上越早落后,你就会有越充足的时间赶上。(AnonymousScheduler本文标题:送给程序员们:搞笑却又真实无比的编程语录 14.当有这样的一种编程语言出现:它能让程序员用简单的英语编程,你将会发现,程序员都开始不会说英语。(AnonymousLinguist送给程序员们:搞笑却又真实无比的编程语录15.为什么我们没有时间把事情做对,却总有时间把事情做过头?(Anonymous16.傻瓜都能写出计算机能理解的程序。优秀的程序员写出的是人类能读懂的代码。送给程序员们:搞笑却又真实无比的编程语录 17.任何你写的代码,超过6个月不去看它,当你再看时,都像是别人写的。(Eaglesonslaw本文标题:送给程序员们:搞笑却又真实无比的编程语录 编程/软件开发语录送给程序员们:搞笑却又真实无比的编程语录1.按代码行数来评估软件开发的进度,就如同按重量来评估飞机建造的进度。(比尔-盖茨送给程序员们:搞笑却又真实无比的编程语录2.软件就像做爱。一次犯错,你需要用余下一生来维护支持。(MichaelSinz送给程序员们:搞笑却又真实无比的编程语录 3.在水上行走和按需求文档开发软件都很容易前提是它们都是冻结状态。(EdwardVBerard标题送给程序员们:搞笑却又真实无比的编程语录 4.最初90%的代码用去了最初90%的开发时间余下10%的代码用去了另外90%的开发时间。(TomCargill本文标题:送给程序员们:搞笑却又真实无比的编程语录 5.注释代码很像清洁你的厕所你不想干,但如果你做了,这绝对会给你和你的客人带来更愉悦的体验。(RyanCampbell本文标题:送给程序员们:搞笑却又真实无比的编程语录 6.如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。(RickCook华东在线7.软件设计最困难的部分是阻挡新功能的引入。(DonaldNorman标题:送给程序员们:搞笑却又真实无比的编程语录 8.为了理解递归,我们首先要理解的是递归。(Anonymous送给程序员们:搞笑却又真实无比的编程语录 9.世上只有两类编程语言:那些拥有被人诟病的和那些没人用的。(BjarneStroustrup送给程序员们:搞笑却又真实无比的编程语录10.Thebestthingaboutabooleanisevenifyouarewrong,youareonlyoffbyabit.(Anonymous送给程序员们:搞笑却又真实无比的编程语录11.如果Java能实现真的垃圾回收,那大部分的程序都会在执行时删除自己。(RobertSwell本文标题:送给程序员们:搞笑却又真实无比的编程语录 12.理论上,理论和实践是没有差异的。但实践中,是有的。(JanL.A.vandeSnepscheut送给程序员们:搞笑却又真实无比的编程语录13.预备,开火,瞄准:这是最快的软件开发方法。预备,瞄准,瞄准,瞄准,瞄准:这是最慢的软件开发方法。(Anonymous标题:送给程序员们:搞笑却又真实无比的编程语录 14.编程是10%的科学,20%天份,和70%的让这天份符合科学。(Anonymous送给程序员们:搞笑却又真实无比的编程语录15.评估一个事情要比去理解你评估了什么容易。(Anonymous送给程序员们:搞笑却又真实无比的编程语录 16.测评不会撒谎,但测评的人会。(Anonymous送给程序员们:搞笑却又真实无比的编程语录17.培养员工,即使他们有跳槽的风险。什么都不做而留他们在公司,这样风险更大。(Anonymous送给程序员们:搞笑却又真实无比的编程语录18.计算机科学的目标是做出一个东西,并且保证它至少能坚持到我们将它开发完成。(Anonymous送给程序员们:搞笑却又真实无比的编程语录 19.Java之于JavaScript如同Car之于Carpet。(ChrisHeilmann送给程序员们:搞笑却又真实无比的编程语录 20.起初就把事情做对是完全没必要的。但最后要把事情做对是绝对必要的。(AndrewHuntandDavidThomas本文标题:送给程序员们:搞笑却又真实无比的编程语录 21.数组的起始索引应该从0开始还是从1开始?我的0.5的折中提议被他们认真考虑到拒绝了我认为是这样的。(StanKelly-Bootle本文标题:送给程序员们:搞笑却又真实无比的编程语录 22.程序必须是为了给人看而写,给机器去执行只是附带任务。(Abelson/Sussman标题:送给程序员们:搞笑却又真实无比的编程语录 23.编程可以很有趣,你可以用它做密码学研究,但两者绝对不能合二为一。(KreitzbergandShneiderman送给程序员们:搞笑却又真实无比的编程语录24.拷贝-粘贴是一种设计错误。(DavidParnas25.计算机善于遵循指令,但不善于理解你的思维。(DonaldKnuth送给程序员们:搞笑却又真实无比的编程语录这篇文章怎么样?希望它对您有帮助。如果喜欢送给程序员们:搞笑却又真实无比的编程语录,请分享给好友。本文网址: (转载请保留)。送给程序员们:搞笑却又真实无比的编程语录内容概述:送给程序员们:搞笑却又真实无比的编程语录,笔者收集了很多编程语录,基本上都跟程序员的生活有关。这些语录涉及软件开发,代码维护,调试纠错,软件bug,系统设分享到:上一篇:
下一篇: 相关栏目最新文章随机内容推荐阅读  人生要学会沉淀,沉淀经验,沉淀心情,沉淀自己。
顶级程序员和普通程序员在思维模式上的5个区别!
《The Effective Engineer》的作者在写书的过程中,为了了解那些顶级程序员和普通程序员的区别,采访了很多硅谷顶级科技公司的顶尖软件工程师。他发现这些给世界带来巨大影响的的工程师们至少有以下5个共同的思维模式:
1.勇于去研究你不懂的代码
一般人都不愿意去研究自己不曾接触过的代码,很多人都没有尝试就放弃了。如果你经常去研究你没有接触过的代码,你就会越来越熟悉不同的代码结构和设计模式。现在人们很容易就接触到优秀的开源代码资源,你可以很方便的就下载下来做一些改动或者调试,去研究为什么代码可以这么写。
除了代码之外,很多人对于陌生的工作内容也会感到恐惧。每次换工作的时候,你可能都会遇到新公司的工作内容和以前工作的内容不一样的情况,以至于刚开始的时候工作效率没有以前那么高。很多人甚至觉得,他们是不是骗了面试官。
其实,大家都是在学习的过程中。在一个陌生的领域,没有人从一开始就是大神。如果你想变得越来越好,无论是写代码,与人沟通或者其它的技能,都是需要投入时间去学习的。
2.精通代码调试(debug)
很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?
几乎所有的程序员写代码都不是一遍就能写好的。但是顶尖的程序员非常快的就明白自己代码的问题可能是什么。这是一个很重要的能力,但是偏偏学校里不教,面试的时候考官也不经常提及。
那么怎么去调试代码呢?其实核心就是以下几个方法:
不妨先猜测一下到底发生了什么。假设你的猜测是对的,想想你的猜测会导致程序有什么结果。试着观察这些结果有没有异常的地方。如果你没有发现异样,那么说明你的猜测就是对的。如果你发现了异样,那么说明你的猜测是错的,接下来换一个猜测试试。对于顶尖程序员来说,这个过程在脑海中就是电光火石的一瞬间。只要你解决的问题足够多,你做出来的猜测就会越准确。
至于如何发现异样?你就需要有一套自己的工具或者方法论了。最简单的就是在代码里输出日志来判断。但是这是比较笨的办法,你需要去接触一些高级的工具或者直接带有Debug功能的编辑器。
3.重视能够节约时间的工具
最近打败人类的AlphaGo每天可以进行上百万局的下棋训练,我们人类一万个小时的训练却需要10年之久。也就是说,电脑运行几分钟,可能就等于人类工作好几年。
曾经在Facebook担任技术总监的Bobby Johnson描述过,高效率的程序员都把时间花在制作工具上。
很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。但是,Jonson团队最出色的员工耗费了他们1/3的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。
总之,不要花时间去做机器可以代替你去做的事情。
4.优化你的迭代速度
假设你要花12秒钟去搜索某个函数是在哪里定义的。再假设你每天做这个动作60次,那么你每天就要花12分钟去搜索函数定义。
如果你用一个好一点的编辑器,每次找到函数定义只要2秒钟,那么你每天就会节约10分钟。每年你就可以节约40个小时。
如果你能找到3个这样的场景去优化一下,那么你每年可以节约一个月的时间。想想这一个月你可以做多少有意义的事情。
再假如你在调试一个App的bug的时候,改完一次代码都需要重启一下App,然后点击4、5次才能看到bug有没有改好。那么你是不是可以先花几分钟设置以下,让App一启动就转到显示Bug的页面呢?
千万不要小看这些琐碎的细节,改善它们的回报是巨大。
5.系统性的思考方式
当你在写代码的时候,你很容易就认为只要你按照需求实现了指定的功能,你的代码就写完了。但是这其实只是冰山一角。任何没有发布到生产环境的代码都不会产生任何价值。
如果想写出真正有影响力的代码,你需要从整个系统去理解你的工作:
你的代码和其他人写的代码在功能上是什么关系?你有没有好好测试你的代码?或者其他人是否很容易测试你的代码?为了部署你的代码,线上生产环境的代码是不是需要改动?新的代码会不会影响到已经运行的代码?在新的功能下,你的目标用户的行为是不是你期望的?你的代码有没有产生商业上的影响?这些问题都不是很容易就能回答的,但是在写代码的时候,你需要明白你的代码最后会不会得到最好的结果。
这些只是顶尖程序员的一些基本思维方式,如果你想要更详细的了解在Google,Facebook,Twitter这些公司的顶尖程序员是如何工作的,去关注作者的博客或者他的书吧。
没有更多推荐了,用程序员的思维来解析源代码_源代码吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:25,493贴子:
用程序员的思维来解析源代码收藏
今天无聊看了好多吧内的帖子,很多人好像根本就没看懂。所以写几句。如果你是个程序员,那么你会很容易看得懂我写的是什么。 剧中,我们可以把显示世界看着程序的主线程,上尉执行任务,是一个函数,函数的入口参数是肖恩死前8分钟的记忆(我们认为记忆中包涵任何环境因素,也就是当时主线程的副本);上尉每次执行任务,都是这个以这个函数为入口地址开启一个子线程,而上尉就是线程的句柄,主线程可以通过这个句柄和子线程通讯,管理以及获取返回信息;之前的每次任务,上尉死亡,线程终止,函数返回,句柄与当时的线程中断联系。主线程可以通过句柄获取一些刚才子线程中的数据;有一次线程执行时发生异常,就上尉中途下车,被火车压死那次,险些导致程序的崩溃;最后开启子线程时后,主线程获得目标数据后,与子线程通讯的句柄变量被释放(关闭上尉,让其他死了),导致主线程无法和子线程进行通讯,所以子线程的运行状况主线程无法继续监控,主线程以为子线程已经终止了,但是事实上,子线程依然在运行。 关于结局,上尉的短信是在子线程中发给子线程的美女的。
上面把“现实世界”写成了“显示世界”了,拼音笔误。 上面还有个重要的问题没有说,就是8分钟的问题,剧中一直强调的8分钟,是肖恩记忆的分钟,并不是子程序只能执行8分钟就返回,按电影理解,子线程终止或返回的条件是主角死亡,所以,子线程能运行多久,就看主角能活多久。
和平行世界的解释类似
这部电影叫源代码,用编程的理论来解释,是没有Bug的。因为程序中有副本这一概念,即便由源代码衍生出的世界中出现了2个上尉,而失去的肖恩,这也不是Bug,应为在程序在生成这个副本时,用上尉替代了肖恩,也就是说,这个世界里,的确有2个上尉,而没有肖恩。而这个问题普通的穿越篇或平行世界理论中,就是Bug。
楼主nice!!!!!
顶,没有什么平行世界,至少源代码没有创造平行世界,只是模拟了一个和平行世界类似的虚拟世界。
物理系的看懂了
今天仔细一看了,帖子不知什么时候被版主射了精了
不过如果是编程世界,那这个程序未免太大了。
主线程结束了整个进程就结束了,楼主是想说是开了一个进程吧?
哦,是么;那请楼主解释一下为何子线程的邮件上的“对我(男主角)说一切都会好起来的”“到时候帮我一把”会反过来回应到主线程?按你的说法 主线程和子线程是完全不同的两条线,那么为何子线程会反过来影响主线程
回复 无所不_wen :&无所不_wen: 回复 无所不_wen :我的问题就在于,在一开始的主线程中,美女对上尉说了“一切都会好起来”,并且在之后帮助了上尉。我们一定要认同这位美女的此二种行为是收到过邮件影响的。 你这个问题问的非常好,但是如果你是个程序员,依然好理解,递归,你应该懂吧?我们刚才提到主线程,可以是我们上面提到的任何一个子线程,举例来说,以最后那个子线程中的还未执行任务的上尉,重新拍一次《源代码》,不真好就是我们看到这部《源代码》吗?这个子线程,不正是我们谈论问题的主线程吗?这回你能理解“在一开始的主线程中,美女对上尉说了'一切都会好起来',并且在之后帮助了上尉”了吗?
你提出的问题,我用编程的理论来解释,没什么问题,一个递归即可,其他例如平行世界的理论就无法解释了,其实你的问题真的很好。
我看你们说的头都大了
我想到了我高考复习的那个编程……
果然程序员的理解能力不错,不过永远记住,不存在无BUG的程序
好吧。。。。源代码碰上源代码。。。
不对,按照另一个创造空间的过去,是不能对未来产生影响的,霍金提出谬论,假设我回到以前把祖父杀了呢?我怎么来?那又是谁杀了他?而且,他创造的是另一个平行宇宙,宇宙形态,维度,光速,甚至一加一是否等于二都不知道,一个宇宙是不可以对另一个宇宙产生任何控制与监测的。也就是说,主绝以什么形式出现,是几维生物,是否是活物都不能确定。而且创造一个宇宙,又哪是一个大脑做得到的呢?能量哪里来?大爆炸能量?时间与空间是否结合都不好说。。。也就是说,在没有主世界检测者时,他的宇宙有可能是未来,而有我们的检测者时,是无法看到未来的,因为改变发展,就没有未来了,一大硬伤啊。作为低熵体还是好好为生存努力把,别想那么多
是没有bug,但是有一点我有自己的看法,自认为非常合乎逻辑!代码世界中的主角已经不是那个8分钟完成任务的主角了,8分钟的主角是一个外界变量,用以影响虚拟世界的不同,但此时主角在现实中已经死了,虚拟世界中的主角没有外界变量的输入了(接吻停顿反映的就是这个) 后续只是系统根据人物性格、身体环境等完美数据自设的AI,就合其他乘客一样,AI自由发展,但已不是”人”了,且当系统重置后,就真的不存在了,另:到底是科幻片,哪来这么全面的数据
如果肖恩离开火车,火车爆炸,自己却活了下来,由于火车死亡人数和现实不同,主角已经创造了新世界,在这个新世界里,火车依旧爆炸,源代码计划执行,新世界的上尉附身于那个美女身体中,进入新世界的平行世界中,那么美女版上尉如果组织肖恩中途下车,最后同归于尽,呵呵,与这个平行世界矛盾了。
因为肖恩为了活命执意要下车,并把事情缘由讲了一遍,美女也会下车,这个世界将会有肖恩版上尉和美女版上尉,和一个即将阻止火车爆炸的上尉大脑。。。。。。。。。直到某个世界,火车爆炸了,没炸死一个人,因为所有人都提前下车了
一群逗比,看个电影还这么认真,照电影说的,如果你只剩下一分钟生命了,人家都知道让让它过的有意义,而你们却在这争论这个,有这个功夫还不如多干点正事,喷子想喷我滚粗
楼主,高考生一枚,想先学一下编程(话说想报电子信息工程),正入门,推荐本书吧,不过源代码是?
楼主说的太对了
登录百度帐号

我要回帖

更多关于 青年期的主导思维是 的文章

 

随机推荐