网易有道 嵌入式面经
8.15晚上 网易有道一面 凉
1、先讲讲你做的项目
2、共享资源如何避免多个线程抢占,有什么方法(线程运行状态)
3、线程锁
4、如何在中断里面等待数据准备完成
5、Linux相关知识
6、数据库(本人不会就没深入)
7、修改一段代码(指针相关)例如在函数中申请的指针如何拿到主函数中使用 本人复习没过关,没做出来
8、手撕--数猴王
附上代码
#include <iostream>
using namespace std;
struct node{
int data;
node *next;
};
node *head,*end1;
void mk_creat(int n)
{
//int index=1;
node *temp1,*temp2;
temp1 = new node;
temp1->data = 1;
temp1->next = NULL;
head = temp1;
temp2 = temp1;
for(int i=2;i<=n;i++)
{
temp1 = new node;
temp1->data = i;
temp2->next = temp1;
temp2 = temp1;
temp1->next = NULL;
}
end1 = temp2;
end1->next = head;
}
void select_monkey(int key_value)
{
int x=0;
node *temp1,*temp2;
temp2 = end1;
while(temp2!=temp2->next)
{
temp1 = temp2->next;
x++;
if(x%key_value==0)
{
//cout << temp1->data << " " ;
temp2->next = temp1->next;
delete temp1;
temp1 = NULL;
}
else
{
temp2 = temp1;
}
}
head = temp2;
}
int main(){
mk_creat(30);
cout<<"ok"<<endl;
select_monkey(7);
cout << head->data;
delete head;
return 0;
}
