研发一面面经
完整信息
本篇目录
📅9.23
项目也拷打了挺多。面试官人还挺好的一直在引导。
1.agent会不会依赖reference,会不会覆盖不到边缘场景?
2.怎么评测召回的准确率的?测试集数量?
3.平台日活量?
4.新的模型出来后怎么适配之前的 agent 项目,那对 agent 设计有什么影响
5.浏览器器输入网址
6.tcp拥塞控制;在当前的网络带宽很大的情况下有什么局限性,需要怎么调整
7.进程在一个地址写了数据,另一个进程在没有共享内内存的情况下能读这个数据吗?应该怎么让另一个读?
8.两个进程希望通过共享内存通信,通信1kb的数据应该要怎么做
9.自旋锁和互斥锁的区别?为什么不都用自旋锁
10.现在给你一个业务场景:有一个接口服务 QPS 比较高,每秒大概 100 个请求进来,需要统计这个接口每秒的总调用次数。架构上是100个工作线程处理请求,另外有一个单独的统计线程负责汇总所有线程的计数,你会怎么设计这个计数结构?如果这个服务是分布式集群部署的,这个计数数据会被频繁修改,同时需要保证分布式环境下的数据一致性,你会怎么调整你的方案?
11.现在有 100 个工作线程,每秒总共会产生一万次请求,其中绝大多数都是调用 config 的 get 方法读取配置,大概每秒有 10000 次读操作,而配置的 update 更新操作频率很低,每十分钟才会执行一次。针对这种典型的读多写少场景,你会怎么设计这个配置模块
12.读写锁的底层实现原理是什么?我们知道传统读写锁在写锁释放后,需要向所有等待的读线程广播唤醒信号,这个广播开销在高并发下会比较明显,有没有比传统读写锁更好的优化方法?
13.如果是在多核 CPU 的架构下,跨 CPU 核心的缓存同步和锁广播开销会更突出,针对这种多核 CPU 之间的广播问题,你会怎么设计优化?
14.那更泛化来讲,针对多线程运行在多核 CPU 的场景,你做并发数据结构设计的核心思路是什么?
15.如果配置的数据大小是不确定的,可能会比较大,你刚才提到的每个线程维护一份配置副本的方案,内存开销会很大,这个问题要怎么解决?
DAG 怎么做拓扑排序,要按顺序列出来,DAG 只有一个入度为 0 和出度为 0 的节点,找图里从入口到出口有多少不同路径?
#秋招面试记录#
本篇目录
当前问题0116
- 01
agent会不会依赖reference,会不会覆盖不到边缘场景?
- 02
怎么评测召回的准确率的?测试集数量?
- 03
平台日活量?
- 04
新的模型出来后怎么适配之前的 agent 项目,那对 agent 设计有什么影响
- 05
浏览器器输入网址
- 06
tcp拥塞控制;在当前的网络带宽很大的情况下有什么局限性,需要怎么调整
- 07
进程在一个地址写了数据,另一个进程在没有共享内内存的情况下能读这个数据吗?应该怎么让另一个读?
- 08
两个进程希望通过共享内存通信,通信1kb的数据应该要怎么做
- 09
自旋锁和互斥锁的区别?为什么不都用自旋锁
- 10
现在给你一个业务场景:有一个接口服务 QPS 比较高,每秒大概 100 个请求进来,需要统计这个接口每秒的总调用次数。架构上是100个工作线程处理请求,另外有一个单独的统计线程负责汇总所有线程的计数,你会怎么设计这个计数结构?如果这个服务是分布式集群部署的,这个计数数据会被频繁修改,同时需要保证分布式环境下的数据一致性,你会怎么调整你的方案?
- 11
现在有 100 个工作线程,每秒总共会产生一万次请求,其中绝大多数都是调用 config 的 get 方法读取配置,大概每秒有 10000 次读操作,而配置的 update 更新操作频率很低,每十分钟才会执行一次。针对这种典型的读多写少场景,你会怎么设计这个配置模块
- 12
读写锁的底层实现原理是什么?我们知道传统读写锁在写锁释放后,需要向所有等待的读线程广播唤醒信号,这个广播开销在高并发下会比较明显,有没有比传统读写锁更好的优化方法?
- 13
如果是在多核 CPU 的架构下,跨 CPU 核心的缓存同步和锁广播开销会更突出,针对这种多核 CPU 之间的广播问题,你会怎么设计优化?
- 14
那更泛化来讲,针对多线程运行在多核 CPU 的场景,你做并发数据结构设计的核心思路是什么?
- 15
如果配置的数据大小是不确定的,可能会比较大,你刚才提到的每个线程维护一份配置副本的方案,内存开销会很大,这个问题要怎么解决?
- 16
DAG 怎么做拓扑排序,要按顺序列出来,DAG 只有一个入度为 0 和出度为 0 的节点,找图里从入口到出口有多少不同路径?