linux面试问题汇总

来源:互联网 发布:大连淘宝培训班 编辑:程序博客网 时间:2024/05/22 05:23







    备注1Linux常用命令
2Linux设置环境变量,举例说明
3单例模式,及其线程安全
4打开一个网站的时候,发生了什么
510MB大小的数据排序,有10MB的内存,如何排序
6称重的方法(从100个硬币中找出最轻的那个假币)
7用两种方法(占临时内存最少/最快),写出从字符串里找到某个字符或者莫个字符串出现的所有位置的程序
8如何创建多线程
9多线程如何进行信息交互
10多线程共用一个数据变量需要注意什么
11Http请求的过程与原理
12TCP连接的特点
13TCP连接如何保证安全可靠的
14为什么TCP连接需要三次握手,两次不可以吗,为什么
15AOP的原理
16那么你说说代理的实现原理呗
17什么是线程池?如果让你设计一个动态大小的线程池,如何设计,应该有哪些方法?
18什么是死锁
19数据库中什么是事务?事务的隔离级别?事务的四个特性?什么是脏读,幻读,不可重复读?
20数据库索引的结构有哪些?我说B树和B+树,他说只有这两个吗。我又说全文倒排索引。然后介绍B+树的结构。
21数据库中的分页查询语句怎么写?
22什么是一致性哈希?用来解决什么问题?
23归并排序的过程?时间复杂度?空间复杂度?
24你平常用什么排序?快速排序。说说在那些场景下适用,哪些场景下不适用。
25TCP和UDP分别有什么优缺点?如何改进TCP?
26栈溢出和内存溢出有什么区别?
27给你一万个数,如何找出里面所有重复的数?用所有你能想到的方法,时间复杂度和空间复杂度分别是多少?
28给你一个数组,如何里面找到和为K的两个数?
29什么时候会出现内存泄露?你在实际的项目中有碰到过内存泄露啊?
30close_wait
31time_wait 的作用
32分治策略是什么
33快排退化为冒泡的情况分析
34快排的原理,如何利用的分治策略,实现快排
35快排哪种情况下,不适合使用(数据基本有序),为什么会这样
36面向对象和面向过程的区别(我只回答了面向对象的 封装继承和多态)
37银行家算法
38什么响应状态300、200、500
39cookie
40N * N的方格纸,里面有多少个正方形
41两个数组求交集
42现在下载速度很慢,试从网络协议的角度分析原因,并优化(网络的5层都可以涉及)
43比如两个数组求交集的那个题,讲了hash方法之后,要求对hash做优化,上亿个QQ出现极端的hash冲突怎么办?
44一共憋了三种方法,嵌套哈希,分治,红黑树才放我过去
45按照A、B、...、Z、AA、AB、...、ZZ、AAA 的序列,给出字符串返回序号。二十六进制,说了下思路写出来了。
46给出一个个微信用户的好友关系对,将这些用户分成两组,每组内的用户全都互相不是好友。讲了下思路,面试官说复杂度太高怎么办?想了好久都不知道怎么办,就下一题了。  是图的二着色问题么?不知道大家有什么好的想法
47环形圈内有n个加油站,加油站内的油刚好够跑一圈,给出每个加油站的距离和里面的油量,找到够油跑完一圈的路线。
48C++中的虚函数是怎么实现的
49什么是多态?
50用过外观模式,设计模式
51TCP滑动窗口机制
52TCP拥塞控制机制
53socket模型
54宏、const
55模板
56虚析构
57虚函数实现机制、虚表、虚指针
58vector与list的区别,map是如何实现的,查找效率是多少
59extern 关键字有什么用
60malloc和new的区别,能否malloc(1.2G)
61内存池实现
62进程间通信机制
63Linux ps命令,以及看内存当前使用状态的命令
64进程与线程的区别,共享的数据
65进程的内存空间
66大整数加、减、乘、除、求模运算实现
67找出一个数组中出现一半的数(肯能没有一个数出现过一半)
68很多整数,找其中出现次数最多的那个数
69单链表翻转(两个指针如何实现)、查找、删除、插入
70双链表排序
71有序链表合并(递归)
72判断一个整数是否是2的整数次幂.(n&(n-1))
73二分查找(注意边界条件)
74常见排序算法的实现以及稳定性(快排跟归并考的很多)
75匹配(KMP算法)
76字符串翻转(O(n))
77最长递增子序列(nlogn的算法)
78链表判断是否有环,环的入口,两个链表是否相交(快慢指针)。
79指定一个数组,求2个数的和等于指定的和(某一个数),如果是3,4,5,n个等于个的和(某一个数)呢?(可以看作背包问题)
80跳台阶问题
81红黑树的性质以及插入和删除
82解析XML文件
83千万级的用户,提供一个服务,该服务有很多模块,现在有一个底层模块需要优化,问怎么实现,在不影响其他服务模块以及用户体验的情况下。(面IEG)
84卡特兰数以及公式推导(应多很多)
85未知大小的文件,翻转整个文件
86如果内存中有个cache存储qq号和最近登录时间问怎么样做hit和淘汰
87检测短信敏感词
88大数据问题
89什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
90Linux下如何进行进程调度的?
91常用的hash算法有哪些?
92如何理解分布式锁?
93什么是一致性哈希?
94数据库中的范式有哪些?
95数据库中的索引的结构?什么情况下适合建索引?
96线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?
97同步和异步有什么区别?
98如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建一个线程安全的单例?
99你知道的开源协议有哪些?
100你知道的开源软件有哪些?
101操作系统如何进行分页调度?
102https和http的区别,RSA是什么,数字签名是什么;
103守护、僵尸、孤儿进程这种概念
104select/poll/epoll的区别的时候,这题烂大街的答案就是前两个遍历后者回调,所以后者效率高,我答的更加深一点:select内部是数组实现、poll内部是链表实现,所以select有最大fd限制,poll没有限制(系统资源假设无穷大的话),它俩都有用户态到内核态拷贝的过程,两者的切换和数据拷贝都很消耗性能,而epoll是内部是一棵红黑树,(你要是不懂红黑树就说内部是哈希表,因为epoll以前是哈希表,现在是红黑树,这个点说错了面试官也不会太责罚,他也不一定知道),这个数据结构效率很高,epoll还没有内核和用户态的切换,因为epoll内部采用了共享内存机制,共享内存就这特点。
105Linux软连接,硬链接
106树的LL,LR,RR,RL
107数组中的a={},a,&a,&a[0]等,二维数组
108OS常用的调度算法 FCFS,SPF,HRN等
109promise的状态
110str类函数的自己实现
111process和thread的区别
112单链表快速排序
113Linux启动的过程
114文本处理系列的命令和查找系列的组合命令、find awk sed
115红黑树的实现
116Linux的各类调度算法
117ospf rep 拥塞控制
118大端小端
119不可以重载的运算符
120双链表快速排序
121分布式
122网络字节序是大段
123SNMP的端口是160传输数据161是告警
124TCP和UDP的端口号是独立的
125进程和线程的区别。
126死锁的必要条件,怎么处理死锁。
127Window内存管理方式:段存储,页存储,段页存储。
128 进程的几种状态。
129 IPC几种通信方式。
130什么是虚拟内存。
131虚拟地址、逻辑地址、线性地址、物理地址的区别。
132OSI与TCP/IP各层的结构与功能,都有哪些协议。
133TCP与UDP的区别。
134TCP报文结构。
135 TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。
136TCP拥塞控制。
137TCP滑动窗口与回退N针协议。
138Http的报文结构。
139Http1.1和Http1.0的区别
140Http怎么处理长连接。
141Cookie与Session的作用于原理。
142电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。
143Ping的整个过程。ICMP报文是什么。
144C/S模式下使用socket通信,几个关键函数。
145IP地址分类。
146路由器与交换机区别。
147 队列和栈,出栈与入栈。
148链表的删除、插入、反向。
149字符串操作。
150Hash表的hash函数,冲突解决方法有哪些。
151各种排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定。
152快排的partition函数与归并的Merge函数。
153对冒泡与快排的改进。
154二分查找,与变种二分查找。
155二叉树、B+树、AVL树、红黑树、哈夫曼树。
156二叉树的前中后续遍历:递归与非递归写法,层序遍历算法。
157图的BFS与DFS算法,最小生成树prim算法与最短路径Dijkstra算法。
158 KMP算法。
159排列组合问题。
160动态规划、贪心算法、分治算法。(一般不会问到)
161大数据处理:类似10亿条数据找出最大的1000个数.........等等
162指针数组,数组指针,指针函数,函数指针的区别
163SQL语句:create、delete、update、drop等等
164数据库事务、索引
165SQL的优化、order by的优化
166HTTP和HTTPS的主要区别
167如何设计一个高并发的系统
168Cookie和Session的区别
169两条相交的单向链表,如何求他们的第一个公共节点
170常用的设计模式:单例模式、工厂模式一定要会。单例模式、简单工厂模式、工厂模式、抽象工厂模式、策略模式、观察者模式、组合模式、适配器模式、装饰模式、代理模式、外观模式
171洗牌算法,播放器随机播放音乐的算法设计
172二叉树的遍历方式,前序、中序、后序和层序
173volatile、const、static关键字的使用
174重载的分类
175在浏览器地址栏中输入例如www.baidu.com回车到显示页面,网络中的整个过程
176Linux常用命令及使用的参数
177TCP/IP的11中状态中常见的几种:SYN_SEND、TIME_WAIT、CLOSE_WAIT
178三次握手为啥是三次,四次挥手为啥是四次
179最小堆 插入,删除 编程实现
180实现atoi()函数
181给一个数组,求数组中比平均数大的数字个数。
182矩阵相乘
183构造函数可以调用虚函数吗
184析构函数可以抛出异常吗?为什么不能抛出异常?除了资源泄露,还有其他需考虑的因素吗?
185 c++中类型转换机制?各适用什么环境?dynamic_cast转换失败时,会出现什么情况?(对指针,返回NULL.对引用,抛出bad_cast异常)
186找出链表倒数第k个数(要求使用多种方法)
187洗牌算法,如何证明算法是随机的
188100万个32位整数,如何最快找到中位数。能保证每个数是唯一的,如何实现O(N)算法?
189b树/b+树
190socket api
191网络通信模型
192使用C语言实现C++的特性
193结构体对其
194linux的stack有多大,为什么
195HASH
196数据元素去重
197素数、水仙花数、回文串等等概念
198心跳包
199STL中常见容器的底层实现的数据结构是什么
200涂色问题
2011000瓶液体中有一瓶有毒的,最少多少老鼠可以判断出那个有毒(最少10只,考虑二进制处理)
202链表删去指定值的节点
203两个栈实现队列
204红黑树的特点
205template
206算法中的时间复杂度和空间复杂度计算
207IPC中最快的、可以跨进程的
208找出一个数组中最大或者最小的K个数
209大数相加相减
210各种二叉树

































原创粉丝点击