vlambda博客
学习文章列表

面试时写不出二叉树算法?看这篇就够了

“给你 a、b 两个文件,各存放 50 亿条 URL,每条 URL 占用 64 字节,内存限制是 4G,请你编写代码找出 a、b 文件中相同的 URL”,这是某大厂的一道秋招笔试题。


如果面试的人是你,会怎么回答?50 亿条 URL,每个 64 字节,加起来就是 320G,最简单不用动脑筋的方法,就是把他们加载到内存里直接比对,但数据量太大,根本行不通。


进一步分析,你可能会想到对文件做拆分,对 URL 做排序,然后逐步做分析。但数据量这么大,具体怎么做呢?总不能说,我把 50 亿条 URL,按从前到后的顺序,拆分为 2000 个文件,然后挨个对比,多做几次,结果就出来了。


虽然这样可以,但也意味着你会被淘汰。因为这就是面试官要考察的关键点。对这样的题目,面试官想看到的是你能否想到分治法、哈希,或布隆过滤器之类的知识点。换句话说,这其实是一道算法题,而不是程序题。


其实,每家公司在面试时都会重点考察候选者的算法能力,甚至会让你当场写代码。可以说,算法能力直接决定了一个程序员的好坏。用武侠小说做比喻,算法是“内功”,而编程的各种框架,就犹如各种“招式”,内功不扎实,再多招式也只是花拳绣腿。


细数大厂的算法题,一般对应都是 LeetCode 中级模式,想通过面试,就得花时间好好准备。我知道,不少人都有过在 LeetCode 疯狂刷题的经历,但一年下来,发现自己没什么长进,面试官随便换个问法,就支支吾吾答不出来了。


其实,刷题不能盲目,得找对方法。我认识个人,在这方面可谓「专家」,他在同济大学读本科时,就拿到了 ACM 亚洲分区赛金牌,从卡内基梅隆大学毕业后,直接加入了 Facebook。作为 Facebook Messenger Tech Lead,参与了 Facebook App、Facebook Messenger、Facebook Phone 等产品的研发工作。


他就是前 Facebook 工程师覃超,在 Facebook 面试过上百个技术人,熟知算法面试的各项考点。所以,他总结了适合大厂算法面试的 LeetCode 高效解题四步法,手把手带你实战演练,目的是交付给你一套拿来即用的解题方法,帮你从面试中脱颖而出。


负责任地说,只要你认真跟下来,吃透这套算法面试通关方法论,距离离拿到心仪公司的 Offer 就不远了。所以今天推荐给大家!



扫码免费试读


秒杀+口令「suanfa123

立省 ¥80,原价 ¥199


现在网上的算法资料很多,但内容大多比较碎片化,经常会出现知识点覆盖不足或者研究性内容过多的问题。


而在《算法面试通关 40 讲》中,覃超梳理了一整套算法题切题的思路,带你现场解题,借此梳理题目背后的考点,并掌握高频算法面试题的解题思路,有效提升算法面试通过率。


课程共计 62 讲,现已经全部更新完毕。发文前看了一眼,订阅 27000+ 了,口碑也不错,随手截了一些用户留言,你们就知道这课多好了。


面试时写不出二叉树算法?看这篇就够了


话不多说,看看目录吧。


老规矩,粉丝专属福利

老用户优惠口令「suanfa123」,立省¥80

新人首单仅需¥69.9



扫码免费试读


一顿晚餐钱,搞定大厂算法面试

👇点击「阅读原文」,免费试读!