转载声明:文章来源https://www.nowcoder.com/feed/main/detail/9bbaf3bb3e3b4f68b0855a438185ed86
1. 知道测试开发是干嘛的吧?
2. 你觉得他的普通测试有区别?
3. 对自己比较有挑战性的一件事情或者难度比较高的事情,最终自己通过样的方式把它解决的?
4. 为什么会觉得比较难?你是通过样的方式去解决的? 还是说你盯着你的导师去问?还是说找业务方去问?
5.你刚提到你学生时期去做***的时候有接触过一些数据库,就数据库方面除了块有有做一些别的事情?
6.那我问你比方说你发现你的后端接口返回延迟很高,你就假设它是数据库问题,但是你一开始不知道,你能通过什么样的方法定位?
7.怎么排查是网络延迟原因?
8.导致网络延迟的原因是哪些?还有没有其他的网络延迟?
9. 你是怎么判断是代码写的问题导致的?
10.日志时间的打点记录都是自己带的是吧?
11.那除了从日志看,还能想到呢?
12.链路追踪怎么看?
13.直接看源码你怎么发现问题?那虽然肯定能看出,就你怎么定位到我该看哪个函数呢?
14. socket他发消息同步的,收消息也是同步的。那epoll解决的是怎么解决同步收发的问题?
15. 回到我同步收发问题。你要解决他。很容易想到你,你比如说用协程也好,用线程也好,你把它变成异步,就比如说我发的时候丢掉线程池里去发,线程就比较发送线。
那我输的时候,到另外线程去时候就知道接收线程,那epoll的时候,其实不需要两个线程。那他是怎么做到?
16.事件就绪的时候,epoll是怎么知道是哪个fd?超时以后是删除事件还是跳过事件?
算法题
1. 设计循环队列,它的对列有个最大长度。实现叫入队的操作,出队的操作。可以超超过队的长度,你就循环回来,从头部开始覆盖
2. 这个队列是否有线程安全的问题?
3. 改成单例模式
反问,结束,总时长50分钟
帖子还没人回复快来抢沙发