前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Facebook面试官:如何突围大厂算法面试?

Facebook面试官:如何突围大厂算法面试?

作者头像
ACM算法日常
发布2018-10-18 11:14:14
6050
发布2018-10-18 11:14:14
举报
文章被收录于专栏:ACM算法日常ACM算法日常

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

你可以停下来先想想如果你正在面试,你会怎么回答这道题。50亿条URL,每个64字节,加起来就是320G,最简单不用动脑筋的方法当然是把他们都加载到内存里,然后直接比对,但这么大的数据量肯定是不可能。

进一步分析,你可能会想到要对文件做拆分,对URL做排序,然后逐步做分析对比。但是,这么大的数据量,怎么做?这个时候肯定是面试官要考验你的关键点,你总不能说,我把50亿条URL,按从前到后的顺序,拆分为2000个文件,然后每个文件挨个做对比,顶多多对比几次,结果就出来了。是的,这样能行,但是也就意味着你就被淘汰了。

其实,对于这样的面试题,面试官想看到的是你能不能想到分治法、哈希,或者布隆过滤器之类的知识点。再换句话说,这道题其实是一道算法题,而非简单的一道程序题。

很多大公司在面试时都尤为看中候选人的算法能力,他们甚至会让候选人当场写代码。究其原因,其实是因为算法的基础能力也会直接决定一个程序员的好坏。用武侠小说来做比喻,算法是“内功”,而编程的各种框架,就犹如各种“招式”。

是的,算法对于一个程序员来说,至关重要。很多程序员发现自己的算法基础不好,于是便上LeetCode疯狂刷题,但刷一年下来,发现其实自己没什么长进,面试的时候,面试官随便换个问法,自己要么紧张,要么基础不好,支支吾吾答不出来。

我从大学开始,就喜欢算法,并且也曾拿到过ACM亚洲分区赛金牌。这些年,对于算法类的面试题,我有很多的感触。今天,我希望能够通过“算法面试通关40讲”这个视频课程,把我的经验全部分享给你,这其中包括典型算法题归类和分析、算法理论基础、面试技巧、解题技巧等等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ACM算法日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档