面试官:请用Go实现这道算法题 — 泪崩
大家好,我是 polarisxu。
前段时间我写过一篇文章:《金三银四,聊聊换工作那些事》,谈到如果换工作这个时间是比较合适的。现在 3 月份只剩下几天时间了,我相信要不要换工作,大伙应该考虑清楚了。如果你还没有找到满意的,4月份还是有机会的。但一个月都没有找到合适的,自己要静下心来总结下问题出在哪?!找工作虽然有运气成分,但自身能力无疑是最重要的。既然决定换工作了,就努力找一个好的。对大部分人来说,进大厂无疑是比较好的选择。但大厂一般要求也会比较高,而且喜欢考算法,比如字节、滴滴、百度等,都是喜欢问算法的。(实际上,即使不换工作,你也应该保持算法的学习)
所以,为了进大厂,你得练练算法!算法是可以练出来的。比如下面这道题(某大厂的一道秋招笔试题),你会吗?
给你 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 」
到手 ¥8 9 , 即将涨价到 ¥199
几十块钱,买断大佬的独家心法,
马上就涨价了,现在入手,值👇