0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用一道题识别那些不靠谱的程序员

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-05 10:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是一道关于符号调试器实现原理的讨论题。目的不是考察调试经验或者调试器设计,而是想借助这个话题来考察候选人的计算机基础知识和工作性格。一般这样开头:

有用过调试器吧?都用过那些功能?接下来和候选人探讨调试器背后的实现原理,比如如何实现查看变量,查看内存,查看调用栈,如何实现断点等。

选择这个话题的原因之一是有话可说,几乎所有程序员都有使用调试器的经历;其二是绝大多数人都没有亲自设计调试器的机会,反馈出来的信息能反映候选人的真实水平。

好处之一,识别没有钻研精神的候选人

我理解很多工程师在生产活动中并不使用调试器,但是调试器基本上是初学编程阶段的必备工具。在初学者眼中,调试器就像一个上帝般的存在,他和我们自己编写的程序有很大的不同–他能窥探和操纵别的程序。很难想象一个对计算机软件真正感兴趣的程序员从来没有考虑过这家伙背后的原理。

如果一个工程师从来不思考调试器的原理,那么他及有可能也不会去思考数据库的原理,不会去思考操作系统的原理,甚至也不会去思考经常使用的某个第三方库的原理。这些没有思考过的地方都是他的知识盲区,导致他永远无法有把握的编程。而且这种候选人有个对工程师来说的致命伤–缺乏主动探索的好奇心。通常进来有什么技能,出去还是那些技能。

好处之二,识别基础知识有瑕疵的候选人

当我们讨论如何获取调用栈,如何查看变量时,真实的意图是考察候选人对程序运行时刻环境的理解;当我们讨论断点的设计时,其实也是在考察类似于中断/信号这种体系结构/操作系统方面的基础知识。

这些知识是编写靠谱软件最最基本的知识,比数据结构还要基础。搞不清楚调用栈布局的工程师无法理解局部变量写越界后程序为什么飞到一个莫名其妙的地方,因此他很难真正理解安全编程规范;而理解了对象运行时形态的工程师不会无意识写出故意和垃圾回收做对的代码;有些工程师在软件不能正常工作时只能通过不断回退版本分析代码文本来定位,没办法拿着core dump直接了当的分析问题,原因就是他脑袋里只有源代码,没有程序的运行时模型。换句话说他其实就是一个逻辑编程者,没错,这就是有人认为数学过关就能编好程序的原因。

实战中的反馈

以下是面试过程中收到的一些反馈:

如果是嵌入式工程师,他们会讲到JTAG的原理

如果是c/c++程序员,他们会聊到编译原理,操作系统,处理器

如果是java或者python程序员,他们会聊到虚拟机,聊到运行时对象模型

下次招人的时候,我推荐你不妨也试试这把锤子。它未必能帮你发现优秀的程序员,但是能帮你识别不靠谱的程序员。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30786
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    不间断电源(UPS):电力保障的“最后一道防线”

    (UninterruptiblePowerSupply,简称UPS)作为电力保障的“最后一道防线”,通过储能装置与智能转换技术,在市电中断时实现零切换时间供电,成为现代社会的“电力守护者”。、UP
    的头像 发表于 10-29 09:02 417次阅读
    不间断电源(UPS):电力保障的“最后<b class='flag-5'>一道</b>防线”

    【精选直播】openDACS 2025 开源EDA与芯片大赛 赛二 赛四 直播宣讲会

    openDACS2025开源EDA与芯片大赛线上宣讲赛二:TestBench生成与验证10月31日(周五)19:30精彩开播|宣讲信息报告题目赛宣讲:TestBench生成与验证宣讲嘉宾叶靖
    的头像 发表于 10-28 10:08 651次阅读
    【精选直播】openDACS 2025 开源EDA与芯片大赛 赛<b class='flag-5'>题</b>二 赛<b class='flag-5'>题</b>四 直播宣讲会

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 432次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 475次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    SMA压接接头:压接力度怎么拿捏?——小力气,大学问,稳了才靠!

    压接这活儿,看着简单,其实是个细活儿、技术活。 SMA接头靠不靠,就看那压的“火候”。 在高频、震动、高温高湿的环境下,就靠那下“刚刚好”的力道,让信号稳稳当当传出去。
    的头像 发表于 10-08 15:46 422次阅读
    SMA压接接头:压接力度怎么拿捏?——小力气,大学问,稳了才靠<b class='flag-5'>谱</b>!

    顶坚国产防爆手持终端如何成为石化企业安全生产的第一道防线

    顶坚国产防爆手持终端之所以能成为石化企业安全生产的第一道防线,源于其通过防爆设计、功能集成、实时交互与系统协同,从物理安全、功能安全、管理安全、应急安全等维度,覆盖了安全生产的全流程(预防、监测
    的头像 发表于 08-26 10:31 627次阅读
    顶坚国产防爆手持终端如何成为石化企业安全生产的第<b class='flag-5'>一道</b>防线

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    CY7C68013A无PID和VID,如何制作PDF?

    CY7C68013A MCU 设计了个 PCB,所以这意味着我不是程序员之类的。 但是我尝试上传些代码,但没有 PID 和 VID。 我找到了
    发表于 05-13 07:50

    人脸识别身份核验终端,要看这个部分靠不靠

    使用人脸识别作为身份核验方式就定安全系数高吗?这还要看这类人脸识别身份核验设备使用的人脸识别摄像头是什么形式。
    的头像 发表于 04-07 10:33 657次阅读
    人脸<b class='flag-5'>识别</b>身份核验终端,要看这个部分靠<b class='flag-5'>不靠</b><b class='flag-5'>谱</b>

    成品电池综合测试仪:电池品质的最后一道把关人

    综合测试仪便成为了电池生产线上的“最后一道把关人”,为电池品质保驾护航。 成品电池综合测试仪的重要性 成品电池综合测试仪,是种集多种测试功能于体的专业设备,能够对电池进行全面的性能测试和评估。从电池的容量、
    的头像 发表于 03-18 14:30 557次阅读

    使用ADS1281的SPI采集数据,各个引脚应该怎么连接?

    我想使用ADS1281的SPI采集数据,各个引脚应该怎么连接?那些是必须用I/O口,那些可以直接上拉或下啦,如果想预留PIN模式,怎样用最少的I/O口接线,还有同步输入引脚的作用是什么?应该怎么接线?谢谢
    发表于 02-10 06:52

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Code
    的头像 发表于 01-09 11:16 960次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册