一道简单的算法题,把我问跨了!!!
“给你 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」
到手 ¥89,即将涨价到 ¥199
现在网上的算法资料很多,但内容大多比较碎片化,经常会出现知识点覆盖不足或者研究性内容过多的问题。
而在《算法面试通关 40 讲》中,覃超梳理了一整套算法题切题的思路,带你现场解题,借此梳理题目背后的考点,并掌握高频算法面试题的解题思路,有效提升算法面试通过率。
课程共计 62 讲,现已经全部更新完毕。发文前看了一眼,订阅 27000+ 了,口碑也不错,随手截了一些用户留言,你们就知道这课多好了。
话不多说,看看目录吧。
秒杀+口令「suanfa123」
到手 ¥89,即将涨价到 ¥199
几十块钱,买断大佬的独家心法,
马上就涨价了,现在入手,值👇