笔试面经
===
**回答一个面试问题的基本要点**
- 是什么、
- 为什么(动机)、
- 怎么做(原理)、
- 使用场景、
- 一些细节(如果使用过的话)
Reference
---
- [BAT机器学习面试1000题系列(第1~305题)](https://blog.csdn.net/v_JULY_v/article/details/78121924) - CSDN博客
笔试
---
- [字节跳动 180812](./笔试-字节跳动-180812.md)
Index
---
<!-- TOC -->
- [头条/字节跳动-深度学习/NLP 方向](#头条字节跳动-深度学习nlp-方向)
- [一面](#一面)
- [二面](#二面)
- [三面](#三面)
- [四面(非加面)](#四面非加面)
- [今日头条-算法工程师-实习](#今日头条-算法工程师-实习)
- [一面](#一面-1)
- [二面](#二面-1)
- [三面](#三面-1)
- [2019 美团 AI - NLP 提前批](#2019-美团-ai---nlp-提前批)
- [一面(NLP平台)](#一面nlp平台)
- [一面(广告平台)](#一面广告平台)
- [二面(广告)](#二面广告)
- [拼多多 180722 笔试](#拼多多-180722-笔试)
- [1. 数组中的最长山谷](#1-数组中的最长山谷)
- [2. 字符串构造](#2-字符串构造)
- [3. 到达指定位置](#3-到达指定位置)
- [4. 靓号](#4-靓号)
<!-- /TOC -->
## 头条/字节跳动-深度学习/NLP 方向
### 一面
- 自我介绍
- 聊项目
- 深度学习基本问题
- 【算法】手写 K-Means
> 磕磕绊绊算是写出来一个框架,内部细节全是问题,面试官比较宽容,勉强算过了
### 二面
- 自我介绍
- 聊项目
- 深度学习基本问题
- 【算法】找数组中前 k 大的数字
> 我说了两个思路:最小堆和快排中的 partition 方法;让我选一个实现,我选的堆方法,然后又让我实现调整堆的方法
### 三面
- 自我介绍
- 为什么会出现梯度消失和梯度爆炸
- 分别说了下前馈网络和 RNN 出现梯度消失的情况
- 有哪些解决方法
- 因为提到了残差和门机制,所以又问
- 分别说下它们为什么能缓解梯度消失
- 因为说残差的时候提到了 ResNet,让我介绍下 ResNet(没用过,随便说了几句)
- 其他加速网络收敛的方法(除了残差和门机制)
- 我从优化方法的角度说了一点(SGB 的改进:动量方法、Adam)
- 提示我 BN,然后我就把 BN 的做法说了一下
- 然后问 BN 为什么能加速网络的收敛(从数据分布的角度随便说了几句)
- 传统的机器学习方法(简历上写用过 GBDT)
- 简单介绍下 XGBoost
- CART 树怎么选择切分点(基尼系数)
- 基尼系数的动机、原理(不会)
- 【算法】直方图蓄水问题
> LeetCode [42. 接雨水](https://leetcode-cn.com/problems/trapping-rain-water/description/);
>> 当时太紧张没想出 `O(N)` 解法,面试一结束就想出来了,哎
- 附 AC 代码
```C++
class Solution {
public:
int trap(vector<int>& H) {
int n = H.size();
vector<int> dp_fw(H);
vector<int> dp_bw(H);
for(int i=1; i<n; i++) // 记录每个位置左边的最高点
dp_fw[i] = max(dp_fw[i-1], dp_fw[i]);
for(int i=n-2; i>=0; i--) // 记录每个位置右边的最高点
dp_bw[i] = max(dp_bw[i+1], dp_bw[i]);
int ret = 0;
for (int i=1; i<n-1; i++) // 取两侧较矮的点
ret += min(dp_fw[i], dp_bw[i]) - H[i];
return ret;
}
};
```
### 四面(非加面)
> 因为流程出了问题,其实还是三面
- 【算法】和为 K 的连续子数组,返回首尾位置
> LeetCode [560. 和为K的子数组](https://leetcode-cn.com/problems/subarray-sum-equals-k/description/)
>> 很熟悉的题,但就是没想出来;然后面试官降低了难度,数组改成有序且为正整数,用双指针勉强写了出来;但是边界判断有问题,被指了出来;然后又问无序的情况或者有负数的情况能不能也用双指针做,尬聊了几分钟,没说出个所以然。
- 如何无监督的学习句子表示
- 我说 Self-Attention
- 让我把公式写出来,因为写的不清楚,让我写原始的 Attention
- 然后问怎么训练,损失函数是什么(没说出来,除了词向量我基本没碰过无监督任务,而且我认为词向量也算不上无监督...)
- 如何无监督的学习一个短视频的特征表示
- 抽取关键帧,然后通过 ResNet 等模型对每一帧转化为特征表示,然后对各帧的特征向量做拼接或者直接保存为二维特征(瞎说的,别说视频,我连图像都没做过)
## 今日头条-算法工程师-实习
> [6.14今日头条算法工程师实习生](https://www.nowcoder.com/discuss/84462?type=2&order=0&pos=11&page=1)_笔经面经_牛客网
### 一面
1. 自我介绍;
1. 二分查找;
> Algorithm_for_Interview/常用子函数/[二分查找模板.hpp](https://github.com/imhuay/Algorithm_for_Interview-Chinese/blob/master/Algorithm_for_Interview/_utils工具函数/二分查找模板.hpp)
1. 判断链表是否有环;
> Algorithm_for_Interview/链表/[链表中环的入口结点.hpp](https://github.com/imhuay/Algorithm_for_Interview-Chinese/blob/master/Algorithm_for_Interview/链表/链表中环的入口结点.hpp)
1. 将数组元素划分成两部分,使两部分和的差最小,数组顺序可变;
> Algorithm_for_Interview/查找与排序/[暴力搜索_划分数组使和之差最小.hpp](https://github.com/imhuay/Algorithm_for_Interview-Chinese/blob/master/Algorithm_for_Interview/查找与排序/暴力搜索_划分数组使和之差最小.hpp)
1. 智力题,在一个圆环上随机添加3个点,三个点组成一个锐角三角形的概率;
> ../数学问题/[#1](../数学/README.md#1-在圆环上随机选取-3-个点这-3-个点组成锐角三角形的概率)
1. 推导逻辑斯蒂回归、线性支持向量机算法;
> ../机器学习/[逻辑斯蒂回归推导](../机器学习/README.md#逻辑斯蒂回归推导)
>
> ../机器学习/[线性支持向量机推导](../机器学习/README.md#线性支持向量机推导)
### 二面
1. 在一个圆环上随机添加3点,三个点组成一个锐角三角形的概率;
1. 用积分计算上述概率;
1. 用程序解决上述问题
> 多次采样求概率,关键是如何判断采样的三个点能否构成锐角三角形,不同的抽象会带来不同的复杂度。
> 最直接的想法是,根据边长关系,此时需要采样三个 x 坐标值,相应的 y 坐标通过计算得出,然后计算三边长度,再判断,循环以上过程,计算形成锐角的比例。
> 更简单的,根据 [../数学/#1](../数学/README.md#1-在圆环上随机选取-3-个点这-3-个点组成锐角三角形的概率) 中提到的简单思路,原问题可以等价于“抛两次硬币,求两次均为正面的概率”——此时,只需要采样两个`(0, 1)`之间的值,当两个值都小于 0.5 意味着能构成锐角三角形。
1. 深度学习,推导反向传播算法,知道什么激活函数,不用激活函数会怎么样,ROC与precesion/recall评估模型的手段有何区别,什么情况下应该用哪一种?深度学习如何参数初始化?
> ../深度学习/[反向传播算法](../深度学习/README.md#反向传播算法)
>
> ../深度学习/[激活函数](../深度学习/README.md#激活函数)
>
> ../深度学习/[参数初始化](../深度学习/README.md#参数初始化)
1. 介绍kaggle项目,titanic,用到了哪些框架,用到了哪些算法;
### 三面
1. 自我介绍;
1. 分层遍历二叉树,相邻层的遍历方向相反,如第一层从左到右遍历,下一层从右向左遍历;
1. 介绍AdaBoost算法;
1. 介绍梯度下降,随机梯度下降
> ../深度学习/[
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
整理个人在人工智能工作中的日常学习笔记_NLP-LearningNotes.zip (1043个子文件)
面向对象-不通过继承实现多态-动态序列.cpp 2KB
Dockerfile 408B
seq2seq-attention.gif 1.23MB
contours_evaluation_optimizers.gif 893KB
saddle_point_evaluation_optimizers.gif 714KB
arbitrary_padding_no_strides.gif 466KB
full_padding_no_strides.gif 425KB
arbitrary_padding_no_strides_transposed.gif 315KB
padding_strides_odd_transposed.gif 297KB
full_padding_no_strides_transposed.gif 280KB
same_padding_no_strides.gif 270KB
padding_strides_transposed.gif 266KB
same_padding_no_strides_transposed.gif 208KB
no_padding_strides_transposed.gif 193KB
no_padding_no_strides_transposed.gif 161KB
conv_no_padding_no_strides_transposed.gif 161KB
conv_dilation.gif 122KB
dilation.gif 122KB
padding_strides_odd.gif 119KB
padding_strides.gif 116KB
Insertion-sort-example-300px.gif 90KB
no_padding_strides.gif 44KB
no_padding_no_strides.gif 37KB
个人学习笔记.iml 453B
test_layer.ipynb 25KB
数据清洗与特征处理.jpg 103KB
single_qa.jpg 71KB
seq2seq-text.jpg 42KB
门卷积.jpg 32KB
《深度学习》整理.md 108KB
题解-剑指Offer.md 107KB
A-机器学习算法.md 48KB
专题-B-动态规划.md 45KB
专题-B-双指针.md 44KB
B-深度学习的核心.md 40KB
专题-A-数据结构.md 38KB
B-微积分的本质.md 37KB
D-视觉问答-1_综述.md 34KB
A-深度学习基础.md 26KB
B-专题-词向量.md 25KB
专题-C-排列组合.md 24KB
Cpp-C-左值与右值.md 22KB
B-专题-RNN.md 18KB
A-自然语言处理基础.md 18KB
B-专题-CNN.md 17KB
题解-LeetCode.md 17KB
C-专题-优化算法.md 17KB
Cpp-A-基础.md 17KB
专题-C-洗牌、采样、随机数.md 16KB
A-机器学习实践.md 14KB
性能优化的方法.md 14KB
README.md 13KB
B-专题-句嵌入.md 13KB
A-机器学习基础.md 12KB
专题-A-字符串.md 10KB
单机多GPU计算.md 10KB
信息熵、联合熵、条件熵、互信息.md 10KB
D-专题-序列建模.md 9KB
专题-A-数据结构_Advanced.md 9KB
tensorflowserving服务方式.md 8KB
C-专题-集成学习.md 8KB
A-综述.md 7KB
docker部署tensorflow模型.md 7KB
Transformer-XL解读.md 6KB
笔试-滴滴-180918.md 6KB
A-NLP发展趋势.md 6KB
笔试-字节跳动-180812.md 6KB
专题-C-区间问题.md 5KB
TF-IDF的前世今生.md 5KB
gitflow.md 4KB
meta-larning学习笔记.md 4KB
es检索的实现方法.md 4KB
自回归与自编码.md 4KB
笔试-360-180827.md 4KB
shell语言的笔记.md 4KB
备忘-IO模板.md 4KB
备忘-常用子函数.md 4KB
笔试-腾讯-180916.md 3KB
笔试-快手-180910.md 3KB
备忘-必备算法.md 3KB
Flask+gunicorn+nginx部署python.md 3KB
README.md 3KB
Aho-Corasick -AC自动机详解.md 3KB
neo4j的使用.md 3KB
备忘-术语表.md 3KB
Cpp-A-面向对象.md 3KB
哈工大pyltp使用方法.md 3KB
A-概率论.md 3KB
笔试-小米-180920.md 3KB
数据归一化的三种方法.md 3KB
闭包详解.md 3KB
Pytorch的十九种损失函数吐血整理.md 2KB
faiss支持亿万量级的查询.md 2KB
tensorflow的GPU的分布式计算.md 2KB
专题-D-大数运算.md 2KB
备忘-Markdown小技巧.md 2KB
专题-D-海量数据处理.md 2KB
笔试-顺丰-180917.md 2KB
pytorch_多GPU并行.md 2KB
笔试-度小满-180913.md 2KB
共 1043 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
普通网友
- 粉丝: 1127
- 资源: 5293
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 事后修复了 Unicode 文本中的乱码和其他故障 .zip
- 了解 Python 的 A 到 Z.zip
- 为 Pythonista iOS 应用编写的 Python 脚本集合.zip
- PREEvision工具在汽车电子与电气系统设计中的全方位支持
- 汽车制造:ECU软件刷写技术及优化方法提升主机厂生产效率
- stm32f1x必要启动文件.7z
- 三次贝塞尔最小二乘拟-Cubic Bezier Least Square Fitting
- 基因频率的稳定性和遗传特性在自然选择下仿真
- 一本关于 numpy 矢量化技术的开放获取书籍,Nicolas P. Rougier,2017 年.zip
- Office2021 命令式下载和安装工具
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功