如果最近你出去面试,不管是大厂还是小的创业公司,最后都会问你几个算法题。看似不怎么实用的算法,成为很多面试者的拦路虎,那对于算法,我们应该怎么面对,又有没有好的方法在短期内提升算法的解题能力呢?
对于这个问题,很难给出明确的答复。首先,算法确实很重要,它能将你和普通的程序员区分开来,助你拿到⼤⼚的 Offer。其次,算法更多的好处是隐性的、潜移默化的,会给你带来很多隐形的好处。很多时候,公司在招人的时候,会要求面试者除了经验丰富之外,还要求技术要好,基础扎实,熟练掌握算法和数据结构,这时候算法面试就显得尤为重要。
比如,我之前去面试过BAT、字节等大厂,到第二面一般都会问你一些算法题目,按照他们的说法,为什么要考算法呢?其实就是想看候选⼈是不是⾜够聪明。那如何看候选人是否聪明呢,那就是算法。在大厂的算法考核中,⼀般会分两步,第⼀步是直接让你说思路,第⼆
步是让你直接上⼿写代码。我之前面试过字节跳动的算法题,就是直接上手些代码,并且要能够运行成功,算法的难度⼀般不会太高,对应的大多数是 LeetCode 中级模式,所以如果你准备面试这些大厂,花时间学习算法是非常必要的。
很多技术⼤⽜都说过一句话,那就是【程序 = 数据结构