Skip to content

Commit a0c735a

Browse files
committed
添加数十道【机器学习】【自然语言处理】【数据结构与算法】面试题
1 parent 2903aac commit a0c735a

File tree

6 files changed

+326
-33
lines changed

6 files changed

+326
-33
lines changed

docs/其它.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,5 +252,93 @@ DDOS攻击是基于DOS攻击的一种特殊形式。攻击者将多台受控制
252252
- [Linux命令大全](https://man.linuxde.net/rm)
253253
- [Linux常用命令大全(非常全!!!)](https://www.cnblogs.com/yjd_hycf_space/p/7730690.html)
254254

255+
## 操作系统加载流程?
256+
257+
- [ ] TODO
258+
259+
## 进程与线程的区别和联系?
260+
261+
- [ ] TODO
262+
263+
## 进程的常见状态?以及各种状态之间的转换条件?
264+
265+
- [ ] TODO
266+
267+
## 静态链接与动态链接的优缺点?
268+
269+
- [ ] TODO
270+
271+
## 死锁?死锁产生的条件?预防、避免死锁的方法?
272+
273+
- [ ] TODO
274+
275+
## 进程间通信的方式?各种方式的区别以及应用场景?
276+
277+
- [ ] TODO
278+
279+
## 线程同步的方式?各种方式的区别?
280+
281+
TODO
282+
283+
## 虚拟内存?使用虚拟内存的优点?
284+
285+
TODO
286+
287+
## Linux下进程的内存布局?
288+
289+
TODO
290+
291+
## 页面置换算法?LRU Cache算法?
292+
293+
- [ ] TODO
294+
295+
## Linux IO多路复用的机制:select,poll,epoll。三种复用机制的区别与联系?
296+
297+
- [ ] TODO
298+
299+
## OSI 7层网络模型中各层的名称及其作用?
300+
301+
- [ ] TODO
302+
303+
## TCP/IP 4层网络模型名称及其作用?
304+
305+
- [ ] TODO
306+
307+
## OSI 7层网络中各层的常见协议以及协议作用?
308+
309+
TODO
310+
311+
## OSI网络模型中工作在各个层次的物理设备以及其作用?
312+
313+
- [ ] TODO
314+
315+
## IP层功能?如何用int型变量保存一个IPv4地址?
316+
317+
- [ ] TODO
318+
319+
## UDP协议:头信息?使用场景?如何使用UDP建立可靠连接?
320+
321+
- [ ] TODO
322+
323+
## http协议:各个版本的区别?http请求头,响应头常用属性?常用状态码及其含义?
324+
325+
- [ ] TODO
326+
327+
## socket编程:服务端,客户端建立TCP连接调用那些函数?分别对应什么状态?
328+
329+
- [ ] TODO
330+
331+
## Linux 常用网络命令的原理:ping, traceroute
332+
333+
- [ ] TODO
334+
335+
## 浏览器中点击一个超链接到显示对应页面的全过程?
336+
337+
- [ ] TODO
338+
339+
## DNS的作用?什么时候使用TCP? 什么时候使用UDP?
340+
341+
- [ ] TODO
342+
255343
## TODO
256344

docs/数据结构与算法.md

Lines changed: 97 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# 数据结构与算法
44

5-
## 排序介绍
5+
## 排序
66

77
**排序的定义**
88

@@ -27,7 +27,7 @@
2727
- **时间复杂度**:对排序数据的总的操作次数。反应当n变化时,操作次数呈现什么规律
2828
- **空间复杂度**:算法在计算机内执行时所需要的存储空间的容量,它也是数据规模n的函数。
2929

30-
## 排序算法
30+
### 排序算法
3131

3232
排序算法可以分成两大类:
3333

@@ -43,7 +43,7 @@
4343
- [`归并排序(merge Sort`](https://github.com/amusi/coding-note/tree/master/Data%20Structures%20and%20Algorithms/sort#mergesort)
4444
- [`快速排序(Fast Sort`](https://github.com/amusi/coding-note/tree/master/Data%20Structures%20and%20Algorithms/sort#fastsort)
4545

46-
## 常见排序算法复杂度
46+
### 常见排序算法复杂度
4747

4848
[![常用排序算法1](https://github.com/amusi/coding-note/raw/master/Data%20Structures%20and%20Algorithms/sort/images/sort_algorithms_1.png)](https://github.com/amusi/coding-note/blob/master/Data%20Structures%20and%20Algorithms/sort/images/sort_algorithms_1.png)
4949

@@ -53,7 +53,7 @@
5353

5454

5555

56-
## 冒泡排序(Bubble Sort)
56+
### 冒泡排序(Bubble Sort)
5757

5858
**基本思想**
5959

@@ -292,7 +292,7 @@ print("BubbleSort: ", array)
292292

293293

294294

295-
## 选择排序(Selection Sort)
295+
### 选择排序(Selection Sort)
296296

297297
**基本思想**
298298

@@ -414,7 +414,7 @@ print("SelectionSort: ", array)
414414

415415

416416

417-
## 插入排序(Insertion Sort)
417+
### 插入排序(Insertion Sort)
418418

419419
**基本思想**
420420

@@ -535,7 +535,7 @@ print("InsertionnSort: ", array)
535535

536536

537537

538-
## 希尔排序(Shell Sort)
538+
### 希尔排序(Shell Sort)
539539

540540
**基本思想**
541541

@@ -702,7 +702,7 @@ print("InsertionnSort: ", array)
702702
- [理解希尔排序的排序过程](https://blog.csdn.net/weixin_37818081/article/details/79202115)
703703
- [图解排序算法(二)之希尔排序](https://www.cnblogs.com/chengxiao/p/6104371.html)
704704

705-
## 堆排序(Heap Sort)
705+
### 堆排序(Heap Sort)
706706

707707
**基本思想**
708708

@@ -811,7 +811,7 @@ c.再将堆顶元素8与末尾元素5进行交换,得到第二大元素8.
811811
- [图解排序算法(三)之堆排序](https://www.cnblogs.com/chengxiao/p/6129630.html)
812812
- [heap-sort](https://www.geeksforgeeks.org/heap-sort/)
813813

814-
## 归并排序(Merge Sort)
814+
### 归并排序(Merge Sort)
815815

816816
**基本思想**
817817

@@ -821,7 +821,7 @@ c.再将堆顶元素8与末尾元素5进行交换,得到第二大元素8.
821821

822822
- [ ] TODO
823823

824-
## 快速排序(Quick Sort)
824+
### 快速排序(Quick Sort)
825825

826826
**基本思想**
827827

@@ -927,7 +927,7 @@ int main()
927927

928928
[quick_sort.py](https://github.com/amusi/coding-note/blob/master/Data%20Structures%20and%20Algorithms/sort/code/quick_sort.py)
929929

930-
```
930+
```python
931931
''' Summary: 快速排序(Quick Sort)
932932
* Author: Amusi
933933
* Date: 208-07-28
@@ -981,6 +981,88 @@ if __name__ == "__main__":
981981
print("QuickSort: ", array)
982982
```
983983

984+
## 查找
985+
986+
- [ ] TODO
987+
988+
### 二分查找
989+
990+
- [ ] TODO
991+
992+
### lower_bound
993+
994+
- [ ] TODO
995+
996+
### upper_bound
997+
998+
- [ ] TODO
999+
1000+
## 分治与递归
1001+
1002+
- [ ] TODO
1003+
1004+
### 逆序对数
1005+
1006+
- [ ] TODO
1007+
1008+
### 大数相加
1009+
1010+
- [ ] TODO
1011+
1012+
### 大数相乘
1013+
1014+
- [ ] TODO
1015+
1016+
## 贪婪算法
1017+
1018+
- [ ] TODO
1019+
1020+
## 动态规划
1021+
1022+
### 背包问题
1023+
1024+
- [ ] TODO
1025+
1026+
### 找零钱问题
1027+
1028+
- [ ] TODO
1029+
1030+
### 最长公共子序列(LCS)
1031+
1032+
- [ ] TODO
1033+
1034+
## 字符串匹配算法
1035+
1036+
### KMP算法
1037+
1038+
- [ ] TODO
1039+
1040+
### BM算法
1041+
1042+
- [ ] TODO
1043+
1044+
### Sunday算法
1045+
1046+
- [ ] TODO
1047+
1048+
## 线性表
1049+
1050+
### 数组
1051+
1052+
- [ ] TODO
1053+
1054+
###
1055+
1056+
- [ ] TODO
1057+
1058+
### 队列
1059+
1060+
- [ ] TODO
1061+
1062+
### 链表
1063+
1064+
- [ ] TODO
1065+
9841066
## 二叉树
9851067

9861068
### 二叉排序树/二叉查找树BST
@@ -1007,10 +1089,6 @@ if __name__ == "__main__":
10071089

10081090
- [ ] TODO
10091091

1010-
## 动态规划
1011-
1012-
- [ ] TODO
1013-
10141092
## 打印螺旋矩阵
10151093

10161094
- [ ] TODO
@@ -1348,6 +1426,10 @@ TODO
13481426

13491427
- [ ] TODO
13501428

1429+
## 青蛙跳台阶
1430+
1431+
- [ ] TODO
1432+
13511433
## BFS和DFS解决最短路径
13521434

13531435
- [ ] TODO

docs/机器学习.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,10 @@ Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练
406406
- [数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)](https://blog.csdn.net/fuqiuai/article/details/79482487)
407407
- [聊聊Adaboost,从理念到硬核推导](https://zhuanlan.zhihu.com/p/62037189)
408408

409+
### GBDT 和 AdaBoost区别
410+
411+
- [ ] TODO
412+
409413
## XGBoost
410414

411415
### 基本原理
@@ -434,7 +438,19 @@ Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练
434438

435439
- [ ] TODO
436440

437-
## K 近邻(KNN)
441+
## LightGBM
442+
443+
### 基本原理
444+
445+
- [ ] TODO
446+
447+
### LightGBM 与 XGBoost 的区别
448+
449+
- [ ] TODO
450+
451+
### GBDT、LightGBM 和 XGBoost 区别
452+
453+
- [ ] TODO
438454

439455
### 基本原理
440456

@@ -1231,9 +1247,7 @@ L2正则化参数
12311247

12321248

12331249

1234-
### 如何防止过拟合和欠拟合?
1235-
1236-
**如何解决过拟合?**
1250+
### 如何防止过拟合?
12371251

12381252
- 数据增广(Data Augmentation)
12391253
- 正则化(L0正则、L1正则和L2正则),也叫限制权值Weight-decay
@@ -1243,8 +1257,11 @@ L2正则化参数
12431257
- 增加噪声
12441258
- Bagging
12451259
- 贝叶斯方法
1260+
- 决策树剪枝
1261+
- 集成方法,随机森林
1262+
- Batch Normalization
12461263

1247-
**如何解决欠拟合?**
1264+
### 如何防止欠拟合?
12481265

12491266
- 添加新特征
12501267
- 添加多项式特征

0 commit comments

Comments
 (0)