{"id":13703329,"url":"https://github.com/PPshrimpGo/AIinterview","last_synced_at":"2025-05-05T07:30:44.301Z","repository":{"id":45398917,"uuid":"152843659","full_name":"PPshrimpGo/AIinterview","owner":"PPshrimpGo","description":"算法工程师面试题整理","archived":false,"fork":false,"pushed_at":"2022-01-14T02:06:34.000Z","size":9,"stargazers_count":897,"open_issues_count":2,"forks_count":148,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-02T08:39:57.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PPshrimpGo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-13T06:44:56.000Z","updated_at":"2025-03-02T07:56:09.000Z","dependencies_parsed_at":"2022-08-12T11:52:05.586Z","dependency_job_id":null,"html_url":"https://github.com/PPshrimpGo/AIinterview","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PPshrimpGo%2FAIinterview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PPshrimpGo%2FAIinterview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PPshrimpGo%2FAIinterview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PPshrimpGo%2FAIinterview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PPshrimpGo","download_url":"https://codeload.github.com/PPshrimpGo/AIinterview/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252458335,"owners_count":21751018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T21:00:53.481Z","updated_at":"2025-05-05T07:30:43.977Z","avatar_url":"https://github.com/PPshrimpGo.png","language":null,"readme":"# 算法工程师面试\n\n答案将以系列文章形式在公众号【包包算法笔记】进行系列更新，建议关注～\n\n[破解transformer/Bert八股，快问快答（一）](https://mp.weixin.qq.com/s?__biz=MzIwNDY1NTU5Mg==\u0026mid=2247484315\u0026idx=1\u0026sn=76cf9a7dfe228e92a4c74d28c3c655fc\u0026chksm=973d9d1ca04a140af3d81184f579b9137876206a13c2a6d6c41dc1dff42e4bfc809d76325c71\u0026token=1359631707\u0026lang=zh_CN#rd)\n\n[破解transformer/Bert八股，快问快答（二）](https://mp.weixin.qq.com/s?__biz=MzIwNDY1NTU5Mg==\u0026mid=2247484364\u0026idx=1\u0026sn=0aa2145dd23dc040b54e2b5e9834858d\u0026chksm=973d9d4ba04a145d0c1a2bc915709fbc9407c7668bca61d89fa3b04bdc70b364629824663394\u0026token=1359631707\u0026lang=zh_CN#rd)\n\n\n## 深度学习 \n\n### 模型评估方法\n\n- Accuracy作为指标有哪些局限性？\n- ROC曲线和PR曲线各是什么？\n- 编程实现AUC的计算，并指出复杂度？\n- AUC指标有什么特点？放缩结果对AUC是否有影响？\n- 余弦距离与欧式距离有什么特点？\n\n### 基本方法\n\n- 如何划分训练集？如何选取验证集？\n- 什么是偏差和方差？\n- 什么是过拟合？深度学习解决过拟合的方法有哪\n- 解决欠拟合的方法有哪些？\n- 深度模型参数调整的一般方法论？\n\n### 优化方法\n\n- 简述了解的优化器，发展综述？\n- 常用的损失函数有哪些？分别适用于什么场景？\n- 梯度下降与拟牛顿法的异同？\n- L1和L2正则分别有什么特点？为何L1稀疏？\n\n### 深度学习基础\n\n- 以一层隐层的神经网络，relu激活，MSE作为损失函数推导反向传播\n- NN的权重参数能否初始化为0？\n- 什么是梯度消失和梯度爆炸？\n- 常用的激活函数，导数？\n- relu的有优点？又有什么局限性？他们的系列改进方法是啥？\n- sigmoid和tanh为什么会导致梯度消失？\n- 一个隐层需要多少节点能实现包含n元输入的任意布尔函数？\n- 多个隐层实现包含n元输入的任意布尔函数，需要多少节点和网络层？\n- dropout为何能防止过拟合？\n- dropout和BN 在前向传播和方向传播阶段的区别？\n\n### CNN\n\n- 给定卷积核的尺寸，特征图大小计算方法？\n- 网络容量计算方法\n- 共享参数有什么优点\n- 常用的池化操作有哪些？有什么特点？\n- CNN如何用于文本分类？\n- resnet提出的背景和核心理论是？\n- 空洞卷积是什么？有什么应用场景？\n\n### RNN\n\n- 简述RNN，LSTM，GRU的区别和联系\n- 画出lstm的结构图，写出公式\n- RNN的梯度消失问题？如何解决？\n- lstm中是否可以用relu作为激活函数？\n- lstm各个门分别使用什么激活函数？\n- 简述seq2seq模型？\n- seq2seq在解码时候有哪些方法？\n- Attention机制是什么？\n\n\n\n## 机器学习\n\n### 基础\n\n- 样本不均衡如何处理？\n- 什么是生成模型什么是判别模型？\n\n### 集成学习\n\n- 集成学习的分类？有什么代表性的模型和方法？\n- 如何从偏差和方差的角度解释bagging和boosting的原理？\n- GBDT的原理？和Xgboost的区别联系？\n- adaboost和gbdt的区别联系？\n\n### 模型 \n\n- 手推LR、Kmeans、SVM\n- 简述ridge和lasson的区别和联系\n- 树模型如何调参\n- 树模型如何剪枝？\n- 是否存一定存在参数，使得SVM的训练误差能到0\n- 逻辑回归如何处理多分类？\n- 决策树有哪些划分指标？区别与联系？\n- 简述SVD和PCA的区别和联系？\n- 如何使用梯度下降方法进行矩阵分解？\n- LDA与PCA的区别与联系？\n\n### 特征工程 \n\n- 常用的特征筛选方法有哪些？\n- 文本如何构造特征？\n- 类别变量如何构造特征？\n- 连续值变量如何构造特征？\n- 哪些模型需要对特征进行归一化？\n- 什么是组合特征？如何处理高维组合特征？\n\n### 其他（分方向）\n\n- word2vec的原理，glove的原理，fasttext的原理？\n\n- cbow和skipgram如何选择？\n\n- 了解elmo和bert吗？简述与word embedding的联系和区别\n\n- 图像和文本和语音数据各有哪些数据增强方法？\n\n- rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理？ \n\n- 介绍resnet和GoogLeNet中的inception module的结构？ \n\n- 介绍yolo和ssd ？\n\n- 介绍FM，FFM，deepFM，deepWide.\n\n- 机器翻译如何解决oov？\n\n- 等等\n\n  \n\n  \n\n## 数据结构与算法\n\n## 二叉树类\n\n- 前中后的非递归？\n- 层次遍历，之字遍历？\n- 二叉树的序列化与反序列化\n- 前中，后中遍历结果恢复二叉树\n- 排序二叉树的序列化\n- 二叉树的直径\n- 二叉树的路径和为定值的路径\n- 翻转、复制二叉树\n- 排序二叉树转双向链表\n- 判断二叉树是否相同？判断一棵树是不是另一棵树的子树？\n\n### 搜索回溯\n\n- 八皇后，全排列，组合\n- 重复数字的排列，重复数字的组合\n- 图的搜索\n- A star\n\n### 概率题 \n\n- 用rand7构造rand10\n- 轮盘赌\n- 三角形内等概论随机选点\n- 等等\n\n### 动态规划\n\n- 编辑距离\n- 背包\n- LCS\n\n## 字符串\n\n- 给定字符串是否符合正则表达式XXX\n- 给定字符串是否是数字？\n- KMP\n- 超大数相加\n\n## 数组、二分、快排系列\n\n- 旋转数组查找\n- 数组中的topk\n- 旋转打印数组\n- 行列递增矩阵查找数字\n- 查找出现超过一半的数字\n- 查找和为定值的两个数\n\n### 链表\n\n- 翻转链表\n- 两个链表是否有交点\n- 一个链表是否有环\n- 链表的倒数k个节点\n- 合并链表\n- 逆序打印链表\n\n### 排序\n\n- 各种排序的复杂度最优最差平均\n- 堆排序topk\n- 快排的变化\n\n\n\n## 海量数据题\n\n- 海量日志的出现最多的10个字符串\n- 10亿个1-10的数字排序\n- trie树\n- hashmap\n- 布隆过滤器\n- bitmap\n\n等等\n\n\n\n","funding_links":[],"categories":["Algorithm Interview"],"sub_categories":["1. Github"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPPshrimpGo%2FAIinterview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPPshrimpGo%2FAIinterview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPPshrimpGo%2FAIinterview/lists"}