深信服Go语言开发一面复盘
1.自我介绍
2.介绍项目:使用场景、怎么实现的
3.Go语言相关:
你认为go语言的的特点是什么,为什么要用go来写
协程和线程的区别
进程和线程的区别
进程间通信方式:socket忘记了,面试官指出来的,并问我有没有对具体过程研究过,没有回答上来
通道channel的特点,提问当一个消费者一个生产者用一个通道进行通信时,谁先关闭这个通道(没有回答上来)
问channel的三种状态
rpc、grpc的相关内容:具体机制了解吗,(我只回答上了其特点啥的)
算法题:问有没有对数据结构、算法有所了解
数组和链表的各自特点:简单说了下数组的随机访问性、删除和增加元素的各自特点
快速排序的实现思路
手撕快排实现,并构造测试用例,运行
然后对快排中的一些点进行拔高提问:
- 快排中的两次递归调用是否可以互换位置
- partition当中的两个for循环是否可以互换位置,如果换了,怎么修改使之仍能正确运行
- 快排是稳定的排序算法吗?如何确定它是不是稳定的
- 快排是属于深度优先类还是广度优先类的