数据结构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地址写或读数据会发生什么?
答案收录到专栏
全部评论

相关推荐

Mush3r:1. 项目包装一下,比如说“跟某某电网/企业合作,已经实际交付”之类的,这样别人就觉得你至少是个实际的项目不是个玩具项目; 2. 对于 axios 这种工具,不要写“利用”,别人觉得是就是在调包,没什么技术含量,要写“重新封装”,可能实际上就是封装了一些 url 前缀之类的,但是听起来就更高级一点; 3. 结合缓存实现用户登陆,你作为前端是如何实现的?如何鉴权?token 过期如何设置?如何保证非登录用户不能访问页面/请求拦截器?一个都写没,前面这些都是面试会问的问题,但是面试官看了你这句话可能也不知道该问什么; 4. 利用 Vue3,通过 。。。 组件库,又是调包,这种没什么工作量,就是拿过来用一用的就不要往详情里写了,开头总结的时候提一嘴就行了; 后面小程序不怎么懂,不评价了
点赞 评论 收藏
分享
1 7 评论
分享
牛客网
牛客企业服务