9.1号一天三轮面试,一下午搞定
一面
实习介绍
你实习最大的收获是什么?
日志的技术了解吗?
算法:
- 1000万的数组,找出里面最小的5个树
- 写一棵二叉树,然后求最大深度
数学题: - 50个红球,50个黑球,2个桶来放这100个球,怎么放能够让从桶中取到红球的概率最大?
一给桶放一个红球,其余球都放另外一个桶中
JVM中的垃圾收集器有哪些?
CMS的过程
tcp三次握手和四次挥手过程
Mysql的隔离级别,默认是什么隔离级别?可重复读有什么问题?
乐观锁与悲观锁
一个表有1000万行数据,如何加快增删查改的效率?
首先考虑分库分表,比如垂直分表和水平分表
再考虑sql优化和索引优化
然后是读写分离
Redis持久化
poll与epoll区别? 没注意是select还是eopll,听懂再回答
设计题:自助售货机的设计
对于用户的设计
对于商家的设计
网约车技术是一个大部门,不下500人,负责滴滴所有4轮车的业务
主要语言是Go,php也用一些,java只有支付和大数据等部门使用了
二面
实习介绍
语言的区别? C++,java,python
java如何实现跨平台?
什么是面向过程?什么是面向对象?
面向对象的好处
synchronized和reentrantlock的区别?
操作系统中的死锁
Redis, mysql数据库:
mysql的索引为何要选B+树?
跳表与红黑树
跳表的查询,插入,删除的时间复杂度
key的过期时间怎么实现?
怎么查看sql语句的运行情况?
explain ,select_type字段有哪些?
算法:寻找第k大的数,快速选择算法
反问部门的情况:
这是统一的面试,都是网约车技术这个大部门,里面有很多业务组
分为三层:业务–产品, 中台–登录,验证啥的,云平台
这个部门主要是前两层,并且业务组范围更大,占比更多
主要语言是Go/php,java用的很少
三面
实习介绍,项目介绍,怎么都没有什么技术含量呢
可以早点来实习,了解组的情况,然后再换组比较好
算法:k个数组进行排序,时间复杂度,说过程,面试官的意图不是说时间复杂度,而是整个算法流程