HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    职业与工作方法github.com

    不搞白板面试的招聘公司列表

    Hiring Without Whiteboards

    3次上首页
    3年跨度
    1,273累计得分
    1,045条评论

    2017 — 2020,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这是一个 GitHub 上的开源清单,收录那些招聘流程中不使用白板算法题的公司,并附上各家的实际面试方式说明。它反映了开发者社区对“现场白板写算法”这一面试惯例的广泛不满,多年来反复登上 HN 首页,成为讨论技术面试改革的常用参考资源。

    为什么经久不衰:白板面试争议多年未解,这份持续维护的清单为求职者和招聘方都提供了可操作的替代方案参考,因此历久弥新。

    关键词 技术面试招聘白板面试带回家项目

    HN 评论精选

    分享了一套“候选人反面试+带回家任务+代码评审”的三步无白板招聘流程,效果很好

    我们采用三步流程,不用白板:1. 第一轮让候选人面试我们,了解市场、开发流程和技术栈,如果对方准备充分、提问到位,就发给他们;2. 一个编程任务——从 5 个源自我们实际设计的问题中选一个,要求不超过 100 行代码、2 小时工作量,日历时间不限,多数候选人都有全职工作。之后候选人回来,在我们团队面前主持一次代码评审,我会事先强调:评审目的是了解他们如何思考和解决问题,而不是批评风格;3. 第三轮与其他职能的管理者面谈,考察沟通能力和对公司的兴趣,同时争取组织内部的认可。我们喜欢这种方式,因为候选人可以在更自然的环境中写代码,没人职业生涯是在白板上写代码度过的。

    11thEarlOfMar查看英文原文

    We use a 3 step process, sans whiteboard: 1. First interview, the candidate interviews us. What market we serve, what our development processes are, what our technology stack is. If they express interest by being prepared and asking good questions, we send them home with 2. a programming task. Choose 1 of 5 tasks. The tasks are not abstract problems or puzzles, but come out of the designs we've implemented. We ask for 100 lines of code and not more than 2 hours. They take as much calendar time in days as they need, most have full time jobs, and let us know when you're done. The candidate then comes back, typically in 2 to 7 days and hosts a code review in front of our team. I give strict instructions before hand: The purpose of the review is to learn how they thought through the problem and how they solved it, not to criticize their style and approach. 3. If we decide we like them to this point, the third interview is with managers from other functions. How well does the candidate communicate, come across to non-developers, express interest in the company and role, etc. It's a check point to look for concerning weaknesses, as well as get buy in from the broader organization. We like this approach because it allows the candidate to code in a much more natural environment. They can take the time they need and comfortably solve. No one spends their professional career coding on a white board. This approach so far has yielded excellent results. We ask developers how much time they took in the programming task and why they chose the one they solved. The programming task is telling, not in the quality of their code and how long they took, but how much did they get into it? We have had the range from candidates who did not complete it at all and opted out, to candidates who stumped 40 year veterans with elegant code. In every case, we learn how well they can express their thoughts, and importantly, their level of love for the discipline. This is as important to me as any other attribute.

    亲历带回家项目式面试体验极佳,呼吁有能力的公司改革流程

    我曾在清单上的一家公司面试过,流程是带回家项目:给一个玩具应用选择并实现几个功能增强,后续面谈讨论我的思路、设计和技术权衡——都是专业软件工程师工作中真正要做的事。过程有挑战但公平,流程之合理给我留下了极好的印象。带回家项目也不是完美方案,主要问题是要求候选人有工作之外的空闲时间。但作为喜欢慢慢消化问题的开发者,我宁愿每次申请花几小时做项目,也不愿花无数时间准备紧张的白板谜题。如果你所在的公司还在用高压算法谜题折磨候选人,而你又有能力改变流程,请效仿这份清单上的公司。

    mbil查看英文原文

    This is a great list. Thanks for sharing it. I actually had the pleasure of interviewing at one of these companies before. They had a take-home project, which was to choose and implement and couple enhancements to a toy app. In the subsequent conversations, we discussed how I approached the problem, details of my design, technical tradeoffs, etc -- all the sorts of things you would expect a professional sw engineer to be able to do on the job. It was challenging but fair, and I was struck by how reasonable the process was. It left a wonderful impression on me. Take-home projects are not a perfect solution to the interview problem. A major issue is that they require candidates to have free time outside of work to complete them. Personally, though, I'd much rather spend a few hours per application working on projects than countless hours prepping for stressful whiteboarding puzzles. As a developer who prefers to digest problems slowly, I look forward to the demise of on-the-spot whiteboarding interviews. If you work at a company that subjects candidates to such high-stress algorithmic riddles, and you have the ability to make your process more sane, please consider following the lead of cos on this list.

    指出白板面试文化的恶果:刷题比做好本职工作更能带来职业回报

    这是又一场技术面试讨论,我想引用本月早些时候一个帖子里的子讨论:“说实话我有点不敢离开现在的 FAANG 职位,因为我很确定不刷更多 LeetCode、不经历更多轮面试,我进不去第二次。”——一位 Big N 的技术负责人回复:“最令人沮丧的是,我知道在面试中根本无法 leverage 我过去 7 年职业积累的任何东西。”还有人说:“既然如此,何必在工作中做超出最低要求的事?把时间精力投入刷题和练面试才是更好的投资。”即便我们在争论技术面试指标的有效性,也值得思考整个行业衡量工程师价值的指标——这种 FAANG 中的存在主义式恐惧与绝望,既发人深省又有点悲哀。

    Apocryphon查看英文原文

    This is yet another tech interview discussion, so I'd like to highlight a subthread from the one earlier this month: > I'm actually a little scared to leave my current FAANG gig for that exact reason tbh. I'm fairly certain I wouldn't make it back in the door without more leetcode grinding + repeated loops than I'm willing to do at this point in my career. >> I'm in a similar position - a tech lead role at a Big N - and have recently been doing some interviews for senior roles at FAANG. The most frustrating thing is knowing I can't really leverage anything I've learned over the past 7 years of my career in the interview, at least at the early stages. >>> I feel extremely little of what I'm doing in my real, actual, job, helps me in advancing in my career. Unless maybe if I choose to stay at my current company until retirement lol. Otherwise, why bother doing anything more than the bare minimum to get by at work? It would be a far better investment of time and effort to grind leetcode and practice for interviews, instead of going above and beyond to excel at my job. At least until I get into an "endgame company" where I feel it's worth staying long term. https://news.ycombinator.com/item?id=23848717 Even as we debate the validity of the metrics measured by technical interviews, it's also worth considering the metrics used to measure engineer worth in the industry at large. This existentialist "fear and loathing in FAANG" discussion was quite illuminating, and a little sad.

    以亲历者身份描述白板面试如何让优秀开发者大脑冻结、无法发挥真实水平

    想象一下:你去面试,走进一个房间,两个人递给你一张写有几道题的纸,让你在白板上写解法,他们一言不发,盯着笔记本电脑和白板,像等精灵从瓶子里冒出来。你的大脑僵住了,陷入死循环。一小时后时间到,你勉强完成了一部分。握手告别如同死亡之吻。走回去的路上,所有题目的答案如洪水般涌入脑海——可惜,又一场“搞砸了”的技术面试。这是我作为一个身经百战、12 岁起就因热爱编程、专业写代码 15 年以上的开发者的亲身经历。

    kelvin0查看英文原文

    Imagine this. You are interviewing for a job, you walk in a room with 2 people who hand you over a sheet with a few problems. They ask you to write the solutions on the whiteboard, while they wait for you to complete. Not a word is said, they are clicking at their laptops, and staring at the whiteboard, as waiting for the genie to pop out of a bottle. All the while your mind is frozen and stuck in a bad loop. This lasts an hour, you are barely able to complete parts of the problems and are frozen. Of course this affects your usually creative and sharp mind. The torture lasts an hour, time's up! You shake their hands, as a kiss of death, and head out. As you are walking back, all the answers to all the problems they wanted you to whiteboard, come rushing like a torrent in your mind. Too bad, another 'botched' technical interview. This is my experience as a battle tested developer who is shipped many products and has been programming for the love of computers since the age of 12 (professionally for more than 15 years). I am not going to be working at Google any time soon (not that a Google job really matters to me).

    历次讨论

    同类还值得读

    1. 用十年时间自学编程(1998)

      Teach Yourself Programming in Ten Years (1998)

      Peter Norvig 1998 年的经典文章,回应“21天/24小时学会编程”一类速成书,主张真正精通编程需要约十年持续、有意识的练习。

      职业与工作方法上首页 11 次 · 2007–2025norvig.com编辑精选
    2. 如何成为一名程序员:简短、全面而个人的总结

      How to be a Programmer: A Short, Comprehensive, and Personal Summary

      一篇广为流传的程序员成长指南,作者以个人经验系统总结了成为优秀程序员所需的各项技能——从调试、测试、沟通到团队协作与身心健康。

      职业与工作方法上首页 6 次 · 2008–2015samizdat.mines.edu编辑精选
    3. 不要自称程序员

      Don't Call Yourself a Programmer

      经典职业建议文章劝软件工程师不要把自己局限在“程序员”这个标签上,而要从公司业务角度说明自己创造的价值;文中讨论了成本中心与利润中心、头衔、求职与职业选择,也顺带批评了学术界的价…

      职业与工作方法上首页 5 次 · 2011–2021kalzumeus.com编辑精选
    4. 创作者的日程与经理的日程

      Maker's Schedule, Manager's Schedule (2009)

      Paul Graham 在这篇文章里把时间表分成两类:管理者的日程以小时为单位,会议可以填满一天;创作者(程序员、写作者等)的日程则以半天为单位,需要长时间不被打断的连续块。

      职业与工作方法上首页 5 次 · 2009–2021paulgraham.com编辑精选
    5. 为什么程序员的薪酬不与生产力成正比

      Why programmers are not paid in proportion to their productivity

      讨论为什么程序员的薪酬往往不随其生产力成比例增长:生产力难以客观量化,薪酬更多受组织预算、岗位定价和个人议价能力影响。

      职业与工作方法上首页 5 次 · 2009–2022johndcook.com

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。