滴滴 服务端开发实习生 一二面
滴滴 一面
URL 输入浏览器回车,会发生什么
HTTP 报文
HTTP Method 有哪些
手写SQL,是个子查询,大概就是从 A 筛选出一个字段,根据这个字段的值去 B 表查。
手撕算法 * 2,难度 leetcode 中等难度,题目忘了 = =
反问
部门负责的业务具体是什么样子的?
部门使用的技术栈?答:语言是 PHP+Golang,其余的都是很常见的技术,比如MQ、MySQL 之类的。
滴滴 二面
TCP 四次挥手画个图
幂等性是什么?
GET,POST 如何设计你的接口、算法实现幂等性?
TCP 粘包
Redis 的数据结构? 我答:没用过,只用过 MySQL
MySQL 索引、联合索引,MySQL 编码 utf8、utf8mb4
MySQL 引擎 Myisam、InooDB
你做过爬虫,那说说如果保证URL
一定被抓取?答:先抓取时,失败重新抓+布隆过滤器+再可能为了准确性,添加 SQL 去查询对应URL,但感觉面试官不太满意。
设计一个算法:滴滴打车每次有积分,实现一个功能,用户可以查新获得了多少积分,超越 XX% 的用户;
- 答:数据量可能很大,直接遍历可能不太行,我觉得可以搞一个近似算法
- 利用数学的方法,先搞出全数据量或者抽样,搞出一个积分的分布,根据分布的结果,类似正态分布那种 期望值+方差,映射到0-100,作为超越 XX 用户的返回值
手撕算法:给一个数组,里面有若干个零、若干个非零,要求实现算法,使得返回值的0
都在后面,且非零部分相对顺序不变;
要求时间复杂度O(n),空间复杂度O(1)
连写+DEBUG 一共写了 20min... 写完,就面试结束,
反问:
如果通过,大概什么时候能出结果、如果通过了啥时候入职?
答:很快就能知道,一般公司是周二、周四录入。