V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

想进字节、阿里等公司,要刷多少题才够?

  •  
  •   hakunamatata11 · 2020-12-08 15:21:50 +08:00 · 886 次点击
    这是一个创建于 1453 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司不同,面试难度不同

    不同公司,考察的知识点范围不同,相应的面试难度也不同。

    第一梯队(超级独角兽或工作强度较小的大厂)

    国内:字节跳动、美团、拼多多等(天价包频出,工作强度较大)

    国外:Snowflake 、Google 、Facebook(活多钱多)

    这类公司的 bar 较高,所以必须要刷难题。算法考察范围很广,所以要以刷中等题( 70%)为主,辅以部分难题( 30%)。特别喜欢考察动态规划( DP )红黑树( Red-black Tree )线段树( Segment Tree )

    这些题目,可以在LintCode上根据算法和数据结构的 tag 来刷,提高效率。

    第二梯队(其他大厂)

    国内:阿里、腾讯、百度、京东等(工作强度大,但薪资也高)

    国外:Amazon 、Microsoft 、Apple 等(薪资中上游)

    这类公司刷中等题为主就够了,重点考察快速排序( Quick Sort )双指针( Two Pointers )深度优先搜索( DFS )

    第三梯队(其他中小厂)

    国内:海康威视、搜狗、爱奇艺

    国外:Roblox 、Uber 、Snapchat

    这类公司刷中等题就够了,算法面试考察范围很窄,把Binary Tree, LinkedList, String, Array 这些基本数据结构相关的题掌握即可。

    引用一下我在讲座《 FB 面试官揭秘算法面试速成技巧 - 怎样做到 Bug Free 和刷 100 题等于别人刷 300 题》中分享的面试算法知识点及考察情况

    这是一门真正以算法面试为导向的课程,自 2014 年起已开班 6 年,除了带大家巩固算法面试中的 57 个核心考点,关于算法面试中常考知识点的具体考察情况、优秀的Coding Quality,面试中如何与面试官沟通如何套用算法模板我都会提及,感兴趣的朋友可以去**免费体验**一下~

    岗位不同,算法面试难度不同

    此外,你心仪的岗位不同,算法面试难度也不同,相应要刷的题目数量也不同。

    总的来说,越后端的岗位越难,越前端的越简单。

    • Data Scientist / Data Analyst / Data Engineer 超简单
    • Web Frontend Engineer / Mobile Engineer 简单
    • Software Development Engineer / Product Engineer 中等
    • Infrastructure Engineer / Software Reliability Engineer 难
    • Machine Learning Engineer 超难

    这里分享我整理的面试高频算法题

    二分法:

    硬币摆放] 查找最大因子 地图跳跃 山形数组的顶峰坐标 拆分子数组

    DFS:

    绘制填充 停在原地的方案数 喧闹和富有 旅行计划 连接词

    动态规划:

    最长上升连续子序列 推多米诺 单词拆分 供应场 书籍复印

    哈希表:

    最长回文串 找到映射序列 重排字符串 k 距分隔 森林中的兔子 基础计算器

    递归:

    二叉树的后序遍历 列表扁平化 用递归打印数字 字符串解码 最大子串

    此外,刷题不是刷过了就可以,还要注重代码质量。**拥有好的代码质量,会让面试官在心里为你默默加分。**如果你的代码质量很差,面试官会在心里为你默默扣分。而最终是否导致 Hire / No Hire,就是一个量变引起质变的问题。

    拥有好的代码质量,还能够让你的代码少出 BUG 。你以为只需要细心就可以不出 BUG,但是通过子函数化、避免全局变量等手段可以让你出 BUG 的概率大大降低。

    好的代码质量包括:

    ①代码到底写完没有 ②代码风格好不好(可读性、变量名 /函数名命名、空格与空行的正确使用) ③异常检测 ④Bug Free

    很多人会问:刷题刷到什么程度去面试才够?我认为,要根据你的意向岗位,意向公司的算法难度而定。对于马上要参与面试的同学,可以把下表标红的知识点重点刷一遍,突击上岸。

    面试,不止考算法

    回到这个问题,就算你真的把LintCode刷通了,你也未必能找到工作。

    因为技术岗除了面算法题,还有可能会考:

    总之,程序员的面试不是三言两语就能讲清楚的。只有通过不断学习和巩固,把面试的方方面面都掌握,才有机会拿到心仪的 offer 。

    加油!

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2776 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:45 · PVG 17:45 · LAX 01:45 · JFK 04:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.