当前位置: 首页 > 办公技巧 > 正文

各种办公软件面试技巧视频(【面试技巧】浅谈下软件工程师算法面试技巧之逻辑思维)

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-09-11 13:27:10
  • 0

转码4年多的小白,提到算法面试也是会头疼的。大多数工作过的同学都知道,算法面试中遇到的问题在日常工作大概率是不会遇到的,那为什么科技大中小厂们都要面算法题呢?到底算法面试考的是什么呢?很多同学明明题目做出来了,但是最后却没有拿到offer,这是为什么呢?今天就让小白针对逻辑思维的考点为大家揭开一些迷雾。

逻辑思维能力考点和应对

【考点】日常工作中码农所面对的更多是解决产品中出现的问题,大多数时候这些问题的出现都是非常突然,且大可能会关系到公司收益,好几层上级领导都会关注问题的解决,所以对于程序员的要求是能够在紧急情况下,冷静且迅速地整理思路,将复杂的问题分解,排除错误的方向,然后将问题锁定在某一行代码或某一个错误的设置等。算法面试去除掉寒暄问答的时间,通常写码时间限定在30min内以体现紧急性,并且面试官通常会给出一个非常模糊的描述以体现问题的抽象性。

【应对】在听到问题的时候,首先同学们要做的并不是立刻开始写代码,写代码就输了,而是问清楚面试官的具体要求(重要的方法说三遍!!!),如果面试官没有提供样例,这里可以提出让面试官给具体例子,然后同学们也最好重复讲解一遍以确保双方对问题定义达成共识。

在此基础上,下一步也不是写代码,接下来同学们也应描述清楚将会如何写代码,此时不要写pseudo code(除非面试官要求写),一般算法问题都有多种解决方案,请和面试官讲清楚方案和取舍,写之前征求面试官的意见。为什么呢?一般来讲,除非是应届生,我们对于算法复杂度是有要求的,即使一道题目做出来了,复杂度不达标,也是不会给过的。小白面试时经常会遇到不问三七二十一直接上手写的,这种就肯定不会给过,因为根本没有搞清楚题意。好的面试官(比如小白)为了让面试者有好的面试体验,也有会提示面试者重新审题,并将其带回正确的思路上,但这并不代表面试官的认可(都拿小本本记下了~~)。注意这个问问题的时间最好能控制在2-3min以内。

那有些同学这时会说,总共就30min,遇到做过的算法题没问题,没做过的大可能就挂了,还要留时间和面试官沟通,时间会不会不够。这里我想说的是,这些算法题目大多来自公司内部题库,小白所在厂更是有bar raiser会提前审阅题目,以确保题目体量能让对应级别的程序员在规定时间内完成所需代码。所以除非遇到非常不负责任的面试官,时间肯定够了,但是自己合理分配时间也是很关键的(对于如何分配时间,小白会另外详细讲解)。

问问题,讲思路,可以体现逻辑思维能力,还有哪里是考察了逻辑思维呢?同学们的代码!好的代码能够代代相传易维护,不是每个人在紧急情况下解决问题的时候会考虑到代码的质量好坏,但这其实也是我们考察的点,有的公司可能会专门有一个面试环节考察代码设计(OOD),但其实每个环节都会观察到代码的可用性,最后我们面试官在汇总面试意见时也会分享数据点,所以保证代码在每个环节都能干净利落易维护,非常重要,这也能体现程序员的专业能力。当然,时间实在不够的同学,可以向面试官指出如果有多的时间,会做什么样的优化等等也是可以加分的。

今天先讲到这里,后续小白会分享更多面试技巧干货,希望对大家找程序员工作有帮助!正在准备面试的同学,我们也有每天一题的刷题视频系列,欢迎观看!

喜欢的同学,欢迎关注点赞收藏


最新文章