面试没过,被算法题问懵了!

Posted C语言与CPP编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试没过,被算法题问懵了!相关的知识,希望对你有一定的参考价值。

“给你 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

扫码免费试读

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

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

以上是关于面试没过,被算法题问懵了!的主要内容,如果未能解决你的问题,请参考以下文章

面试官:在 Java 中 new 一个对象的流程是怎样的?彻底被问懵了。。

头铁面试官:一个小小的 System.out.println 硬是考了我半个小时,被问懵了。。

头铁面试官:一个小小的 System.out.println 硬是考了我半个小时,被问懵了。。...

一行代码解决了三个常考算法题,面试官懵了

面试官:Hash 碰撞是什么?如何解决?被问懵了……

大三开学,百度面试感受