[校招面试]兴趣知识扩展汇总

平时林林星星给大家说的一些兴趣知识点,绝大部分童鞋都做的比较好,也做了较全面和深入的总结汇总,并及时分享到讨论群里,这也是我们一直鼓励和引导的学习氛围,赠人玫瑰手留余香也是这个道理。

为了帮助更多备战校招和实习生,春招等在校大学生们,这里简单汇总一下《剑指BAT》的兴趣作业。当你寒假玩累了,可以match几个去扩展自己的知识面。

1.负载均衡是什么?有哪些类型,作用是什么?(推荐Nginx、Haproxy、LVS)

2.TCP建立链接为什么要三次握手?两次握手为何不行?而断开链接需要四次辉手?

3.TCP建立链接的数据包交互流程, 状态, 拥塞控制和滑动窗口的实现,建议深入探究一下超时重传机制,看下内核如何在高负载时依然能处理大量数据包?

4.accept函数的实现是否有惊群效应?如果有原因是什么,怎么解决?(推荐看下Nginx如何解决惊群)

5.TCP 连接编程中的系列函数(socket、bind、listen、accept、connect、send/write、recv/read、close/shudown)哪些是阻塞的,哪些是非阻塞的,为何这么设计和实现?listen和 accept 的内核实现是什么?

6.多线程编程 线程游离态 信号量 锁

7.网络相关基本命令,如wget、curl、netstat、ss、tcpdump、route等命令的实现

8.CDN加速

9.视频缓存文件 视频是如何高效传输的?

10.Cookie和Seesion是什么,怎么实现?

11.移动端代理服务器 和 PC端代理服务器

12.千兆网卡和万兆网卡是什么,如何检测流量?

13.异构网络

14.netstat 命令   netstat -anl|greep 4000

15.ss 命令

16.跳跃表 压缩链表 字典树 B+Tree  红黑树

17.try_lock和lock的底层实现(原子指令如何实现)

18.无锁队列(CAS)是什么,有哪些运用场景

19.netstat -anl | grep 8080 查看8080端口的连接信息 只有服务器才处于listen状态

20.du df  top ps kill pkill killall strace 

21.C语言代码异常捕获的实现方法

22.C语言多态的实现方法

23.CPU调度算法有哪些,各自适用场景和优缺点是什么?CFS的原理和实现是什么?

24.CPU绑定 将某一个进程和某个CPU或某个范围的CPU进行绑定(taskset、nice、renice、nohup)

25.关系型数据库 SQL(Structure Query Language)MySql Oracle

      分布式数据库 NoSQL(Not Only SQL) 使用与存储大数据(一个属性可以存一个GB数据)

26.SMP 对称多处理器

27.海量数据常规处理方案有哪些

28.MMU 虚拟地址 线性地址 逻辑地址 物理地址

29.MVCC(+无锁队列 + 协程 = 双十一)CAP

30.raid 磁盘阵列

31.Fuse打造自己的文件系统(推荐淘宝的文件系统TFS)

32.进程通信机制的实用场景和优缺点

33.常见信号的作用,如, SEGV:  CHLD:子进程意外退出,通知父进程  HUP:  INT:  QUIT:  TRAP:  ABRT:

34.ps -efL 查看进程下的线程

35.如何生产孤儿进程, 僵尸进程, 守护进程?孤儿进程和僵尸进程对系统有何危害,如何预防?

36.sleep 100 & 后台进程 不会被进程打扰,除非有信号传递过来sleep 100 前台进程 很容易会打断 终止(相关命令  &、ctrl+z、fg、bg)

37.sleep(10):睡眠的进程还在使用CPU???

38.ulimit -a 8K 默认用户进程的栈大小 创建进程会多压4k的栈????

39.brk  malloc  realloc mmap

40.读取一个文件的全过程(了解文件系统核心概念和数据结构组织关系)

41.du -h

42.如何以最快速度生成一个2GB文件,有哪些实现方式

43.如何实现多用户视频快进/快退?

44.线程栈

45.ipcs 管道相关   消息队列 redis

46.阿里实现了自己的文件系统TFS 核心技术是Fuse  

47.事务一致性  一个原子操作  例如修改用户名和密码 保证用户名密码要么写入数据库 要么不写入 

48.stat 文件  :可以查看文件所有重要属性

49.任务分发算法:负载均衡里面

50.百万服务器如何创建一个全局变量

51.服务器架构 如何维持一个有状态的任务

52.在同一IP Port 发起不同的TCP连接上限是多少个?65536个端口到底怎么理解?为何需要这么多端口?同一个port能绑定到不能ip吗

53.内核accept消息交付

54.destory_lock在内核中的工作原理

55.同一互斥锁能否多次destory

56.跳跃表 数据查找 压缩链表

57.#ifdef  #endif  跨平台

58.tcmalloc ptmalloc jmalloc

59.绿色线程

60.pthread_cancel作用

61.CAS(compare and swap)

62.读写锁

63.进程间通信的三种方式:管道,消息队列,共享内存

64.用户态向内核态切换 发生了哪些事情

65.为什么有血缘关系的进程之间可以传递文件描述符

66.gdb如何修改栈里面的数据?内核握为什么不报段错误

67.内存泄漏 内存溢出

68.malloc实现过程,发生oom错误时系统做了什么(推荐oom kill、oom_badness、oom_score

69.io高级函数之零拷贝:tee,splice,sendfile

70.copy_from_user/copy_to_user的实现,从而深刻了解进程上下文切换带来的开销

71.脏页

72.MongoDB 存储引擎 mmapv

73.malloc 和 free 的具体实现

74.slab、buddy算法

75.dd;free;sync;free;od 命令

76.守护进程 等特殊进程的作用

77.python全局锁

78.黑洞文件(/etc/null   /etc/zero)

79.swap命令

80.umask

81.预加载

82.状态机

83.伙伴系统

84.软连接 和 硬连接

85.strace 可执行文件 查看Linux命令执行路径

86.printf 的内部实现

87.继承、虚继承

88.虚指针、虚表,动态多态和编译多态

89.重载 重写 显示调用

90.自旋锁

91.struct结构体占据内存的大小的各种计算(结合不同类型的变量和关键字去总结)

92.truncate命令

93.RCU锁,读写锁,文件锁,排他锁,意向锁,CES无锁,乐观锁,悲观锁

94.File_struct fs_struct  namespace(资源隔离)

95.预读原理

96.close(fd)只是relase(fd) 导致fd延迟释放     shutdown

97百万文件系统 缓存是受限的 如何保证文件的快速访问

98.DMA设备工作原理

99.同名函数在c语言中是如何处理的,C语言函数编译的方式有哪些,又是如何运行的?

100.内核进程是如何启动的?

101.dd;free;sync;free;

102.网络核心API理解

103.DNS:虚拟IP DNS查询算法

104.openssh openssl

105.HTTP1.1协议的重大改变有哪些

106.C语言中,在main函数运行之前能否运行函数,main函数之后呢?

107.so_reuseport、so_reuseaddr

持续更新中……

    原文作者:batbattle
    原文地址: https://www.jianshu.com/p/d6c08e1001d1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞