虾皮 【S&R&A】推荐系统资深工程师,一面
总感觉HR收简历,面试官没有看简历,岗位是做推荐算法的,c++技术栈,我是搞java的,怎么发到c++去了?
问完实习,直接三道算法?
0.实习拷打
1.仔细讲讲go中的协程池?
2.线程池和协程池的实现原理区别?
3.Docker的container和虚拟机有哪些区别?
4.Restful 和RPC,它们的适用场景?
5.Protobuf支持哪些数据结构?
6.在Protobuf中,任意数据用什么表示?
7.Pytorch、TensorFlow、PaddlePaddle,它在那整个模型架构上面,它们分别是处于那一层?
8.RAG相关的经历,是那一段项目?
算法:
1.题目描述
给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。
设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。
任务执行需要真实的时间消耗(使用 std::this_thread::sleep_for 模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回 true;否则返回 false。
输入格式:
第一行:三个整数 n m k,表示任务数(1 ≤ n ≤ 1000)、依赖边数(0 ≤ m ≤ 10000)、最大并发线程数(1 ≤ k ≤ 10)
第二行:n 个整数,第 i 个为任务 i 的执行时间(1 ≤ time ≤ 100)
接下来 m 行:每行两个整数 u v,表示任务 u 是任务 v 的前驱(0 ≤ u, v < n)
输出格式:
输出一个布尔值:true 表示所有任务成功执行完成,false 表示执行失败
 
数据示例
输入:
5 5 3
3 2 4 1 2
0 2
0 3
1 3
2 4
3 4
2.Go 语言 题目描述:实现一个线程池类,支持提交任务10个,每个任务睡眠500ms,固定线程数量N=3、任务队列阻塞。要求线程安全,支持graceful shutdown。
3.给定一个二叉树,请返回一个数组,其中第 𝑖个元素表示第 𝑖层的最大节点值。
        问完实习,直接三道算法?
0.实习拷打
1.仔细讲讲go中的协程池?
2.线程池和协程池的实现原理区别?
3.Docker的container和虚拟机有哪些区别?
4.Restful 和RPC,它们的适用场景?
5.Protobuf支持哪些数据结构?
6.在Protobuf中,任意数据用什么表示?
7.Pytorch、TensorFlow、PaddlePaddle,它在那整个模型架构上面,它们分别是处于那一层?
8.RAG相关的经历,是那一段项目?
算法:
1.题目描述
给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。
设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。
任务执行需要真实的时间消耗(使用 std::this_thread::sleep_for 模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回 true;否则返回 false。
输入格式:
第一行:三个整数 n m k,表示任务数(1 ≤ n ≤ 1000)、依赖边数(0 ≤ m ≤ 10000)、最大并发线程数(1 ≤ k ≤ 10)
第二行:n 个整数,第 i 个为任务 i 的执行时间(1 ≤ time ≤ 100)
接下来 m 行:每行两个整数 u v,表示任务 u 是任务 v 的前驱(0 ≤ u, v < n)
输出格式:
输出一个布尔值:true 表示所有任务成功执行完成,false 表示执行失败
数据示例
输入:
5 5 3
3 2 4 1 2
0 2
0 3
1 3
2 4
3 4
2.Go 语言 题目描述:实现一个线程池类,支持提交任务10个,每个任务睡眠500ms,固定线程数量N=3、任务队列阻塞。要求线程安全,支持graceful shutdown。
3.给定一个二叉树,请返回一个数组,其中第 𝑖个元素表示第 𝑖层的最大节点值。
全部评论 
 相关推荐
查看15道真题和解析