数据结构40题
1. 栈和队列的特点和应用场景?
2. 数组和链表的优缺点?
3.队列、栈和二叉树的基本概念。
4. 3种常见的排序算法。
5. 链表有哪几种类型?如何操作删除一个双向链表的结点?
6. 判断一个链表是否有环。
7. 找到链表环的入口结点,并输出。
8. 输出一个二叉树的深度。
9. 在什么样的场景下会选择不同的数据结构?
10. 实现链表找环、小于n的质数、二叉树前序遍历(递归和非递归)。
11. 实现单向链表的排序。
12. 实现快速排序算法。
13. 页面置换算法有哪些?各自的特点是什么?
14. 一个硬件计数器控制系统,实现设置触发时间和取消任务的功能。
15. 设计一个存储IP地址和天气信息的文件,并快速查找某个IP地址的天气信息?
16. 判断计算机的字节序(大端/小端)。
17. 实现"数猴王"算法。
18. 实现IP地址分割(LeetCode 93)。
19. 实现链表的插入操作。
20. 如何用两个栈实现一个队列?
21. 实现字符串查找子字符串的功能。
22. 实现求素数的功能。
23. 实现宏定义交换两个数、把数字转换为字符串、判断程序正确性。
24. 如何判断一台计算机是大端还是小端存储?
25. 什么是内存对齐?为什么需要内存对齐?
26. 进程和线程的区别是什么?
27. 介绍进程和线程的同步机制。
28. 什么是优先级反转和优先级继承?
29. 为什么内核区要放在虚拟内存的高位地址?
30. 自旋锁的底层实现原理是什么?为什么自旋锁不能睡眠?
31. 内核同步有哪些方式?
32. 如何避免多个线程抢占共享资源?
33. 互斥锁的原理是什么?
34. 如果有一个线程长时间占用资源,会发生什么?如何解决?
35. 操作系统的基本组成是什么?
36. 内核态和用户态有什么区别?
37. 操作系统为什么需要缓存机制?
38. 在什么情况下会发生进程调度?
39. 操作系统如何管理物理地址?
40. 向0地址写或读数据会发生什么?
答案收录到专栏
2. 数组和链表的优缺点?
3.队列、栈和二叉树的基本概念。
4. 3种常见的排序算法。
5. 链表有哪几种类型?如何操作删除一个双向链表的结点?
6. 判断一个链表是否有环。
7. 找到链表环的入口结点,并输出。
8. 输出一个二叉树的深度。
9. 在什么样的场景下会选择不同的数据结构?
10. 实现链表找环、小于n的质数、二叉树前序遍历(递归和非递归)。
11. 实现单向链表的排序。
12. 实现快速排序算法。
13. 页面置换算法有哪些?各自的特点是什么?
14. 一个硬件计数器控制系统,实现设置触发时间和取消任务的功能。
15. 设计一个存储IP地址和天气信息的文件,并快速查找某个IP地址的天气信息?
16. 判断计算机的字节序(大端/小端)。
17. 实现"数猴王"算法。
18. 实现IP地址分割(LeetCode 93)。
19. 实现链表的插入操作。
20. 如何用两个栈实现一个队列?
21. 实现字符串查找子字符串的功能。
22. 实现求素数的功能。
23. 实现宏定义交换两个数、把数字转换为字符串、判断程序正确性。
24. 如何判断一台计算机是大端还是小端存储?
25. 什么是内存对齐?为什么需要内存对齐?
26. 进程和线程的区别是什么?
27. 介绍进程和线程的同步机制。
28. 什么是优先级反转和优先级继承?
29. 为什么内核区要放在虚拟内存的高位地址?
30. 自旋锁的底层实现原理是什么?为什么自旋锁不能睡眠?
31. 内核同步有哪些方式?
32. 如何避免多个线程抢占共享资源?
33. 互斥锁的原理是什么?
34. 如果有一个线程长时间占用资源,会发生什么?如何解决?
35. 操作系统的基本组成是什么?
36. 内核态和用户态有什么区别?
37. 操作系统为什么需要缓存机制?
38. 在什么情况下会发生进程调度?
39. 操作系统如何管理物理地址?
40. 向0地址写或读数据会发生什么?
答案收录到专栏
c++/嵌入式面经专栏-牛客网
https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fcreation%2Fmanager%2FcolumnDetail%2FMJNwoM
全部评论
相关推荐
08-28 12:16
四川轻化工大学 前端工程师 ![](https://static.nowcoder.com/head/41m.png)
点赞 评论 收藏
分享
点赞 评论 收藏
分享