面试

27 篇文章 0 订阅
24 篇文章 0 订阅

一、C语言
1、Linux的内存管理机制

2、C程序编译运行的五个阶段
预处理,编译,链接
gcc -i
gcc -s
gcc -c
3、数据类型
1) 整型、浮点型、指针类型、聚合类型
定义数据在内存中占有几个字节,即读取数据时,一次读取几个字节。
聚合类型
2) 类型定义
a) typedef b) #define
3) 常量定义
a) 名字(符号)常量 b) const变量(只读变量)
4) 变量的存储类型、作用域、内存分配方式及链接属性

4、语句
1) if、while、do_while、for、switch_case
2) 语句中的陷阱问题

5、操作符和表达式
1) 操作符(挑选几个容易犯错的操作符)
2) 左值和右值的区别
3) 逻辑移位和算术移位的区别
4) 类型转换(包括隐式转换和强制类型转换)
5) 逗号表达式

6、数组
1) 一维数组和二维数组的定义和初始化
2) 字符数组
3) 常见数组实现的排序算法和数据结构

7、指针
1) 指针、指针变量的概念、定义和初始化
2) 段错误的产生和避免
3) 指针的指针(二级指针)
4) 指针的运算、比较和赋值
5) C中的参数传递(值传递和指针/地址传递)
6) 指针和一维数组、指针和二维数组的结合运用
7) 字符串及常见字符串处理函数、指针数组
8) 指针和字符串的结合运用

8、函数
1) 函数在结构化、模块化设计中的作用
2) 基于栈的函数调用过程
3) 函数的递归调用
4) 可变参数列表

9、结构体和联合体
1) 结构体的声明、结构体变量定义及初始化
2) 结构体指针的使用
3) 结构体的内存地址对齐
4) 结构体在面向对象程序设计中的作用
5) 联合体的声明和定义

10、动态内存分配和高级指针应用
1) C中的变量内存分配方式
2) malloc、calloc和realloc的使用
3) 动态内存分配的常见错误(野指针的避免)
4) 动态数组的实现、结构体和动态内存分配的结合使用
5) 常见的数据结构分类和介绍
6) 函数指针的使用
7) 回调函数机制
8) 转移表(函数指针数组)的使用

11、预处理
1) C编译过程中的预处理阶段
2) 宏定义(带参和不带参)
3) 条件编译
4) 文件包含(重复包含问题)

12、 I/O
1) 流的概念
2) 标准I/O的缓存概念、三种缓存类型
3) FILE结构体介绍
4) 字符输入输出I/O函数
5) 未格式化和格式化行输入输出I/O函数
6) 二进制文件的输入输出I/O函数
7) 文件定位函数

二、系统程序设计
1、Linux系统开发的常见概念
1) linux的启动流程、0号和1号进程的作用
2) linux进程的内存管理
3) 系统调用的概念
4) POSIX标准的概念

2、基本文件的I/O
1) 系统调用I/O不带缓存的概念
2) 文件的创建、打开、读写、定位函数

3、进程
1) 进程的概念、状态和状态切换
2) 进程在内核中创建的数据结构
3) 进程的环境信息获取
4) 子进程的创建fork()
5) 子进程的继承问题
6) 僵尸进程、孤儿进程、守护进程介绍
7) 利用wait()避免僵尸进程
8) 子进程中执行exec函数调用第三方的程序及产生的问题

4、线程
1) 线程的概念及线程在解决并发场合下的作用
2) 子线程的创建、结束,主线程的阻塞等
3) 线程属性(分离属性)
4) 互斥锁解决线程的互斥问题
5) 条件变量解决线程的同步问题
6) 线程信号量解决线程的互斥和同步问题
7) 线程、互斥锁在ATM案例中的使用

5、进程间通信
1、信号的概念、分类、发送
2、信号的注册及信号处理函数
3、管道的概念、分类
4、匿名管道的创建和读写
5、命名管道(FIFO)的创建和读写
6、不完整管道和完整管道的区别
7、System V IPC对象的概念
8、消息队列的概念、创建、发送、接受和控制
9、共享内存的概念、创建、映射、删除、控制
10、进程信号量的概念、创建、操作和控制
11、进程信号量和共享内存结合使用来解决进程的互斥和同步问题
12、进程信号量和共享内存在ATM案例中的应用

6、网络编程
1、服务器和客户机的概念
2、OSI七层网络模型和TCP/IP四层模式的比较
3、协议的概念、作用及各层常见的协议
4、基于TCP协议的编程步骤
5、基于TCP协议的多进程和多线程并发处理
6、基于UDP协议的编程步骤
7、基于UDP协议的广播编程
8、其它服务器并发处理的编程方式(select等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值