大厂面经答案参考

《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。

求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。


1 面经汇总资料

第一节每个公司参考的资料招聘岗位面试流程,以及整理的心得都不相同

具体每个公司的面经内容,可以点击查看详情

面经的答案参考,主要从第二节开始

2 面经答案涉及基础知识点

2.1 图像处理基础

2.1.1 讲解相关原理

● 常见的图像降噪的方法?

【参考答案】

● 常见的图像滤波的算法?

【参考答案】

● 常见的图像增强的方法?

【参考答案】

● 常用的边缘检测方法?

【参考答案】

● 图像中常用的插值算法?

【参考答案】

● Raw图像和Rgb图像的区别?

【参考答案】

● 讲解下Hog特征的原理以及步骤?

【参考答案】

2.1.2 手写算法代码

● 手写马赛克算法

【参考答案】

● 手写高斯滤波算法

【参考答案】

● 手写均值滤波算法

【参考答案】

● 手写中值滤波算法

【参考答案】

2.2 深度学习:CNN卷积神经网络方面

2.2.1 讲解相关原理

2.2.1.1 卷积方面

● 如何理解卷积?

【参考答案】

● 1*1的卷积核的好处?

【参考答案】

● 卷积核大小如何选择?比如1*3,3*1代替3*3的原理?

【参考答案】

● depthwise卷积的原理?

【参考答案】

● 反卷积和其他上采样的缺点?棋盘格现象产生的原因?

【参考答案1】【参考答案2】

● 3D卷积和2D卷积的区别?

【参考答案1】【参考答案2】

● 在CNN卷积核上进行dropout操作的流程?

【参考答案】

● 反卷积/转置卷积的实现原理?

【参考答案】

● 直接转置卷积和先上采样再卷积的区别?

【参考答案】

● Dropout的原理?

【参考答案】

2.2.1.2 池化方面

● CNN中池化的作用?

【参考答案】

● 反向传播时,max-pooling怎么反向传播误差?

【参考答案】

2.2.1.3 网络结构方面

● mobileNetv1、mobileNetv2网络结构的原理?

【参考答案】

● shuffleNetv1、shuffleNetv2网络结构的原理?

【参考答案】

● Alexnet网络结构的原理?

【参考答案】

● Vgg网络结构的原理?

【参考答案】

● Densenet网络结构的原理?

【参考答案】

● Inceptionv1、v2、v3、Xception网络结构的原理?

【参考答案1】【参考答案2】

● Resnetv1、Resnetv2网络结构的原理?

【参考答案】

● unet网络结构的原理?为什么要下采样&上采样?

【参考答案】

● 神经网络上添加Attention的方式?

【参考答案1】【参考答案2】

● FPN网络结构的原理?

【参考答案】

● ROI Pooling和ROI Align的区别?

【参考答案1】【参考答案2】

● 图神经网络原理的理解?

【参考答案】

2.2.1.4 其他方面

● 感受野的原理是什么?如何增加感受野?

【参考答案】

● 权值共享的原理是什么?

【参考答案】

● BN层的原理?是怎么实现的?

【参考答案】

● BN层训练和测试时有什么不同点?(还包括dropout)

【参考答案1】【参考答案2】

● CNN反向传播的细节?比如怎么过全连接层、池化层、卷积层?

【参考答案】

● CNN中防止过拟合的方法?

【参考答案】

● 梯度爆炸&梯度消失问题的原因?以及如何解决?

【参考答案】

● 为什么CNN适用于图像类任务,其他领域适用吗?

【参考答案】

2.2.2 数学计算

● 卷积层的参数量怎么计算?

【参考答案】

● 卷积计算过程中的FLOPs?

【参考答案】

● 卷积计算的公式什么?计算输出Feature Map的尺寸。

【参考答案】

2.2.3 公式推导

● Max pooling如何梯度求导?

【参考答案1】【参考答案2】

● BP神经网络反向传播推导流程?

【参考答案】

2.2.4 手写算法代码

● 使用代码实现BP网络的前向传播和反向传播?

【参考答案】

● 使用代码展示shuffleNet v2的网络结构?

【参考答案】

2.2.5 softmax方面

● softmax多分类器的原理?和二分类器相比,有哪些不同?

【参考答案】

● 写一下softmax的计算公式?

【参考答案】

● 写一下softmax的损失函数?

【参考答案】

2.3 深度学习:RNN递归神经网络方面

2.3.1 讲解相关原理

● RNN为什么会出现梯度消失/ 梯度爆炸的现象?

【参考答案】

● RNN如何防止梯度爆炸?

【参考答案】

● LSTM的原理?各个门的原理?计算流程?

【参考答案】

● LSTM、GRU、传统RNN的区别?

【参考答案】

● 隐马、CRF、RNN、LSTM的区别?

【参考答案1】【参考答案2】

● BN和LN的区别,以及BN一般怎么用?

【参考答案】

● LSTM中有没有用BN?

【参考答案】

2.3.2 手绘网络原理

● 写一下LSTM的公式?

【参考答案】

● 画一下GRU,并解释门的原理?

【参考答案1】【参考答案2】

2.4 深度学习:CNN&RNN通用的问题

2.4.1 基础知识点

● 梯度消失、爆炸原因及其解决方法?

【参考答案】

● Dropout的原理及作用?为什么可以抑制过拟合?

【参考答案1】【参考答案2】

● 刚开始训练时,神经网络的权值如何初始化?有哪些方法?

【参考答案】

● 如何解决网络模型不收敛的问题?

【参考答案】

● 如何加快模型训练速度?

【参考答案1】【参考答案2】

● 常用的normlization的方法?

【参考答案】

● 讲一下Attention的原理?Self-attention的原理和公式?

【Attention参考答案】【Self-attention参考答案】

2.4.2 模型评价

● 解释下ROC、AUC、F1-Score、Map、PR曲线、Recall?

【参考答案】

● 分类问题的指标是什么?准确度、召回率、PR曲线

【参考答案】

● 网络广告中CPM、CPC、ROI的含义,计算方式?

【CPM&CPC参考答案】【ROI参考答案】

2.5 传统机器学习方面

2.5.1 讲解相关原理

2.5.1.1 数据准备

① 数据采集&数据清洗

● 有哪些数据清洗的方法?

【参考答案】

② 数据采样

● 数据采样常用哪些方法?

【参考答案】

● 解释下MCMC采样?

【参考答案】

2.5.1.2 特征工程

① 特征降维

● 一般常用哪些特征降维的方式?

【参考答案】

● 讲一下PCA的原理?

【参考答案】

● SVD分解的原理?PCA和SVD的联系与区别?

【参考答案】

● LDA:讲一下LDA的原理?并说一下公式?

【参考答案】

● T-SNE算法的作用?

【参考答案】

② 特征选择

● 特征选择一般常用哪些方法?

【参考答案】

● 什么是特征向量与特征值?

【参考答案】

● 特征选择中互信息选择的互信息计算公式是什么?

【参考答案】

● 介绍一下Lasso回归?

【参考答案】

● 如何理解信息增益?

【参考答案】

● 树模型中分叉的判断有哪些:信息增益,信息增益比,Gini系数;他们有什么区别?

【参考答案】

2.5.1.3 有监督学习-分类和回归方面

① 分类回归树(集成学习)

● 常用的方法有哪些?怎么做回归和分类的?

【参考答案】

● Boosting与Bagging的原理以及异同点?谁更关注方差,谁更关注偏差?

【原理以及异同点参考答案】【方差和偏差参考答案】

● Xgboost、LightGBM、GDBT的原理讲一下?

【参考答案】

● Xgboost和GBDT的区别?

【参考答案】

● Xgboost如何并行运算的?

【参考答案】

● Xgboost与LR各自的优缺点,LR为什么更容易并行?

【优缺点参考答案】【并行参考答案】

● 随机森林的随机性如何体现?

【参考答案】

● Random Forest 和Xgboost、GDBT的区别?

【参考答案】

② 线性回归

● 讲解一下线性回归的底层原理,比如说如何训练,如何得到参数,如何调整参数等?

【参考答案】

● 线性回归R^2公式及意义?

【参考答案】

③ K近邻(KNN)

● KNN算法和传统的LR和SVM有什么区别?怎么进行优化?

【KNN 与 SVM参考答案】【LR和SVM参考答案】

④ 逻辑回归LR

● 讲一下逻辑回归LR的原理?如何提升LR的模型性能?

【参考答案】

● LR中为什么要用sigmoid?

【参考答案】

● LR和FM的区别?

【参考答案】

⑤ SVM

● 详细讲解SVM的原理?

【参考答案】

● SVM和感知机的区别?

【参考答案】

● SVM和LR相比,两者的区别和各自优缺点?

【参考答案】

● SVM中SMO具体的操作以及原理?

【参考答案】

● 写一下SVM的损失函数?为什么能转化为对偶问题?能否推导?

【参考答案】

● SVM怎么解决不容易找到超平面的问题?

【参考答案】

● KKT条件是什么?

【参考答案】

● KKT在SVM中起到什么样的作用?

【参考答案】

● SVM对于异常值的处理,敏感程度?

【参考答案】

● SVM有哪些核函数?

【参考答案】

⑥ 朴素贝叶斯(Naive Bayes)

● 详细的讲解一些朴素贝叶斯的底层原理,比如说,如何选参数,如何训练模型,如何做分类?

【参考答案】

● 讲一下极大似然估计的原理?

【参考答案】

● 朴素贝叶斯的算法实现?

【参考答案】

⑦ 决策树(DT)

● 详细讲一下决策树的原理?

【参考答案】

● 决策树的ID3和C4.5介绍一下?决策树模型的类别?

【参考答案】

● 决策树分裂节点的标准与对应的算法?

【参考答案】

2.5.1.4 无监督学习-聚类方面

● 详细讲一下Kmeans聚类的原理?

【参考答案】

● 高斯混合模型和K-means的区别和联系?

【参考答案】

2.5.1.5 模型评价

● 机器学习中一般怎么衡量模型效果?

【参考答案】

● AUC值怎么理解?为什么要用AUC去衡量机器学习模型的好坏?

【参考答案】

● 信息检索中为什么使用Recall和Precision?

【参考答案】

● 怎么衡量两个分布的差异?KL散度和交叉熵损失有什么不同?

【参考答案】

● 交叉熵和相对熵(KL散度)的关系?

【参考答案】

2.5.2 手推算法及代码

2.5.2.1 手推公式

● 写出LR的损失函数?

【参考答案】

● 写出LR的实现过程,前向传播和反向传播?

【参考答案】

● 写出FM的推导?

【参考答案】

● 写出xgboost的推导?

【参考答案】

● 写出GBDT的推导?

【参考答案】

● 写出SVM公式推导?

【参考答案】

● 写出朴素贝叶斯的公式?

【参考答案】

● 写出sigmoid函数,并求导?

【参考答案】

2.5.2.2 手写代码

● 写出adaboost的伪代码?

【参考答案】

● 写出Kmeans聚类算法的代码?

【参考答案】

2.6 深度学习&机器学习面经通用知识点

2.6.1 损失函数方面

● 常用的损失函数有哪些?

【参考答案】

● 写一下交叉交叉熵,相对熵的公式?

【参考答案】

● 逻辑回归中损失函数的意义?

【参考答案】

● Smooth L1 loss的公式?

【参考答案】

2.6.2 激活函数方面

● 常用的激活函数有哪些?

【参考答案】

● Sigmoid的优缺点?Sigmoid和Relu的区别?

【参考答案】

2.6.3 网络优化梯度下降方面

● 梯度下降系列的算法有哪些?讲一下优缺点?说一下区别或发展史?

【参考答案1】【参考答案2】

● 写一下Adam优化器的迭代公式?Adam的默认参数有哪些?

【参考答案】

● SGD的流程?

【参考答案】

● 介绍方向导数和梯度,方向导数和梯度的关系?为什么梯度在机器学习中的优化方法中有效?

【关系参考答案】【梯度参考答案】

2.6.4 正则化方面

● 正则化的本质?

【参考答案】

● L1正则化和L2正则化的区别?从数学角度说?

【参考答案】

2.6.5 压缩&剪枝&量化&加速

● 怎么做模型压缩?

【参考答案】

● 模型蒸馏的原理?

【参考答案】

2.6.6 过拟合&欠拟合方面

● 什么是过拟合和欠拟合?

【参考答案1】【参考答案2】

● 怎么防止过拟合和欠拟合?

【参考答案】

● 深层网络还是浅层网络容易过拟合?

【参考答案】

● BN为什么可以减小过拟合?

【参考答案】

2.6.7 其他方面

● 深度学习与机器学习的关系及异同点?

【参考答案】

● 如何解决样本不均衡?

【机器学习参考答案】【目标检测参考答案】

【图像分类参考答案】【图像分割参考答案】

● 数据不均衡有什么解决方式,从数据,模型选择,以及损失函数选择角度?

【参考答案】

3 面经答案涉及项目知识点

3.1 深度学习-CNN卷积神经网络方面

3.1.1 目标检测方面

3.1.1.1 讲解原理

● 讲一下目标检测各种算法的发展?

【参考答案】

● 讲一下One-stage和Two-stage两种的区别?

【参考答案】

● 讲一下SSD的流程?并说一下各种变体改进?

【流程参考答案】【改进参考答案】

● 讲一下Yolov3、Yolov4、Yolov5的算法的原理和流程?各种算法的改进和不同点?

【参考答案】

● 在Yolo算法改进过程中,小目标检测上有什么提升?

【参考答案】

● 详细讲一下RNN、Fast-RCNN、Faster-RCNN算法的原理?不同算法之间的区别?

【参考答案】

● 介绍一下cascade_rcnn?

【参考答案】

● 讲一下CenterNet的原理?

【参考答案】

● 介绍一下retinaface?

【参考答案】

● 讲一下ROI Align和ROI Pooling的原理?ROI Align和ROI Pooling相比,有什么改进?

【参考答案】

● 讲一下FPN网络的细节?

【参考答案】

● 在目标检测中有哪些可以提升速度但不损失性能操作有哪些?

【参考答案】

● 数据增强的常用方法,以及项目里用的数据增强,目标检测中的数据增强?

【参考答案】

3.1.1.2 损失函数

● 讲一下Focal Loss的原理?公式是什么?主要解决哪方面的问题?

【参考答案】

● Focal Loss和OHEM的区别?

【参考答案】

● Faster RCNN损失函数的构成?

【参考答案】

3.1.1.3 手写代码

● 手写Nms流程的代码?

【参考答案1】【参考答案2】

● 手写IOU的代码?

【参考答案】

● 画出Faster-RCNN的流程以及RPN的具体过程?

【参考答案】

3.1.2 目标追踪

● 目标跟踪里匈牙利算法的流程?

【参考答案】

3.1.3 图像分割

● 了解哪些语义分割算法?

【参考答案】

● 语义分割中miou计算公式?

【参考答案】

● 讲一下Unet的原理和流程?

【参考答案】

● 讲一下deeplabv2、deeplabv3的原理和流程?

【参考答案】

3.1.4 OCR

3.1.5 超分辨

● 超分辨率使用什么损失函数?

【参考答案】

3.1.6 关键点检测

3.1.7 图像分类

● 图像分类发展的各个阶段的网络讲一下?比如Lenet-5、Alexnet、Vgg、Resnet、Inception等?

【参考答案1】【参考答案2】【参考答案3】

● 图像分类常使用什么损失函数?

【参考答案】

● 分类网络训练集中如果有噪声(错误标注)会有什么影响?怎么解决?

【参考答案】

● 细粒度的分类怎么办?比如小狗中的阿拉斯加和哈士奇。

【参考答案】

3.1.8 姿态估计

3.1.9 目标重识别

3.1.10 人脸识别

● FaceNet里的triplet loss的公式,反向传播如何更新

【参考答案】

3.1.11 图形图像方面

● OpenGL中Blend方式讲一下?

【参考答案】

● 延迟渲染和前向渲染的区别?

【参考答案】

● 讲一下PBR、抗锯齿技术?

【PBR参考答案】【抗锯齿参考答案】

3.2 深度学习-RNN递归神经网络方面

3.2.1 自然语言处理NLP

3.2.1.1 讲解原理

① Bert

● 详细讲一下Bert的原理?有什么可以改进的地方?

【参考答案】

● fastText和Elmo和Bert的区别?

【参考答案】

● Word2vec和Bert之间的区别?

【参考答案】

② Transformer

● 讲一下Transformer的结构?

【参考答案】

③ Attention

● 讲一下Attention的原理?Self-attention的原理和公式?

【Attention参考答案】【Self-attention参考答案】

④ CRF

● 讲解CRF的原理?

【参考答案】

● CRF和HMM的关系以及区别?

【参考答案】

⑤ Word2vec

● 讲解下Word2vec的原理?包括训练方式及效率?

【参考答案】

● Word2vec、glove、elmo、bert的区别?

【参考答案】

⑥ CNN的应用

● CNN、RNN、Transformer如何编码文本?

【参考答案】

● CNN在文本中的用法?Pooling的应用和作用?

【参考答案】

● 讲一下TextCNN的原理?

【参考答案】

⑦ 其他

● 给一段文字,如何提取文本特征?

【参考答案】

● 讲一下目前比较火的NLP模型?

【参考答案】

3.2.1.2 损失函数类

● 讲一下NLP中常用的损失函数?

【参考答案】

● 讲一下CTC Loss的功能和作用?

【参考答案】

3.3 强化学习

3.3.1 讲解原理

● 讲解下GAN的原理?是如何训练的?

【参考答案】

● 介绍下StartGAN?训练时是否遇到困难?

【参考答案】

● 介绍DQN、DDQN、AC、DDPG的原理以及区别?

【参考答案】

3.3.2 损失函数

● GAN的损失函数是什么?

【参考答案】

3.3.3 其他方面

● 强化学习PG的推导?

【参考答案】

● 新闻推荐中如果使用强化学习,如何设计?

【参考答案】

3.4 机器学习方面

3.4.1 推荐系统

3.4.1.1 讲解原理

● 讲一下deepFM的原理?

【参考答案】

● 讲一下FM、FFM的原理?

【参考答案】

● 讲一下FM和deepFM的关系?

【参考答案】

● 讲一下user-cf、item-cf的原理、公式以及区别?

【参考答案1】【参考答案2】

3.4.1.2 手写代码

● 手写deepFM的结构(代码)?

【参考答案】

● 手写xdeepfm模型的结构公式?

【参考答案】

3.4.1.3 其他方面

● 推荐系统模型收敛的很好,但是多样性可能不好的情况下如何解决?

【参考答案】

4 数据结构与算法分析相关知识点

4.1 数据结构与算法分析

4.1.1 线性表

4.1.1.1 数组

● 给定一个数组,找出数组的最大连续子序列的和

【参考答案】

● 给一个无序数组,找到其中位数,并问复杂度?

【参考答案】

● 给一个无序数组,输出不在数组中的最小正整数?

【参考答案】

● 旋转有序数组中查找指定数

【参考答案】

● [2,3,4,6,2,3],找出数组中每个数字的后边比它大的第一个数?

【参考答案】

● 两个有序数组的中位数?

【参考答案】

● 在空间上优化滚动数组?

【参考答案】

● 一维01数组中,求最长的区间?其中0和1数量相等。

【参考答案】

● 给一个数组,求其所有数都平方后,共有多少个唯一的值?

【参考答案】

● 数组的全排列?

【参考答案】

● 判断是否存在个数超过数组长度一半的数

【参考答案】

● 在一个有序旋转数组中,查找有无目标值?

【参考答案】

● 单调不减数组找出一个数最后出现的位置?

【参考答案】

● 给出一个数组,数组中有正数和负数,要求重新排列这个数组,使得原始数组中的正负数交替排列,且保证各自的相对顺序不变。

【参考答案】

● 最大数组连乘值

【参考答案】

● 数组连续元素最大值的和,动态规划解决?

【参考答案】

● 两个有序数组求交集?

【参考答案】

● 一个数组,一个数出现一次,其他数出现两次,求出现一次的那个数?

【参考答案】

● O(n)时间复杂度和O(1)空间复杂度删除重复元素,数组有序,输入a=[1,1,1,2,5,6,6],输出a=[1,2,5,6]

【参考答案】

● 长度为n的字符串中包含m个不同的字符,找出包含这m个不同字符的最小子串?

【参考答案】

● 给定一个数组,返回每个对应位置右边第一个比他大的数,没有就是-1,如【4,1,2,5,8】返回【5,2,5,8,-1】

【参考答案】

4.1.1.2 链表

● 链表反转?

【参考答案】

● 反转链表中偶数位置的值,例如1-2-3-4-5-6-7 变为 1-6-3-4-5-2-7

【参考答案】

● 链表判断是否有环?

【参考答案】

● 找一个链表中的环?

【参考答案】

● 删除链表重复节点?如1-2-3-3-5-5-6 变为1-2-6。

【参考答案】

● 删除倒数第k个链表节点?

【参考答案】

● 求两个链表的第一个公共结点?

【参考答案】

● 链表的冒泡排序?

【参考答案】

● k个有序链表合并,问时间复杂度?

【参考答案】

4.1.1.3 栈

● 栈和堆的原理和区别?

【参考答案】

4.1.1.4 队列

● 两个栈模拟一个队列?

【参考答案】

4.1.1.5 字符串

● 字符串最小编辑路径?

【参考答案】

● 字符串转数字,及边界条件?

【参考答案】

● 删除字符串中连续的重复字符?

【参考答案】

● 给定字符串,求最大不重复子串长度?

【参考答案】

● 两个字符串,求最短编辑次数使相等?

【参考答案】

4.1.1.6 列表

● 列表数字排列可组成的最大数字?

【参考答案】

4.1.2 树

4.1.2.1 二叉树

● 什么是二叉树?

【参考答案】

● 蛇形打印二叉树?

【参考答案】

● 什么是红黑树?

【参考答案】

● 红黑树和AVL的区别?

【参考答案】

● 给定一个二叉树,求出这个二叉树的宽度和高度?

【参考答案】

● 什么是平衡二叉树?平衡二叉树的应用都有哪些?

【参考答案】

● 判断是否是二叉平衡树?

【参考答案】

● 二叉树前序中序遍历,重建二叉树

【参考答案】

● 非递归中序遍历二叉树?

【参考答案】

● 二叉树中序遍历递归+非递归

【参考答案】

● 二叉树之字型遍历,每行打印?

【参考答案】

● 打印二叉树中最左边节点?

【参考答案】

● 判断给定序列是否为二叉搜索树的前序遍历?

【参考答案】

● 给一个二叉树,输出所有完全一样的(重复的)子树?

【参考答案】

4.1.2.2 堆

● 写一下最小K堆?

【参考答案】

4.1.2.3 其他

● 线段树和树状数组的异同?

【参考答案】

● 树的路径和?

【参考答案】

4.1.3 图

4.1.3.1 拓扑排序

● 写一下拓扑排序?

【参考答案】

4.1.3.2 最短路径

● 无向无环图中,最短路径的最大值(O(n^3)的解法)?

【参考答案1】【参考答案2】

4.1.4 排序

● 说几个常用排序算法的时间复杂度、空间复杂度、稳定性?

【参考答案】

● 快速排序和归并排序描述一下,优缺点(描述)?

【参考答案】

● 手写快排,求Topk?

【参考答案】

● 手写堆排序

【参考答案】

● 写一下桶排序?

【参考答案】

4.1.5 搜索

● 求矩阵中连通域的个数,用bfs或dfs做?

【参考答案1】【参考答案2】

● 二维数组找最长递增路径?用DFS方式。

【参考答案】

4.2 算法思想实战及智力题

4.2.1 算法思想实战

● 岛计数问题 dfs

【参考答案】

● 两堆钞票,尽可能均分

【参考答案】

● 小兔的棋盘

【参考答案】

● 过河问题

【参考答案】

● 棋盘上的连通棋子团数

【参考答案】

● 接雨水问题

【参考答案】

● 找山顶元素

【参考答案】

4.2.2 智力题

● 43个石头,A,B轮流拿,每次可以拿1~3个,A先拿能否保证自己获胜?

【参考答案】中的智力题2

● 1000盏灯开着,1000个人标号1~1000依次进入,每个人进去按一下自己标号倍数的开关,问最后哪些灯亮着?

【参考答案】中的智力题3

● 25匹马赛跑,5个跑道,怎么以最少的比赛次数来决出最快的3匹(思路分析)

【参考答案】

● 疯狗问题

【参考答案】

4.3 其他方面

4.3.1 数论

● 求几何分布的期望?

【参考答案】

● 泰勒公式,用泰勒公式实现e的计算求值?

【参考答案】

● 给一个中文数字,比如一百二十,如何转换为整形数字?

【参考答案】

4.3.2 概率分析

● A、B交替抛硬币,正面概率为1/2,谁先抛到正面谁胜。问A先抛并获胜的概率?

【参考答案】

● 一根木棍, 随机切成三段, 求能围成三角形的概率?

【参考答案】

4.3.3 矩阵运算

● 蛇形打印n*n的矩阵

【参考答案】

4.3.4 其他

● 如何判断一个算法是线性的还是非线性的?

【参考答案】

● 如何输出幂集?

【参考答案】

4.4 Leetcode&剑指offer原题

● Leetcode 3 最长不重复子串

【参考答案】

● Leetcode 11

【参考答案】

● Leetcode 32

【参考答案】

● Leetcode 34

【参考答案】

● Leetcode 42

【参考答案】

● Leetcode 72:字符串的编辑距离

【参考答案】

● LeetCode 76:Minimum Window Substring

【参考答案】

● Leetcode 123

【参考答案】

● Leetcode 124

【参考答案】

● Leetcode 148

【参考答案】

● Leetcode 206

【参考答案】

● Leetcode 224:hard,实现一个基本的计算器来计算一个简单的表达式字符串。表达式字符串只包含非负整数、+, -, *, /操作符。可以假设给定的表达式总是有效的。

【参考答案】

● Leetcode 284:一个类A有next,has_next两个方法,其中next调用会返回值,但索引会自增。实现一个peek访问只返回值,索引不自增。

【参考答案】

● Leetcode 306

【参考答案】

● Leetcode 315

【参考答案】

● Leetcode 448:要求时间o(n),空间o(1)。

【参考答案】

● Leetcode 560

【参考答案】

● Leetcode 786

【参考答案】

● Leetcode958:判断一棵树是不是完全二叉树

【参考答案】

● Leetcode原题:链表采样,resevior sampling。要求在一个无限长的单向链表中采样,当遍历的节点数量充分多时,每个节点被采样到的概率应相等。

【参考答案】

● Leetcode原题:正则表达式匹配

【参考答案】

● Leetcode原题:求数x的开方,精确到小数点后一位

【参考答案】

● Leetcode原题:旋转数组查找target

【参考答案】

● Leetcode原题:字符串左移K位

【参考答案】

● Leetcode原题:股票价格

【参考答案】

● Leetcode原题:矩阵右旋

【参考答案】

● Leetcode原题:01 矩阵找最大子矩阵大小

【参考答案】

● Leetcode原题:n的平方根,精度十位小数

【参考答案】

● Leetcode原题:计数质数

【参考答案】

● Leetcode原题:蚂蚁爬杆

【参考答案】

● Leetcode原题:屋舍打劫

【参考答案】

● Leetcode原题:数据流中,按照某个窗口大小,找窗口中的最大值

【参考答案】

● Leetcode原题:最长回文子串

【参考答案】

● Leetcode原题:一个字符串,一个单词字典,把字符串分成若干个子串,每个子串都包含在字典中,返回多少种分割法?

【参考答案】

● 剑指offer 41:数据流中的中位数,设计一个数据结构,有插入和删除操作,并且能随时得到数据中的中位数。

【参考答案】

5 编程高频问题:Python&C/C++方面

5.1 python方面

5.1.1 网络框架方面

5.1.1.1 Pytorch相关

● torch.Tensor 和torch.tensor的区别?

【参考答案】

● torch.no_grad 和 required_grad=False的区别?

【参考答案】

● pytorch里function和module有什么区别?

【参考答案】

● pytorch里dataset、dataloader、sampler有什么区别?

【参考答案】

5.1.1.2 Tensorflow相关

● TensorFlow如何实现并行?

【参考答案】

● Tensorflow如何进行梯度传递?

【参考答案】

● 梯度更新时是同步还是异步?两者的优缺点?

【参考答案】

● Tensorflow的优化器有哪些?

【参考答案】

5.1.1.3 其他

● Tensorflow、Keras、Pytorch的区别?

【参考答案1】【参考答案2】

5.1.2 基础知识

5.1.2.1 线程相关

● Python中多线程多进程的应用?

【参考答案】

● Python的线程有什么样的缺点?

【参考答案】

● Python中的GIL解释一下?

【参考答案】

5.1.2.2 内存相关

● Python里面的深拷贝和浅拷贝的原理讲一下?

【参考答案】

● Python的回收机制?

【参考答案】

5.1.2.3 区别比较

● xrange与range的区别?

【参考答案】

● Python是解释语言还是编译语言?

【参考答案】

● is与==的区别?

【参考答案】

● utf8有几位?英文在 utf8中占几位?utf8和 utf16有什么区别?

【参考答案1】【参考答案2】【参考答案3】

5.1.2.4 讲解原理

● Python装饰器,迭代器和生成器的原理讲一下?

【装饰器参考答案】【迭代器和生成参考答案】

● CPython全局锁是什么?

【参考答案】

●  Python的动态数组是如何实现的?

【参考答案】

● Python中dict的底层是啥?

【参考答案】

● Python中list的底层怎么实现?

【参考答案】

● Python有多线程吗?

【参考答案】

● Python里的生成器是什么?

【参考答案】

5.1.2.5 讲解应用

● Python常见的数据结构有哪些?

【参考答案】

● Python中的C拓展的具体例子?

【参考答案】

5.1.3 手写代码相关

● 交换a和b两个数,不借助第三个变量?

【参考答案】

● 实现sqrt函数,结果保留5位小数

【参考答案】

5.2 C/C++方面

5.2.1 基础知识

5.2.1.1 内存相关

● C++共享内存实现的原理讲一下?

【参考答案】

● C语言中的动态内存分配器的原理讲一下?

【参考答案】

5.2.1.2 区别比较

● 参数传递时,传值、传引用和传指针的区别?

【参考答案】

● 函数返回时,返回值、返回引用和返回指针的区别?

【参考答案】

● new和malloc区别?

【参考答案】

● map和unordered_map区别?

【参考答案】

● C++的虚函数和虚继承的作用?

【参考答案】

● dynamic_cast、static_cast和reinterpret_cast区别?

【参考答案】

● const A&func(const B& b) const {return …;}中三个const的区别?

【参考答案】

5.2.1.3 讲解原理

● 重载和重写的原理讲一下?

【参考答案】

● 多态的原理讲一下?

【参考答案】

● Static关键词的作用?修饰符的功能?

【关键词参考答案】【修饰符参考答案】

● C++面向对象的原理讲一下?

【参考答案】

● C++11和之前版本不用的特性有哪些?

【参考答案】

● List的底层实现?

【参考答案】

● LRU算法讲一下?

【参考答案】

5.2.1.4 讲解应用

● C语言中结构体struct{int i; bool b}一共占几个字节?

【参考答案】

5.2.2 手写代码相关

● 使用C++实现双向链表类,并插入新的元素?

【参考答案】

● 使用C++实现拓扑排序?

【参考答案】

● 使用C++实现memcpy?

【参考答案】

6 操作系统高频问题:数据库&线程&常用命令等

6.1 数据库方面

6.1.1 基础问题

6.1.1.1 区别比较

● SQL中count(1), count(*), count(列)区别

【参考答案】

6.1.1.2 讲解原理

● Mysql的数据存储结构的细节?

【参考答案】

● Mysql底层是什么?

【参考答案】

● B树和B 树的区别?(项目中的Mysql用了B树)

【参考答案】

6.1.2 手写代码

● 使用Mysql取出成绩表中各科的前三名?

【参考答案】

6.2 操作系统方面

6.2.1 TCP协议相关

● TCP和UDP的区别?

【参考答案】

● TCP如何保证消息安全?

【参考答案】

● 三次握手和四次挥手的原理?

【参考答案】

6.2.2 线程和进程相关

6.2.2.1 区别比较

● 线程和进程的区别和联系?进程和线程相比有什么好处?

【参考答案】

● 同步IO和异步IO的理解?

【参考答案】

6.2.2.2 讲解原理

● 进程之间的通信方式?

【参考答案】

● 如何从用户态进入内核态?

【参考答案】

● 常见的进程调度算法?公平调度?时间片调度?

【参考答案】

● 32位操作系统和64位操作系统的寻址范围?

【参考答案】

6.2.2.3 讲解应用

● 两个线程,每个线程有一个数组,交替输出,怎么做?

【参考答案】

● 讲一下进程和线程的应用场景?

【参考答案】

6.2.3 常用命令

● Linux系统怎么查看进程CPU使用率?

【参考答案】

本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。

评论:

1 条评论,访客:1 条,站长:0 条

0%好评

  • 好评:(0%)
  • 中评:(0%)
  • 差评:(0%)
  1. tao
    tao发布于: 

    计算机网络和操作系统分开好一点?

发表评论

This site is protected by wp-copyrightpro.com