w*****e 发帖数: 1050 | 1 sde intern
问简历的,说了十几分钟。
1.recursive 题目。 leetcode 类似题目。不难。
时间,空间复杂度。
2.实现 void Schedule(int64 timestamp, function* to_run) = 0;
多个模块会调用这个function*, 如何实现。
3.fibonacci
为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。
3.设计电梯系统。20层,3个电梯。
估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
求大牛指导如何准备。 |
h******6 发帖数: 2697 | |
w*****e 发帖数: 1050 | 3
不是 两个老美
【在 h******6 的大作中提到】 : 现在intern都要问设计题了?烙印么
|
w********s 发帖数: 1570 | 4 你被黑了吧
schedule实现很复杂的,要你写code,明显还要考你mutex/lock
具体实现,用一个queue来存timestamp+function
然后开一个线程,其中一个loop
每次检查queue的开头时间是不是过了,过了的话,取出来执行func。
schedule就要往那个queue里插入pair
注意你需要一个mutex和一个lock来保护对queue的访问。
【在 w*****e 的大作中提到】 : sde intern : 问简历的,说了十几分钟。 : 1.recursive 题目。 leetcode 类似题目。不难。 : 时间,空间复杂度。 : 2.实现 void Schedule(int64 timestamp, function* to_run) = 0; : 多个模块会调用这个function*, 如何实现。 : 3.fibonacci : 为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。 : 3.设计电梯系统。20层,3个电梯。 : 估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
|
s*******n 发帖数: 305 | |
l*********8 发帖数: 4642 | 6 bless
【在 w*****e 的大作中提到】 : sde intern : 问简历的,说了十几分钟。 : 1.recursive 题目。 leetcode 类似题目。不难。 : 时间,空间复杂度。 : 2.实现 void Schedule(int64 timestamp, function* to_run) = 0; : 多个模块会调用这个function*, 如何实现。 : 3.fibonacci : 为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。 : 3.设计电梯系统。20层,3个电梯。 : 估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
|
m******s 发帖数: 1469 | 7 Bless
【在 w*****e 的大作中提到】 : sde intern : 问简历的,说了十几分钟。 : 1.recursive 题目。 leetcode 类似题目。不难。 : 时间,空间复杂度。 : 2.实现 void Schedule(int64 timestamp, function* to_run) = 0; : 多个模块会调用这个function*, 如何实现。 : 3.fibonacci : 为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。 : 3.设计电梯系统。20层,3个电梯。 : 估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
|
R*******d 发帖数: 13640 | 8 bless
【在 w*****e 的大作中提到】 : sde intern : 问简历的,说了十几分钟。 : 1.recursive 题目。 leetcode 类似题目。不难。 : 时间,空间复杂度。 : 2.实现 void Schedule(int64 timestamp, function* to_run) = 0; : 多个模块会调用这个function*, 如何实现。 : 3.fibonacci : 为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。 : 3.设计电梯系统。20层,3个电梯。 : 估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
|
c********h 发帖数: 330 | |
f*******r 发帖数: 1086 | |
|
|
c*********s 发帖数: 63 | |
b*******7 发帖数: 191 | |
s*******a 发帖数: 501 | |
l*********u 发帖数: 19053 | 14 bless
【在 w*****e 的大作中提到】 : sde intern : 问简历的,说了十几分钟。 : 1.recursive 题目。 leetcode 类似题目。不难。 : 时间,空间复杂度。 : 2.实现 void Schedule(int64 timestamp, function* to_run) = 0; : 多个模块会调用这个function*, 如何实现。 : 3.fibonacci : 为啥不用recursive。分别的时间复杂度。空间复杂度,包含函数栈上的。 : 3.设计电梯系统。20层,3个电梯。 : 估计希望不大了。2、4答的不好。完全没准备过设计题,只刷了算法题。
|
l*****8 发帖数: 206 | |
s******d 发帖数: 424 | 16 是不是需要用priority_queue 保存 pair ,还应该用最小堆
RunSchedule 这样写可以吗
void RunSchedule()
{
while(true)
{
lockqueue.lock();
if(!runningtasks.empty())
{
// get all expired task, save functio* in a queue
// start another thread and pass the queue to it
}
lockqueue.unlock();
sleep(100);
}
}
【在 w********s 的大作中提到】 : 你被黑了吧 : schedule实现很复杂的,要你写code,明显还要考你mutex/lock : 具体实现,用一个queue来存timestamp+function : 然后开一个线程,其中一个loop : 每次检查queue的开头时间是不是过了,过了的话,取出来执行func。 : schedule就要往那个queue里插入pair : 注意你需要一个mutex和一个lock来保护对queue的访问。
|