技术面试,是每个心怀梦想的程序员进入理想公司就职,开启事业绚丽篇章的必由之路。越是实力雄厚、待遇上乘、机会无限的公司,对于技术面试也就越重视。不可避免地,进入这些公司的竞争也就越激烈,技术面试的难度也越高,挑战也越大。
经过多年的经验积累,技术面试早已不再局限于考察程序员的编码能力。对于高度复杂而又需要灵活多变的互联网软件产品和服务而言,合格的程序员需要具备全面的能力,包括对原始问题的理解和分析能力、在不同的系统层级中完成设计抽象和资源整合的能力、在多个平行方案中根据具体场景进行取舍和时空置换的能力,更要在团队成员水平并不整齐划一、对项目的理解也存在方向和深度的差异的前提下,组织和规划研发的日常推进,至少能够找准自己的定位并坚实地做好岗位上的输出,并能够对上下游提供必要的支持。这一切的一切,都要在面试时的数小时甚至几十分钟的时间窗口中,通过有限的表达方式展现出来,这并不容易。
LeetCode(力扣)起源于美国硅谷,是最早的在线评测(Online Judge,OJ)平台之一。近年来,中国在全球技术发展中已经逐步成长为主导力量,涌现了大量人类历史上从未有过的领军技术企业,吸引着全球的人才加入。因为预见了这一历史潮流中的潜在需求,我们将力扣引入中国并成立了“力扣中国”,致力于程序员的职业化成长与进步。其中,助力程序员高效地通过技术面试,进入理想的企业,并在真实服务于亿万人的项目中不断深造,是力扣使命的重要组成部分。
我们很高兴地看到,全球的程序员们对于力扣的服务表现出了极大的热情。我们更开心地看到这本书的出版,它的作者吴江很深入地理解了力扣的产品和服务背后的精神:力扣决不是一个简单地供程序员准备面试的“刷题”网站,而是鼓励程序员透过一道道具象的面试题,思考题目背后的计算机体系设计、算法与数据结构、技术和工程取舍、程序设计语法和语义精髓等知识,收获能够为每位程序员职场带来长期助力的“底层能力”。然后在面试现场,通过代码本身,以及代码以外的表达,向面试官尽可能充分地将你已经掌握的知识和能力完整地、忠实地表现出来,并能够让面试官了解到在未来共事的日子里,你还会有更大的发展潜力,成为团队里一股积极的势能。是的,底层能力是一切的基础,是程序员进步和成长的关键,也是力扣一直秉持的信念。所以,这本书的例题全部精选自力扣,也就顺理成章了。
我们了解到作者吴江后续会开通自己的频道,为大家在更大的广度和深度上传播技术面试相关的内容。在此,我们提前预祝他成功。我们希望广大程序员能够通过阅读本书和后续专栏切实受益,更希望大家能够以本书为起点,在力扣上通过更多的学习和练习来有针对性地提升自己的薄弱环节,在专业和事业的道路上不断进步和成长。
力扣
2021年4月