每日30道面经题,提升面试能力

1. TCP和UDP的区别是什么?
2. HTTP、GET、POST的传输过程是什么?
3. 虚拟文件系统的作用是什么?
4. sizeof和strlen的区别是什么?
5. 已知画点函数,如何求出圆心坐标?
6. 已知3个点坐标,如何求出圆心坐标?
7. 一个数组,如何求出堆栈过程可能出现的所有情况?
8. 如何实现归并排序?
9. H264、I、P、B帧的含义是什么?
10. TCP如何保证可靠性?
11. 如何保证一个字节的第二个位为1?
12. C语言有哪些特点?
13. 为什么要使用指针?
14. int和unsigned int有什么区别?
15. 什么情况下使用TCP和UDP?
16. TCP粘包和分包问题是什么?
17. 你有过TCP应用的经验吗?
18. ESP8266 WIFI有几种模式?
19. 你学过哪些数据结构?
20. 你的项目中使用了线程,线程的作用是什么?
21. 你项目的亮点是什么?
22. 什么是波特率?
23. 为什么串口要设置相同的波特率?
24. memcopy函数如何实现?
25. 如何编写一个函数显示文章中最常见的十个单词?
26. 代码规范需要注意哪些事项?
27. 运算符优先级是什么?
28. kmalloc和vmalloc的区别是什么?
29. USB全双工和半双工的区别是什么?
30. 分时系统和实时操作系统的进程调度算法有什么不同?
全部评论

相关推荐

//个人感觉BFS挺简单的,就调用一个函数就行#include <iostream>#include <queue>#include <cstring>//memsetusing namespace std;struct Pos{   int pos;   int t;   Pos(int pos,int t):pos(pos),t(t){}};bool visit[100000];void BFS(int n,int k){    queue<Pos> q;    Pos current(n,0);    q.push(current);    visit[n]=true;        while(!q.empty())    {        Pos cur=q.front();        q.pop();        if(cur.pos==k){             cout<<cur.t<<endl;             break;        }                        for(int i=1;i<=3;i++)        {            Pos nextpos(0,0);//必须要初始化            if(i==1){                nextpos.pos=cur.pos-1;                nextpos.t=cur.t+1;            }            else if(i==2){                nextpos.pos=cur.pos+1;                nextpos.t=cur.t+1;            }            else            {                nextpos.pos=cur.pos*2;                nextpos.t=cur.t+1;            }            if(nextpos.pos<0||nextpos.pos>100000||visit[nextpos.pos]==true)            {                continue;            }            q.push(nextpos);            visit[nextpos.pos]=true;        }    }        }int main(){    int m;cin>>m;    int n,k;    for(int i=1;i<=m;i++)    {        cin>>n>>k;        memset(visit,false,sizeof(visit));        BFS(n,k);    } }
点赞 评论 收藏
分享
2 15 评论
分享
牛客网
牛客企业服务