LINUX下多进程编程及网络编程相关知识你真的掌握了???

如果你对以下问题非常感兴趣且自己确实欠缺下面的提问,那么我觉得你可以往下看,我也觉得你必要提升一下自己的核心知识储备。 如果不是,那么本文对你没有什么价值了。就没有必要浪费时间在阅读下去了。

https://segmentfault.com/a/11...
1 什么是ELF文件
2 什么是进程
3 进程内存数据在哪里查看
4 程序启动时先运行哪个函数
5 程序启动时,会传递什么参数给进程
6 Linux终端下启动进程的过程是什么
7 为什么在Linux终端按ctrl+z,ctrl+\,ctrl+c进程就终止了?跟软中断系统有何关系?进程如何屏蔽中断信号?
8 守护进程的实现原理是什么?什么是控制进程?【什么是控制终端】守护进程与终端有何关系?
9 孤儿进程是怎么产生的?产生之外被谁接管了?僵尸进程又是怎么产生的?要怎么解决掉?
10 会话进程与守护进程啥关系?
11 进程的内存布局是什么样的?为什么多进程后,进程间就隔离了?隔离后的结果是什么?
12 创建进程不同的编程语言实现上有什么区别?共同点又是什么?怎么知道共同点?系统在创建新进程时调用哪个函数了?
13 同一个进程有及多进程编程时,如果进程间通信,有什么办法?
14 UNIX SOCKET 和SYSTEM V IPC进程间通信都有什么特色,特别是UNIX SOCKET和IPV4,IPV6的SOCKET有何区别?
15 我用go,python,java,go,nodejs启动我撸的代码时,低层它会先运行哪个函数?为什么?这些函数又是哪里来的?我该怎么查看呢?
16 进程池又是什么东西?有啥好处?进程启动和结束时都做了什么?
17 我启动的服务占用内存特别高,那你是怎么查看当前进程在运行哪个函数?当前进程的状态是什么?当前进程在做什么?你知道吗?怎么查看呢?在代码里打印调试吗?
18 我撸php,python,nodejs的,当我编写一个网络程序时,它们除了语言写法不同之外,是不是调用的系统API都是一样的?
19 你真的掌握了TCP/IP网络编程?粘包,少包啥玩意都知道了? 都知道怎么处理了吗?。。。。。巴拉巴拉一堆。。。
20 我真的知道当我编写网络程序时,各种语言的写法不同,内部系统函数是相同的吗?如果相同的话,那些系统函数的手册我在哪里查看呢?
21 当我的网络程序要接收数据或是发送数据时,除了内部的收发缓冲区之处,我是否要设置自己的应用层收发缓冲区呢?什么时候知道socket可读可写呢?
22 当我多进程编写网络程序时,会不会产生socket惊群呢?怎么解决呢?为什么产生呢?
23 我对HTTP协议是自己实现过呢?还是PPT背过概念应付一下面试呢?
24 我用第三方网络库或是框架如netty,tornado,go,swoole,workerman,libevent...写了聊天程序后或是常规的HTTP API,我真的掌握了网络编程了?实现原理理论掌握还是手写代码掌握了?如果要升级或是增加协议功能我能搞定?
25 我对物联网开发有了解?会用MQTT进行传感器间通信还是自己能实现协议?
26 作为多年经验的码农还是会框架CRUD还是会工具使用,docker,mysql,redis,es,lvs,mycat....各种工具他们运行时低层数据传输来龙去脉我能查看了?能研究它的实现了?他们内部是不是用了SOCKET API啊?既然用了我是否掌握了SOCKET API编程了?
27 自己天天CRUD,总得要操作数据库吧,打印SQL语句要动代码?要装一堆工具监视?要配置一堆日志?有什么办法?
28 如果我要设计一套通信协议,要求传输数据量少,并发性能高出HTTP协议你会怎么做?HTTP协议传输数据量是不是太多了?为什么?是不是你自己亲手实现过了?、
29 网络编程涉及到的阻塞,非阻塞,IO复用,定时,信号,异步,同步,多进程,服务进程化,事件处理模式,并发模式等知识你是否掌握?是理论掌握还是实战了?
30 其它。。。。。。。。。。
不管你是用什么语言,你每天都要撸API接口或是调用API接口,都要把代码放在LINUX服务器上运行,如果你不满足于框架的CRUD,想进一步的掌握和深化自己的能力时,你应该学习一下多进程编程,网络编程,毕竟你使用的MYSQL,REDIS,DOCKER,ES,框架,各种项目应用包括各种高大上的集群,分布式,负载均衡,数据库服务等都离不开SOCKET 编程,当你自己能自己动手掌握并实现后,那么再去看他们封装的框架,库,应用你会有更深入的认识和解决问题的能力。

毕竟你天天在念叨要集群,要分布式,要数据库主从,要集群,要负载均衡,。。。可是这些东西他们的低层依然是依赖于网络编程,没有SOCKET API,各种数据库,各种网络框架,各种应用都无法完成,如果你不满足光会使用,会吹水,还能把以上知识落实到自己的手上。你才算真正的入门了编程。

在这里给需要想提升自己的朋友留个链接给大家康康https://edu.51cto.com/sd/75a3d

你可能感兴趣的:(后端,php,c++,c,swoole)