Category: 面试

英伟达我又来了, 这次我更硬了

认识我的朋友都知道,我一直坚持面试,但现在的我只把目标放在大厂。不是大厂,不去面。这并不是傲气,而是现实:在微软剑桥研究院/MSRC之后,真正能让自己继续成长的地方确实不多。 一年后再战 Nvidia:我真的变强了 从拒信到进步:与 Nvidia 的两次较量 面试是照妖镜:每一次都让我更清楚自己 被拒不是终点,而是下一次更强的开始 为什么我只面大厂:两次 Nvidia 面试的成长记录 Nvidia 两轮面试,让我看清自己的短板 来自大厂的拒信,如何成为我的成长燃料? 技术人最真实的成长路径:不断面试,不断升级 我与 Nvidia 的两次交手:从 k8s 到 C++ 的自我进化 90 分钟技术面,三天等待:再见了 Nvidia,也谢谢你 那封 Nvidia 拒信,帮我补齐了最关键的短板 Nvidia,我又来了,这次我更硬了 …

写了十几年代码, 谷歌/Google认为我还不够Senior

我儿子也说我不够Senior: 去年9月,我第三次面试伦敦谷歌,目标是一个SRE(站点可靠性工程师)职位,抱着试试看的心态参加了面试。第一轮面试的最后两分钟,回答了一个关于如何将算法应用于分布式系统(如何优化算法)的follow-up问题,表现得不太好,因此没能通过那一轮。 不过严格来说也不算被拒绝。等了三周后,他们告诉我最终选择了另一位候选人,虽然我的表现不是最出色的,但应该达到了最低门槛,所以并未直接拒掉我,而是建议我等待伦敦的其他职位空缺再申请。 这一等就到了12月。这位谷歌的美女猎头联系了我,很快安排了隔一周的两轮算法与编码面试。新年后还有两轮:一轮系统设计,一轮文化匹配(也就是行为测试)。 这是我第二次进入谷歌的终面(Final Rounds),也就是 Onsite Interviews。 谷歌终面:接近L5却被给L4,大饼画得响 面试结束后的第二周,我发了邮件询问结果,但没收到任何回复。又过了一周,还是毫无消息。我一度以为自己被拒绝了,甚至怀疑是不是发挥太差,谷歌连拒信都懒得发给我。 上周(面试后的第6周),突然就接到猎头的邮件,她说: I hope you’re keeping well! Apologies for my delay I’ve been unexpectedly out the office. Your feedback isn’t …

Jane Street第一轮一小时面试体验卡(伦敦软件工程师)

2025年年初,拿了Jane Street一个小时的Coding面试体验卡。 市场定位 Jane Street 是一家全球领先的定量交易公司和流动性提供者,成立于 2000 年,总部位于纽约,同时在伦敦、香港和阿姆斯特丹设有办事处。 它以高度依赖数学、统计学和计算机科学技术而闻名,在金融市场中运用定量分析方法进行自动化交易。 技术驱动 Jane Street 专注于做市业务,为全球各类金融工具(股票、ETF、债券、期权、期货等)提供流动性。他们的交易模式主要基于算法和数据驱动,通过低延迟的技术在市场上寻找交易机会。 Jane Street 是一家技术驱动的公司,其核心交易系统和工具大多是内部开发的。他们高度依赖函数式编程语言 OCaml,用于构建高性能、可靠的交易系统。 文化与工作环境 合作与学术性:Jane Street 的公司文化强调团队合作、数据透明和学术研究氛围。 扁平化管理:鼓励员工从任何层级提供创新的想法。 强大的培训:对于新员工尤其是应届生,Jane Street 提供系统的培训,帮助他们快速上手。 招聘与职业机会 Jane Street 以招募顶尖的数学家、程序员和定量分析师而闻名。他们非常注重候选人的逻辑思维、编程能力和解决复杂问题的能力。 …

面试刷题更像是一种服从性测试

在许多求职者看来,面试中的刷题环节似乎是对技术能力的直接考察。然而,从另一个角度来看,这一过程或许更像是一场服从性测试。 想象一下,当一个公司要求候选人解决复杂的算法问题或设计一个系统架构时,真正的目的并不仅仅是判断候选人是否能完成这项任务。许多时候,公司更关心的是你是否愿意花时间和精力去迎合他们的流程和标准。 为什么这样说呢?从实际工作中来看,绝大多数岗位并不需要员工每天都在解决高难度的算法问题或从零设计分布式系统。相反,工作中的任务更偏向于理解业务逻辑、维护现有系统以及团队协作。那么,为什么刷题依然是很多公司青睐的筛选方式? 答案或许在于,刷题能有效筛选出那些愿意投入大量时间准备,并在面试中展现高度配合精神的候选人。这种配合精神,是公司希望在未来的工作中看到的品质。一旦你通过了这些测试,公司就会认为你是一个值得信赖的员工,一个能遵从流程、适应规则并在需要时投入额外努力的人。 还有就是以前说的:面试刷力扣是大公司过滤的成本较低的方法之一:为啥有名的IT公司的程序员面试都这么难?,可以过滤掉大部分 False Positive,当然也有可能过滤掉人才(胜任工作的求职者)。不过对于大厂来说,招进来一个False Positive的损害要远远比错过一个False Negative大。 此外,随着AI技术的飞速发展,刷题的技术价值正在逐渐降低。像ChatGPT这样的AI工具,已经可以轻松解决LeetCode或Codeforces上的许多高难度问题,并给出清晰的解题过程。这表明,算法题不再是人类独有的技术优势,而是可以被高效地自动化处理的任务。这种变化进一步凸显了刷题在实际工作中的局限性,因为日常工作更多依赖于沟通、业务理解和对系统的长期维护,而不是短时间内解决某个抽象问题。 OpenAI推出o3大语言AI模型。 Codeforces 评分:2727——相当于全球人类程序员编码竞赛中,排名第 175 位。 AIME:96.7%——意味着在数学测试中只错1道题 博士水平的科学问题(GPQA):87.7%——博士生一般得分70% 最难的前沿数学测试:25.2%——其他模型没有超过2%,数学天才陶哲轩说该测试“可能难住AI好几年” 更重要的是,在许多企业的真实场景中,很少有任务需要员工频繁编写复杂的算法。大多数时间,开发者的工作集中在实现需求、调试问题和优化性能上,而这些任务并不需要高强度的算法技巧。因此,刷题的结果往往与实际工作能力脱节。 当然,这并不是说刷题完全没有意义。它确实在某些方面反映了候选人的逻辑能力和解决问题的技巧。然而,真正的工作能力远不止这些。因此,我们可以将刷题看作是一种双向筛选:候选人在展示技术能力的同时,也在证明自己愿意投入时间来满足公司的要求。 从这个角度来看,刷题不再只是技术竞技,而是一种服从性测试,它帮助公司识别出那些既有能力又愿意适应规则的潜在员工。而对于求职者来说,认清这一点或许能让你在面试准备的过程中更有针对性,同时也能帮助你判断这家公司是否真的适合自己。 我听说,如果面试者不愿意刷题,可以和公司商量一下,看看是不是可以选择其它方式。谷歌面试就可以选择:一个是数据结构和算法,另一个则是偏向系统运维(Linux底层知识等) 本文一共 1195 个汉字, 你数一下对不对. 面试刷题更像是一种服从性测试. (AMP 移动加速版本) …

十年: 力扣刷题2000天

前不久,力扣说我刷题刷了2000天,不是连续的,这个是一共刷的天数。2000天也就是5.479年。 我的力扣,欢迎围观:https://leetcode.com/u/justyy/ 注册力扣帐号是2013年10月10号,当天提交了6次。当时是在谢菲尔得/Sheffield。 后来就是断断续续,甚至有很长一段时间都没有刷,直到2019年3月2日开始才未间断刷到今天(当时拿着Ipad中午在美国通用电气的食堂里刷题)。2016年竟然4月份连续刷了25天,我已经忘记当时为啥这么有闲情逸致了。哦,当时已经搬到了剑桥/Fen Drayton了,可能在准备谷歌的面试。 019年在美国通用电气/General Electric工作的时候中午吃完饭在湖边着着IPAD刷题。 从2013年到2024的力扣刷题之路,一点点改变,一点点变好。 现在刷题是保持面试状态的好方法,就像飞机飞到高空时油耗已经减少,我希望自己能维持这个状态。每天打卡,哪怕有时只是拷贝代码,依然会稍微思考并熟悉解法和算法。每天坚持打卡还能积累积分,兑换力扣衬衫。 英文:Milestone: Leetcoding for 2000 Days 网友:以后每天比比看是cursor做得快 还是你快。 答:刷题的目的又不是比快。让脑子思考,训练脑子。 网友:惭愧,我在 GE时候天天打酱油,群主确是每天在刷题飞。 网友:看似不起波澜的日复一日让我们看到坚持的意义! 本文一共 475 个汉字, 你数一下对不对. 十年: 力扣刷题2000天. (AMP 移动加速版本) 赞赏我的几个理由. …

理解系统设计中的可用性百分比: 计算系统的停机时间(Availability)

在系统设计面试中,可用性百分比是软件工程师应该熟悉的基本知识。 在系统可靠性领域(System Availability),99.9% 或 99.99% 之类的可用性百分比是关键的基准。但是这些数字究竟意味着什么?它们又如何转化为实际停机时间(Downtime)?以下介绍了如何计算与不同可用性水平相关的停机时间,并使用示例来说明 99.9%、99.99% 和其他可用性目标所带来的预期。 什么是可用性百分比? 可用性百分比表示系统在给定时间段(通常是一年、一月或一天)内预计正常运行的时间比例。例如,99.9% 的可用性意味着系统在指定期间内可以停机 0.1% 的时间。 可用性百分比和停机时间 以下是根据不同时间段的可用性百分比计算停机时间的方法: 确定总时间周期:选择参考周期: 年:365 天,或 31,536,000 秒(365 天 × 24 小时 × 60 分钟 × 60 …