据前线“战报”,今年Facebook面试难度简直逆天:开局就是2道hard题,就算直接抄答案也要十来分钟。如果想拼个演技,先用暴力解再进行优化,根本来不及。
让我们来看看这道考倒无数人的FB原题👇
为最近最少使用(LRU)缓存策略设计一个数据结构,它应该支持以下操作:获取数据和写入数据。
get(key) 获取数据:如果缓存中存在key,则获取其数据值(通常是正数),否则返回-1。
set(key, value)
写入数据:如果key还没有在缓存中,则写入其数据值。当缓存达到上限,它应该在写入新数据之前删除最近最少使用的数据用来腾出空闲位置。最终, 你需要返回每次 get 的数据。
而这道题,前FB资深面试官令狐冲在《九章算法班 2020版》重点讲过。
通过LRU这道题,可以验证面试者的数据结构设计、链表操作和子函数能力,就算做过原题,也可以问很多follow up考察面试者对数据结构的理解程度,怪不得FB一考再考!
备战面试,看这100道题就够了!
目前正值秋招,大家的时间已经非常紧张了,如果按照常规方法去刷题,时间是肯定不够用的!
因此,《九章算法班 2020版》精选了100道最有代表性的面试题目,每个题做完都相当于啃下 3-5 道类似题,你刷100道,胜过别人刷300道!
点此处即可免费试听,带你全面提升算法能力。
算法写对了,小心挂在 Coding Quality
就算题目做出来了,面试还是有可能会跪,你的代码质量也是影响面试评价的关键因素。
因为越是高级别的面试官,越在意你的代码质量。如果代码质量太差,面试官甚至可能直接给出No Hire。
令狐老师在九章算法班反复强调,代码不是写出来就可以通过面试的。面试中必须展示出优良的代码质量(Coding Quality),否则就很容易GG。想要拿到大厂面试的Hire和Strong Hire评价,代码质量优秀是基本要求。
因此,令狐老师总结了快速提高 Coding Quality 的12个技巧,将在试听课中深入讲解!
① Coding Style
• 二元运算符两边加空格,单元运算符不加空格
• 花括号和 for, if 之间要加空格(Java),圆括号和 if 之间要加空格
• 用空行分隔开不同的逻辑块
• 逗号后面加空格
② Readability
• 函数名和变量名用1-2个单词作为名称
• 确保一个函数内部不超过 3 层缩进(indention)
• 多用子函数来减少入口函数的代码量
• 多用 continue 少用 if
③ Bug Free
• 不管有没有可能出问题,都要对入口函数的参数进行异常检测
• 访问一个下标的时候,一定要确保这个下标不会越界
• 访问一个对象的属性或者方法时,一定要确保这个对象不是空
• 不用全局变量
令狐老师爆肝升级,课程容量提升5倍
为了应对秋招,令狐老师爆肝了1个月,将课程由原来的9章,扩增至43章(18课时直播课+34课时互动课),还搭配了今年的大厂高频面试题,目标是用1个月的时间,帮助学员冲刺大厂offer。
作为九章算法开设的第一门也是最经典的一门课程,《九章算法班 2020版》一直享有良好口碑。如果你在短时间内要冲刺大厂算法笔试,或是想进一步夯实自己的算法基础,一定不能错过这门课!
免费试听方式
点我即可免费试听前三节课程
首节直播时间
北京时间:9月27日 09:30(周日)
美西时间:9月26日 18:30(周六)
美东时间:9月26日 21:30(周六)