以下要求为linux C/C++ 后台开发的技能树,除了基本的编程语言以及编程能力外,强调的主要是操作系统和计算机网络知识(传输层TCP,UDP)理论知识,以及Linux环境基本技能,有一些比较偏运维。
核心技能就是Linux POSIX API的调用。
对于非科班来说,这一部分知识略显枯燥,一般通过阅读开源项目,和写小demo自学。
一、操作系统方面
- 多线程相关与线程之间同步技术
- 熟练使用(但不局限于)以下linux API
linux下的线程创建、等待、获取线程id
- 常见线程之间的同步技术(何时该用那种技术)
以上为POSIX 线程 API
以上为互斥锁的API,互斥锁再访问临界资源时使用。
以上为信号量的API
条件变量相关API
以上为线程以及线程间同步相关API函数,其中理论知识在面试中会问到,在实际Linux服务器开发中,
其中守护进程是在linux后台创建的进程。
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行。
这个命令偏运维。
top命令用于实时显示进程的动态。
Linux系统中的 iostat命令可以对系统的磁盘IO和CPU使用情况进行监控。iostat属于sysstat软件包,可以用yum -y install sysstat 直接安装。
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
以上要求比较偏运维。
tcpdump是linux平台下的抓包工具。