滴滴网约车实习面经
反问技术栈是PHP/Go
- 自我介绍就省了。
- 先问了项目,RPC框架。
- RPC协议和HTTP,TCP的区别
- HTTP作用在哪一层,HTTP作用在哪层,TCP呢,RPC?(后来查资料RPC如果按OSI七层网络模型中是属于会话层,如果按照平常使用的五层网络划分是在应用层)
- TCP主要干哪些事(流量控制,网络拥塞控制,消息重传,滑动窗口);
- 网络中数据包的传输过程,大概从应用程序发送数据包,经过应用层,传输层,网络层,数据链路层,物理层这些的作用讲了一遍。
- 网络分层的好处有哪些?
- 然后开始问一致性HASH算法的实现细节,怎样设计好hash算法,有没有比较节省空间的方法。
- 问了RPC实现哪些功能?SPI机制,动态代理,序列化,Netty网络IO
- 进程和线程的区别?
- 协程呢?进程有哪些东西是线程没有的?PCB?
- 线程结合了JVM中线程私有的区域(虚拟机栈,本地方法栈,程序计数器)说了一下,又说了JMM中对于共享变量的读取,写入。
- 问设计一个数据结构,要求查找O(1)复杂度,且是有序的,这个想了半天没想出来
- 最后开始做题
- 括号匹配(https://leetcode-cn.com/problems/valid-parentheses/)
- 最短路径和(https://leetcode-cn.com/problems/minimum-path-sum/)
目前想到的就这么多了,加油加油!
6.22二面
问你学计网和操作系统哪个成绩高点?
- - 四次挥手的过程
- - Time_wait的作用(两个作用)
- - 说说用过哪些web服务器?Tomcat?Nginx
- - 什么是反向代理,正向代理
- - Nginx的负载均衡算法?ip_hash url_hash 加权,轮询
- - Nginx的惊群效应?(这个真不会)
- - Nginx的限流策略(令牌桶,漏桶)
- - 设计一个限流策略
- - Redis为什么这么快
- - Redis数据结构有哪些
- - Redis的zset底层实现为什么是跳表?
- - MySQL索引数据结构怎么不用跳表?
- - Redis的持久化机制
- - SDS相比于C语言自带的字符串有什么优势(空间预分配和惰性空间释放)
- - 开始操作系统
- - 虚拟地址和物理地址的联系
- - 页式存储和段式存储的区别以及作用
- - IO多路复用(epoll,select的区别)
- - linux零拷贝有哪几种实现方式(mmap,sendfile)
- - 算法题:大数相加
- - 智力题:36匹马,6个跑道,求取出前三名最少跑几次?
反问:算法怎样提高?只能刷题吗?
暂时想到这么多。