面试通过的公司包括字节、腾讯、阿里、百度、美团、滴滴、快手、知乎。遇到的面试题大致分为以下几类:
目录
一、leetcode题
二、概率智力题
三、算法原理题
四、项目问题
五、开放性问题
六、问面试官的问题
七、其他自身相关问题
一、leetcode题
- 先升后降得数组,二分法查找;
- 用随机小数,等概率得返回最大值,转化为二进制映射;
- 股票买卖时机;
- 围棋实现;
- 返回全排列;
- 树的中序遍历;
- 找到topK,最大堆排序;
- 快速排序:递归和非递归的方式;
- 逆转链表;
- 三数之和和目标值的最近值;
- 矩阵的路径、最长递增路径;
- 连续数组的最大值;
- 最长公共子序列、最长递增子序列;
- 二叉树最低公共祖先;
- 二叉树最大路径和;
二、概率智力题
- 一根绳子断成三截,构成三角形的概率;用画图的方法解决,1/4;
- 5升杯和3升杯,得到4升水;
- 手写三层全连接网络;
- 手写注意力机制代码;
- 77个棋子,每次拿1-5个的必胜策略;
- 6发的手枪,两个子弹连放,第一发没有子弹,问应该转一下还是打下一颗;
- 三十人分成10人A组和20人B组,A组最高大于B组最高的概率;
- N个球,每次摸一个然后放回,问多少次能把所有球都摸一遍,期望值;
- 算法工程师面试题--概率题_ciecus_csdn的博客-CSDN博客
- 面试算法岗的智力题和概率题 - 代码天地
三、算法原理题
- 胶囊网络实现多兴趣;
- YoutubeDNN实现;
- 图模型实现;
- FM特征交叉;
- Attention、Transformer;
- Word2vec;
- Swing、userCF;
四、项目问题
包括算法实现、数据规模、策略逻辑、未来发展方向、工程问题:
- 图过平滑、图稀疏问题:设置稀疏度;
- 降采样问题,随机游走采样;负样本如何选择,正负样本比例如何确定;
- 评估指标,离线、近线、线上;
- 增量更新、实时召回;
- 特征交叉模型;特征如何选择、如何融合、如何处理
- 模型融合问题;
- UserCF和itemCF对比;u2i和i2i对比;
- 胶囊网络原理,计算步骤,self-attentive和动态路由两种方式;
- 召回和排序目标不一致问题;场景对比;
- Word2vec优化思路;
- 近邻检索KNN的原理,hnsw的原理;
- Attention公式,Transformer结构;
- 如何选择优化函数adam、adagrad、学习率等;
- Embedding模型:维度如何选择;
- 用户冷启动和物品冷启动策略;
- 流量爬坡策略和流量分发机制;
- 兴趣探索问题,bandit机制;
- 文本分类算法,原理,实现;
- 图片、视频内容理解算法,原理,实现;
- Swing公式、计算量、计算速度;
- 实时召回的计算量、响应速度;
五、开放性问题
- 针对某个项目难点,有何解决思路;
- 针对行业未来发展,有何看法;
- 觉得自己的项目或者整个公司目前的推荐体系,有何看法、有何不足、如何优化;
六、问面试官的问题
- 部门所做的业务是什么;具体应用场景;
- 偏算法还是偏策略;
- DAU、数据量、团队规模;
- 晋升空间;
七、其他自身相关问题
- 为什么没有继续深造;
- 为什么选择了推荐方向;
- 为什么离职;
- 选择下一家公司最看重什么;