当前位置: 首页 > article >正文

心法利器[122] | 算法面试的八股和非八股讨论

心法利器

本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。

2023年新的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2023年文章合集来袭,更有历史文章合集,欢迎下载。

往期回顾

  • 心法利器[118] | 向量检索组件(含代码)

  • 心法利器[119] | 大模型落地困境讨论与解决思路

  • 心法利器[120] | 从解决问题到解决新问题

  • 心法利器[121] | 读源码:用mT5训练一个自动摘要模型(含代码)

  • 心法利器[122] | 效果提升的根本来源讨论

  • 前沿重器[48-54] 合集:四万字聊搜索系统

前言:本文一开始的构思是列举一些非八股的问题,供大家思考和参考,但写一半发现简单的列举可能不如直接把思路说明白,所以转为对八股与非八股的提问,可能更能加深大家的理解。

面试的八股网上已经很多了,但是从目前的反馈和讨论来看,仅聚焦八股本身,并不能保证offer手到擒来,因此,本文结合自己的面试和被面试的经历,分享一下面试时八股和非八股问题背后的意义,方便大家提前准备和思考。

目录:

  • 为什么问八股

  • 为什么不只问八股

  • 项目参与的真实性和深度

  • 技术的深度和广度

  • 真实问题的应对能力

为什么问八股

无论是前端、后端还是算法,都有一套非常常用的八股问题,相信大家作为候选人,都会因为要背八股而困扰,但在实际面试中,大家都会被问到,在面试官的视角,这还不得不问,更多是因为如下的原因。

  • 首先,八股所代表的是最基础、通用、常见、必要的能力,八股都不会,很大程度意味着面试人连基础知识都不了解。

  • 面试的目的是筛人,筛人意味着要体现区分度,八股是及格线上下的关键区分点。不要以为八股很简单,在我的经验里,所谓的网上非常常见的八股知识,并不是所有人都了如指掌,例如transformer encoder和decoder的内部结构,常见的类似sgd、adam优化算法,dropout概念和意义,常见的算法评估指标等。

  • 换个角度,八股的形成并非面试官总结,而是面试多的前辈们总结的某一个领域常见的、经过系统整理的面试知识体系,反过来,面试中重要、常见的问题,通常都会在被这个体系覆盖,回到第一点,毕竟八股所代表的是最基础、通用、常见、必要的能力。

因此,八股,是面试中所大概率会出现的,请大家认真对待。

为什么不只问八股

从上一节中的第二点可以知道,八股是及格线上下的关键区分点,此处换言之,他只能区分60分上下,它并不能区分80分段的人和90分段的人,面试是为了优中选优,在公司有大量选择的时候(例如各种互联网大厂、新的AI独角兽),八股的区分度不足以选出足够优秀的候选人,此时八股就不够了,我们需要更强有力的问题来区分强弱。

在之前的这几篇文章里,我有提到新人的成长、晋升、面试等的相关内容。

这些文章里,我有提到大量的有关进阶的思路,简单地说,就是要提升解决实际问题的能力,毕竟功利地,从公司角度人是招来解决问题的,从面试官角度,招人就是在找队友,找契合项目的队友,而解决问题,更多来源于3个点,经验、技术储备以及选择,也就对应了后面三章的内容,即项目参与度、技术深度广度和应对能力。

项目参与的真实性和深度

经验是后续解决新问题的一个重要思路,说白了,就是“之前做过类似的事,所以遇到新的类似的问题可以快速上手解决”,有经验的人肯定比没经验的人,更有优势。因此,经验的强弱深浅则是重要的考察内容。

一般地,考察真实性和深度主要可以有如下的问题:

  • 项目的项目背景和核心开发内容。

  • 整体的模块设计和方案设计。

  • 训练集测试集的数据来源、数量、标注方案、处理方法等细节。

  • 是否有进行部署,具体负责模块的部署所需资源,包括训练和推理。

  • 项目过程中有没有遇到什么很难的问题,最后是怎么解决的。

  • 最终方案的评估方式。

  • 整体迭代进程以及后续的优化方向。

这些问题都有比较比较明确的共性:

  • 只有深入参与了,才能回答出来,回答的好坏,直接来源于自己对项目的理解程度。

  • 很多新人,可能会因为被前辈保护的比较好而忽略很多细节,例如数据的来源,方案选择,潜在坑等,此时多观察、多问很重要。

技术的深度和广度

技术储备的其实是项目实际进行过程的弹药,说白了就是招数,这一步可能会和八股有些重合,毕竟八股本身就是考察技术的扎实程度,这里提供一些可能并不算在八股内,但还挺重要的技术广度、深度的思考题。

  • 看你在XX领域做了一些工作,这个领域还有什么比较好的方案可以介绍一下。

  • 这些方案都有什么各自的优缺点,在这个项目里你是怎么考虑和分析的。

  • 如果项目让你继续做下去,你会有什么好的方案优化,以及未来有什么迭代方向。

知识点是可以通过学习甚至背诵回答出来的,但是规划性、个人想法、思路上的内容,比较难去专项学习,要想拔高,这些能力的学习和掌握能让自己更有竞争力,面试官的视角则是更有区分度。

真实问题的应对能力

这点我理解是经验和技术能力掌握后的一个延伸,即解决真实问题的能力,比较简单的提问方式就是给出一个具体的问题,然后能给出具体的解决方案,这里会有几个层级的能力区别。

  • 最基本的能力,就是直接给出解决方案,可以开始动手操作实验。

  • 第二层,能给出多个方案,并能分辨出各自的优缺点,给出一些优先级之类的看法。

  • 方法之外,能给出一些针对真实问题的思考和理解,分析出该真实问题和一般问题的差别。例如电商的客户搜索,和faq问题搜索,百科搜索,一般都有很大差别。

  • 针对该真实问题的特殊性,能给出更加特别的技术方案,该方案会更有针对性,至少言之有理,具有更高的测试优先级,目测有更好的效果。

  • 能根据现在项目阶段,给出适合短期的方案,虽然还能给出中长期的迭代方向,把一个局限的简单问题升级为了一个长期项目性的规划问题。

可见,同样是一个真实的应用题,随着经验和技术储备的丰富,回答起来的感受肯定是不一样的。

9180d10a66419327b603b4f547c0f20e.png


http://www.kler.cn/a/442814.html

相关文章:

  • HTML和CSS相关的问题,为什么页面加载速度慢?
  • 基于文件系统分布式锁原理
  • 超完整Docker学习记录,Docker常用命令详解
  • iostat命令详解
  • iOS - runtime总结
  • 关于物联网的基础知识(二)——物联网体系结构分层
  • 借 SSM 之力,以 Vue 为笔绘就新锐台球厅管理系统设计与实现蓝图
  • NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用
  • oracle控制文件发生变化的情况
  • 介绍几个Linux下的杀毒软件
  • 重新定义页签!Choerodon UI Tabs让管理更高效
  • Vue-Form-Making:Star5.5k,一款强大的Vue表单设计器,适用于低代码平台、自定义表单
  • ABAP SQL 取日期+时间最新的一条数据
  • Next.js搜索引擎优化:框架级别的搜索引擎优化能力
  • 【Redis】Redis缓存击穿
  • (3)spring security - 认识PasswordEncoder
  • 大厂面试智力题大全(详细解题思路,持续更新)
  • 【map与set】—— 我与C++的不解之缘(二十二)
  • Redis内存淘汰策略有哪些
  • 算法刷题Day22:BM57 岛屿数量
  • UUG 深圳站 | Unity 6 新功能详细介绍和演示
  • 鸿蒙app封装 axios post请求失败问题
  • 《机器学习》3.7-4.3end if 启发式 uci数据集klda方法——非线性可分的分类器
  • 深度学习试题及答案解析(一)
  • linux minio安装
  • 网络编程中的黏包和半包问题