2022秋招,算法岗最全面试攻略,吃透28个必问题直接速通大厂

算法是比较复杂又基础的学科,每个学编程的人都会学习大量的算法。而根据统计,以下这28个问题是面试中最容易遇到的,本文给出了一些基本答案,供算法方向工程师或对此感兴趣的程序员参考。

除了文章提到的这些题目之外我还整理了很多LeetCode上面的算法题以及刷题笔记

感兴趣的小伙伴可以私信我即可百分百获取!

LSTM原理

LSTM是循环神经网络RNN的变种,包含三个门,分别是输入门,遗忘门和输出门。

LSTM 与 GRU区别

(1)LSTM和GRU的性能在很多任务上不分伯仲;

(2)GRU参数更少,因此更容易收敛,但是在大数据集的情况下,LSTM性能表现更好;

(3)GRU 只有两个门(update和reset),LSTM 有三个门(forget,input,output),GRU 直接将hidden state 传给下一个单元,而 LSTM 用memory cell 把hidden state 包装起来。

Transformer的原理

Transformer本身是一个典型的encoder-decoder模型,Encoder端和Decoder端均有6个Block,Encoder端的Block包括两个模块,多头self-attention模块以及一个前馈神经网络模块;Decoder端的Block包括三个模块,多头self-attention模块,多头Encoder-Decoder attention交互模块,以及一个前馈神经网络模块;需要注意:Encoder端和Decoder端中的每个模块都有残差层和Layer Normalization层。

Transformer的计算公式,K,Q,V怎么算

\text { Attention }(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V

Q、K、V分别是输入X线性变换得到的。

Transformer为什么要用多头

多次attention综合的结果至少能够起到增强模型的作用,也可以类比CNN中同时使用多个卷积核的作用,直观上讲,多头的注意力有助于网络捕捉到更丰富的特征/信息。

Transformer里的残差连接在CV哪里用到了(resnet),resnet的思想

在transformer的encoder和decoder中,各用到了6层的attention模块,每一个attention模块又和一个FeedForward层(简称FFN)相接。对每一层的attention和FFN,都采用了一次残差连接,即把每一个位置的输入数据和输出数据相加,使得Transformer能够有效训练更深的网络。在残差连接过后,再采取Layer Nomalization的方式。

resnet的思想:残差模块能让训练变得更加简单,如果输入值和输出值的差值过小,那么可能梯度会过小,导致出现梯度小时的情况,残差网络的好处在于当残差为0时,改成神经元只是对前层进行一次线性堆叠,使得网络梯度不容易消失,性能不会下降。

relu的公式,relu在0的位置可导吗,不可导怎么处理

\operatorname{relu}(x)=\max (x, 0)

针对这种类型的激活函数,可以使用次梯度来解决。

次梯度方法(subgradient method)是传统的梯度下降方法的拓展,用来处理不可导的凸函数。它的优势是比传统方法处理问题范围大,劣势是算法收敛速度慢。但是,由于它对不可导函数有很好的处理方法,所以学习它还是很有必要的。

c<=\frac{f(x)-f\left(x_{0}\right)}{x-x_{0}}

对于relu函数,当x>0时,导数为1,当x<0时导数为0。因此relu函数在x=0的次梯度c ∈ [ 0 , 1 ],c可以取[0,1]之间的任意值。

神经网络都有哪些正则化操作?BN和LN分别用在哪?

最常用的正则化技术是dropout,随机的丢掉一些神经元。还有数据增强,早停,L1正则化,L2正则化等。

Batch Normalization 是对这批样本的同一维度特征做归一化, Layer Normalization 是对这单个样本的所有维度特征做归一化。

BN用在图像较多,LN用在文本较多。

Attention和全连接的区别是啥?

Attention的最终输出可以看成是一个“在关注部分权重更大的全连接层”。但是它与全连接层的区别在于,注意力机制可以利用输入的特征信息来确定哪些部分更重要。

全连接的作用的是对一个实体进行从一个特征空间到另一个特征空间的映射,而注意力机制是要对来自同一个特征空间的多个实体进行整合。全连接的权重对应的是一个实体上的每个特征的重要性,而注意力机制的输出结果是各个实体的重要性。比如说,一个单词“love”在从200维的特征空间转换到100维的特征空间时,使用的是全连接,不需要注意力机制,因为特征空间每一维的意义是固定的。而如果我们面对的是词组“I love you”,需要对三个200维的实体特征进行整合,整合为一个200维的实体,此时就要考虑到实体间的位置可能发生变化,我们下次收到的句子可能是“love you I”,从而需要一个与位置无关的方案。

Leetcode11. 盛水最多的容器

思路:

从两端往中间走,谁小谁动,一样的情况下谁动都行;

记录每一步 min(X, Y) * distance;

在头尾相遇时结束,也就是 O(n) 时间复杂度与 O(1) 空间复杂度。

注意:两端往中间走,移动高度小的数,每走一步计算一下。

代码:

class Solution:def maxArea(self, height: List[int]) -> int:l,r = 0,len(height)-1curMax = 0while l != r:curMax = max(curMax, min(height[l],height[r]) * (r - l))if height[l] < height[r]:l += 1else:r -= 1return curMax

Leetcode1884.鸡蛋掉落-两枚鸡蛋

思路很简单,从n开始往下递推

比如题解中给的n=100,从100,99,97,94..楼分别往下丢,可以发现这些楼层的间隔是从1,2,3,4不断增加的,直到34,22,9,间隔为12,13,9(最后的间隔是因为不够了,可以看成是14,也就是需要输出的答案)

所以直接开始推,设置cur为间隔,total为总楼层,每次total += cur + 1(+1是因为要算上自己本身所在的楼层)

最后的间隔就是我们需要的答案了

class Solution:def twoEggDrop(self, n: int) -> int:cur, total = 1, 1while total < n:total += cur + 1cur += 1return cur

请简单解释算法是什么?

算法是一个定义良好的计算过程,它将一些值作为输入并产生相应的输出值。简单来说,它是将输入转换为输出的一系列计算步骤。

解释什么是快速排序算法?

快速排序算法能够快速排序列表或查询。它基于分割交换排序的原则,这种类型的算法占用空间较小,它将待排序列表分为三个主要部分:

小于Pivot的元素

枢轴元素Pivot(选定的比较值)

大于Pivot的元素

解释算法的时间复杂度?

算法的时间复杂度表示程序运行完成所需的总时间,它通常用大O表示法来表示。

请问用于时间复杂度的符号类型是什么?

用于时间复杂度的符号类型包括:

Big Oh:它表示小于或等于目标多项式

Big Omega:它表示大于或等于目标多项式

Big Theta:它表示与目标多项式相等

Little Oh:它表示小于目标多项式

Little Omega:它表示大于目标多项式

解释二分法检索如何工作?

在二分法检索中,我们先确定数组的中间位置,然后将要查找的值与数组中间位置的值进行比较,若小于数组中间值,则要查找的值应位于该中间值之前,依此类推,不断缩小查找范围,直至得到最终结果。

解释是否可以使用二分法检索链表?

由于随机访问在链表中是不可接受的,所以不可能到达O(1)时间的中间元素。因此,对于链表来说,二分法检索是不可以的(对顺序链表或排序后的链表是可以用的)。

解释什么是堆排序?

堆排序可以看成是选择排序的改进,它可以定义为基于比较的排序算法。它将其输入划分为未排序和排序的区域,通过不断消除最小元素并将其移动到排序区域来收缩未排序区域。

说明什么是Skip list?

Skip list数据结构化的方法,它允许算法在符号表或字典中搜索、删除和插入元素。在Skip list中,每个元素由一个节点表示。搜索函数返回与key相关的值的内容。插入操作将指定的键与新值相关联,删除操作可删除指定的键。

解释插入排序算法的空间复杂度是多少?

插入排序是一种就地排序算法,这意味着它不需要额外的或仅需要少量的存储空间。对于插入排序,它只需要将单个列表元素存储在初始数据的外侧,从而使空间复杂度为O(1)。

解释什么是“哈希算法”,它们用于什么?

“哈希算法”是一个哈希函数,它使用任意长度的字符串,并将其减少为唯一的固定长度字符串。它用于密码有效性、消息和数据完整性以及许多其他加密系统。

解释如何查找链表是否有循环?

要知道链表是否有循环,我们将采用两个指针的方法。如果保留两个指针,并且在处理两个节点之后增加一个指针,并且在处理每个节点之后,遇到指针指向同一个节点的情况,这只有在链表有循环时才会发生。

解释加密算法的工作原理?

加密是将明文转换为称为“密文”的密码格式的过程。要转换文本,算法使用一系列被称为“键”的位来进行计算。密钥越大,创建密文的潜在模式数越多。大多数加密算法使用长度约为64到128位的固定输入块,而有些则使用流方法。

列出一些常用的加密算法?

一些常用的加密算法是:

3-way

Blowfish

CAST

CMEA

GOST

DES 和Triple DES

IDEA

LOKI等等

解释一个算法的最佳情况和最坏情况之间有什么区别?

·最佳情况:算法的最佳情况解释为算法执行最佳的数据排列。例如,我们进行二分法检索,如果目标值位于正在搜索的数据中心,则这就是最佳情况,最佳情况时间复杂度为0。

·最差情况:给定算法的最差输入参考。例如快速排序,如果选择关键值的子列表的最大或最小元素,则会导致最差情况出现,这将导致时间复杂度快速退化到O(n2)。

解释什么是基数排序算法?

基数排序又称“桶子法”,是通过比较数字将其分配到不同的“桶里”来排序元素的。它是线性排序算法之一。

解释什么是递归算法?

递归算法是一个解决复杂问题的方法,将问题分解成较小的子问题,直到分解的足够小,可以轻松解决问题为止。通常,它涉及一个调用自身的函数。

提到递归算法的三个定律是什么?

所有递归算法必须遵循三个规律

递归算法必须有一个基点

递归算法必须有一个趋向基点的状态变化过程

递归算法必须自我调用

解释什么是冒泡排序算法?

冒泡排序算法也称为下沉排序。在这种类型的排序中,要排序的列表的相邻元素之间互相比较。如果它们按顺序排列错误,将交换值并以正确的顺序排列,直到最终结果“浮”出水面。

end

除了以上提到的这些之外我还整理了很多LeetCode上面的算法题以及刷题笔记,众所周知,算法岗是最卷的,堪称腥风血雨,多刷一些题总是没错的,面试时也能多一些底气。

转发本文+关注+私信【309】即可获取以下两份我呕心沥血整理的文档,祝兄弟们都能拿到心仪的offer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/44870.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法岗面试题目汇总

目录 阿里巴巴一面 阿里巴巴二面 oppo一面 笨鸟科技 京东二面&#xff1a; 算法题&#xff1a; 阿里巴巴一面 特征值怎么去除掉行业和市值的影响&#xff1f;去残差是什么意思&#xff1f; cnn的那个项目数据处理是怎么做的&#xff1f; 卷积神经网络预测股票走势项目内…

大数据岗位和算法岗,面试官最爱问的10大问题

目录 1. 什么是数据结构&#xff1f; 2. 描述数据结构的类型&#xff1f; 3. 什么是线性数据结构&#xff1f;举例说明 4. 数据结构有哪些应用&#xff1f; 5、文件结构和存储结构有什么区别&#xff1f; 6、什么是多维数组&#xff1f; 7. 什么是链表数据结构&#xf…

量化岗经典面试题——赛马

本文源自&#xff1a;微信公众号QuantJob https://mp.weixin.qq.com/s/pO_6ZGKzCcNr2IJN7fH74A 有25匹马&#xff0c;每匹都以不同于其它马的恒定速度奔跑。由于赛道只有5条&#xff0c;每场比赛最多可有5匹马。如果你需要找3匹跑得最快的马&#xff0c;需要多少场比赛才能找…

算法岗必须人手一篇顶会?超详细面经:无论文、无实习拿下腾讯CV算法岗

点击上方“迈微AI研习社”&#xff0c;选择“星标★”公众号 重磅干货&#xff0c;第一时间送达 从迈微社友群中了解到&#xff0c;很多社友还是在校学生&#xff0c;并且有好些同学现在面临求职的阶段&#xff0c;特向大家推荐清雨卢同学的历程总结&#xff0c;应该会给大家一…

2019算法岗面试经验汇总

作者&#xff1a;太蔡了来源&#xff1a;牛客网&#xff0c;Jerry的算法和NLP 背景&#xff1a;211本&#xff0c;C9硕&#xff0c;都是非科班。主要投CV的算法岗&#xff0c;无竞赛&#xff0c;无论文&#xff0c;两-三个实验室CV相关项目&#xff0c;一段旷视的暑期实习经历。…

腾讯148道面试题,(程序员必备学习方向)全会拿45Koffer没问题

相信你可能经历过这些&#xff1a; 已经工作两三年了&#xff0c;每个项目都会加班加点全力以赴去完成&#xff0c;薪资增长幅度却不如人意。 听说年后离职的老同事&#xff0c;金三刚拿下高薪offer&#xff0c;年薪直奔50万了。 由于现在的公司接触不到新技术&#xff0c;对自…

九龙证券|地产股突然爆发!李蓓再度公开唱多,北上资金却在减持

李蓓又发声了&#xff0c;继续看好地产股&#xff01; 4月7日&#xff0c;明星私募基金经理李蓓在半夏出资官微发文&#xff0c;就地产职业和地产股出资时机共享了她的最新观念。李蓓以为&#xff0c;地产职业在阅历供应侧变革后&#xff0c;未来在供需层面存在剪刀差&#xff…

金标股份冲刺A股上市:计划募资约6亿元,许光荣为董事长

近日&#xff0c;上海金标文化创意股份有限公司&#xff08;下称“金标股份”&#xff09;递交招股书&#xff0c;准备在深圳证券交易所主板上市。本次冲刺上市&#xff0c;金标股份计划募资5.96亿元&#xff0c;东方证券为其保荐机构。 据招股书介绍&#xff0c;金标股份是一…

股东刚减持,股价却起飞?用Python量化A股解禁数据,利空出尽是利好? | 邢不行

2019年6月11日&#xff0c;宁德时代上市一周年之际&#xff0c;有45%的股票迎来了解禁。 这些由大股东、高管、早期投资者持有的股份&#xff0c;原先无法交易&#xff0c;但从这一天起就可以自由卖出了。 很多人出于对解禁后巨大卖盘的担忧纷纷提前卖出&#xff0c;导致宁德时…

【雅思口语】安娜口语学习记录 Part2

第二部分&#xff1a;主题卡片陈述 在这一部分&#xff0c;考官会递给考生一张主题卡片&#xff0c;卡片上附有问题和相关观点。拿到卡片后&#xff0c;考生有一分钟时间准备&#xff0c;同时可以在提供的草纸上作笔记(不可以拿出考场)。 然后&#xff0c;考生应该就所给的话题…

AI 大牛颜水成,加入智源研究院,正组建一支超强神秘团队

作者 | 李梅 编辑 | 陈彩娴 来源&#xff1a;AI科技评论 据智源研究院消息&#xff0c;近日&#xff0c;原Sea集团首席科学家颜水成已离职&#xff0c;加入智源研究院&#xff0c;任访问首席科学家。 目前&#xff0c;在颜水成的个人主页上&#xff0c;他正发出人才邀请&#x…

人工智能发展月报(2023年4月)

本报告依托科技情报大数据挖掘与服务系统平台AMiner、新闻事件分析挖掘和搜索系统NewsMiner&#xff0c;以及人工智能主流新闻网站及公众号&#xff0c;从AI学术会议、重大科研进展、人物动态、最新报告发布等角度&#xff0c;分析挖掘了每月人工智能领域所发生的、对AI领域技术…

怪异盒模型 border-box 真的“一无是处”吗?

前端Q 我是winty&#xff0c;专注分享前端知识和各类前端资源&#xff0c;乐于分享各种有趣的事&#xff0c;关注我&#xff0c;一起做个有趣的人&#xff5e; 公众号 点击上方 前端Q&#xff0c;关注公众号 回复加群&#xff0c;加入前端Q技术交流群 image.png 我们都知道有两…

机器学习入门篇

AI入门 故事 图灵测试 测试者和被测试者&#xff08;人和机器&#xff09; 隔开&#xff0c;通过一些装置互相随意提问&#xff0c;如果&#xff08;5min内&#xff09;超过30%的测试者不能确定是人还是机器&#xff0c;那么这台机器就认为具有人类智能。 达特茅斯会议-人工智…

Midjourney V5 与 V4 哪个更好?综合评测,Prompt 全公开!

【CSDN 编者按】最近 AI 绘画工具新版本 Midjourney V5 一经发布&#xff0c;便火爆朋友圈&#xff0c;今天我们就来评测一下 V5 与 V4 的区别~ 原文链接&#xff1a;https://medium.com/catmus2048/midjourney-v5-%E6%AF%94-v4-%E6%9B%B4%E5%A5%BD%E5%90%97-%E7%BB%BC%E5%90%8…

游戏陪玩系统源码中聊天室内礼物系统的实现

游戏陪玩系统源码中聊天室的礼物系统,第一步用户看到的无外乎都是礼物的列表界面 纵观主流聊天室的礼物列表应该都是使用UICollectionView实现的,所以我也不例外,下面就是各种撸代码.效果如下 看着效果还不错吧.但是但是我突然发现一个问题.游戏陪玩系统源码中礼物展示的顺序跟…

游戏陪玩语音聊天系统3.0商业升级独立版本源码

首发价值29800元的最新商业版游戏陪玩语音聊天系统3.0商业升级独立版本源码 1、增加人气店员轮播 2、优化ui界面丨优化游戏图标展示丨优化分类展示 3、增加动态礼物打赏功能 4、增加礼物墙功能 增加店员满足业绩&#xff0c;才能升级功能 5、增加店员等级不同&#xff0c;可接…

新版游戏陪玩约玩APP源码 多人连麦聊天/语音直播社交双端APP源代码 附搭建教程文档

功能介绍&#xff1a; 1.游戏陪练&#xff1a;可以选择当下火爆的游戏内容&#xff0c;选择游戏大神、职业玩家进行陪练&#xff0c;也可约附近路人玩家或是身边的小伙伴语音组队开黑&#xff0c;一起享受边玩游戏边吐槽的无限乐趣。 2.约玩交友&#xff1a;除了游戏陪玩功能&a…

用户登录很重要,实现游戏陪玩app源码注册功能

登录页面是游戏陪玩app源码非常重要的页面&#xff0c;用户注册、登录都是在这个页面完成的&#xff0c;接下来我们就看看&#xff0c;怎么实现一个简单的游戏陪玩app源码登录页面。 上图为演示画面 login.xml&#xff1a; <RelativeLayout xmlns:android"http://sch…

2022商业版游戏陪玩陪聊系统最新源码+视频教程+全套素材

网友分享给会员的&#xff0c;拿去学习研究吧&#xff0c;写法简单明晰&#xff0c;可以做项目但是一定要审核好&#xff0c;遵守好法律法规&#xff01; 提供在线聊天功能&#xff0c;在线下单功能&#xff0c;手机支持WAP&#xff0c;公众号&#xff0c;并可以封装成APP。源代…