3、写不出算法?不用慌!面试不是考试!

hello大家好,我是达同学,一个在大厂工作三年的Java后端工程师。

这是我们6篇文章的第三篇:算法篇。

其实算法的资料网上也是非常多的,这一章我重点想分享的不是怎么复习算法,而是在算法面试中如何应对写不出算法的情况。

哈哈,听起来是不是有点糟糕?可能有同学已经开始想象场景有多尴尬了,脸上发烫、脚趾扣地、思路凌乱,说话磕巴。(别为什么我这么了解,因为我曾经就是这样的!)

打住!不要再尴尬了,这样的想法是完全错误的!我们在面试中应该有的心态是:无论是八股文还是算法题还是其他,答不出来是很正常的!我们在面试里要做的是尽量展示自己的优点,为自己寻求面试通过的机会。

所以首先从心态上纠正自己的学生思维,面试并不是考试!通过了也只不过是找个地方打工罢了。

关于面试心态和技巧,我会在后续(应该是最后一篇)写一篇文章专门来说如何克服,这里就不再多展开了!(周五偷个懒)

好了,有点偏题,我们回到算法面试上来,首先我们要想明白,面试官通过算法到底想考察什么?答案是:

  1. 第一,考察代码水平,这里指的是代码规范性和逻辑性,比如
    1. 变量、函数的命名是否随意,有没有考虑函数边界、有没有抽函数的意识等
    2. 常见的数据结构是不是了解,会不会用。
    3. 遇到问题有没有充分思考,写代码有没有逻辑性。千万不要一看到题就写,写到一半发现思路是错的,这是大忌!最好是先说一下自己的思路再写,这样哪怕写错了,也说明你是经过了思考的。
    4. 遇到困难会不会想办法解决。你可以不会写,但是可以从一些不同的角度说说你认为的可能的解法,这说明你不是遇到困难就退缩的人。
    5. 沟通能力,这里就很灵活了,如果你沟通能力很强,可以找机会多和面试官讨论,展示你的交流表达能力。
  2. 第二,才是能不能解出来这道题。

根据我过往面试的经验,很多时候写不出算法也能通过面试,这个过程中我会不断的和面试官聊我的思路和困惑,并且尝试根据我的想法来写代码,这本身就展示了我处理问题的方式和能力。

前几个月楼主换工作去了另一家大厂,当时这家大厂的二面算法题没写出来,但是依然二面通过了。后来问我的老板(也就是我的二面面试官),他说我当时一直在尝试解决问题,并且代码规范性很不错,又很积极的和他沟通,所以虽然没写出来也给我过了,想着放我去三面看看,后来三面的算法我都OC了,所以就顺利拿到了offer。楼主身边一些朋友换工作时也有很多类似的经历。

所以,在算法面试前,不要抱着"我一定要写出来!"的预期,而是"我写出来就血赚!"。尽量避免预期太高、落差太大导致紧张,反而影响口头表达和其他方面的发挥。题目写不出来就努力把上面说的第一点做到,同时多和面试官交流,说说你对这道题的分析和思路,把能够表达的都表达出来就好啦。

最后,分享一个我觉得不错的算法博主:labuladong,他整理的算法非常全,不过还是和前面那篇如何复习八股文(https://www.nowcoder.com/discuss/557350871567216640)里说的一样,不要关注边角料知识,聚焦最高频的算法!

labuladong的博客大家可以自行百度,内容比较多,面试主要看下面四章就够了:

  1. 数组
  2. 链表
  3. 二叉树
  4. 动态规划(看第一、二、三小节就好)

我自己基于他的博客,也整理了相关的leetcode题目和解析,如果需要可以关注我后,后台私信问我~

(不关注我,私信也会发的,关注一个呗!)

楼主本硕北邮计算机,在BAT某大厂工作三年。后续会持续和大家分享Java技术和职场经验,欢迎关注我,有问题随时找我交流!

喜欢的同学欢迎关注我的专栏,11月底前会更新完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值