收到快手实习offer,特来回馈一波
字节客户端
一面
析构函数为什么是虚函数
sizeof的用法,所有东西都能计算吗?内存四个分区的不同?
#define和const的区别
静态链接动态链接 动态链接在内存中有多少份拷贝?如何实现的?
堆的建堆时间复杂度 O(n)
内网向外网发送TCP包的过程?外网如何发送数据给内网?
线程同步方法?锁的种类?
蚂蚁金服
一面
进程和线程的区别
图像处理为啥用线程
volatile作用
TCP和UDP的区别,如何提高TCP的吞吐?
算法题:
二叉树最长路径
二面
介绍一下rcnn系列
源码读过吗
做过分布式吗?
了解单机多卡和多机多卡的背景吗
如何对深度学习算法加速的?
算法题:
10G文件数据 每行是k-v结构 k是uint64 v是不超过128字节的字符串 对其进行排序 先按k,k相同按v,kv相同就去重 2G内存
三面
聊项目,比较轻松
美团一面
-
输入URL到显示网页的过程
-
TCP可靠传输 差错重传 ACK 超时应答 校验 等等
-
线程和进程区别 线程同步方式
-
加锁的注意点 临界区小 加锁顺序 别忘记放锁
-
堆栈内存的区别 堆内存比栈内存快?
-
HTTP无状态 怎么有状态? cookies
-
数据库相关
-
操作系统常用操作 vim找字符串
算法题 atoi 不允许使用long
TX后台
一面
-
项目相关
-
进程线程
-
auto效率
-
进程内存布局
-
进程同步方式 对共享内存了解吗
-
智能指针介绍 原理
-
http长连接
-
TCP可靠连接
-
TCP三次握手
-
多路复用IO 什么情况下用select 什么情况下用epoll
-
虚函数原理
算法题 将字符串的空格替换为"%2d" 只允许原址修改,不允许新开辟字符串
二面
-
volatile怎么用
-
网卡收到数据 进程如何接受
-
数据如何写到磁盘
-
挥手为什么是四次 time_wait作用 过多time_wait怎么处理
-
端口数量多少? 单台机器并发数几十万如何做到的?
-
进程线程区别
-
进程间通信 共享内存机制
-
什么时候用多进程 什么时候用多线程
-
线程同步方式
-
进程切换为什么比线程慢 进程要保存什么?
-
一亿个数找中位数
算法题
给一个字符串 统计数字字母和空格的次数 按次数降序输出一个字符串 次数相同的按字典序 小的先输出
三面
-
实现一个string类 构造复制构造赋值析构
-
两个有序链表合并 并翻转
-
54张牌 分三堆 大小王在一堆的概率
- 抛硬币吃苹果 先抛的人有优势?概率是多少
快手异构开发
笔试
-
进制转换 十进制转N进制 AC
-
求int数的平方根 向下取整80% 二分法超过范围
-
两个字符串的公共最长子串 暴力 AC
-
二维矩阵 有1有0 1视为填充 且1上下左右对角线都有1视为连通 求最大连通面积 没做
一面
RCNN系列介绍
梯度下降介绍
GAN网络介绍
GPU结构介绍
CPU/GPU/FPGA分类
如何对网络进行加速
算法题,问我当时笔试题目是没时间做还是没思路,我很诚实的说没思路
二面
Faster-Rcnn 为什么是Faster
GPU结构,为什么GPU矩阵向量运算这么快
介绍画钟项目 数据量 训练细节 如何提高
毕设框架卷积网络加速方式
算法题 atoi