1、进程与线程?如何理解线程安全?
(1)内存好比工厂,进程好比工厂内的房间,线程好比工人
(2)线程安全通常由对全局变量和静态变量的访问引起,多个线程对这些变量的读写会造成线程安全问题
2、长连接与短连接?
(1)长连接通常用于点对点通讯,在不发送数据包的情况下,双方也要互发数据用于保持通讯状态,对服务器压力大
(2)短连接类似于HTTP是一种无状态的协议,一次请求与响应之后,即断开连接
3、HTTP状态码
(1)1字头---消息
(2)2字头--成功
(3)3字头--重定向
(4)4字头--请求错误
(5)5字头--服务器错误
4、C/C++分别如何动态分配和释放内存,有什么区别?
(1)C:malloc/free,针对内部数据类型,没有自动执行构造函数和析构函数的特性,需要计算类型长度(sizeof),返回的void指针需要手动强制转换
(2)C++:new/delete,相对而言
5、TCP/IP四层模型(从下往上)
(1)应用层(HTTP,FTP,SMTP,Telnet)
(2)传输层(TCP,UDP)
(3)网络层(IP)
(4)数据链路层
6、指针与引用的区别?
(1)是否需要分配内存空间
(2)能否被赋值(改变)
7、C语言数组
(1)整型数组:int a[3],int a[3][4](按行排列,按行初始化)
(2)字符数组:char b[10],char b[10][20]
(3)C语言字符串:没有专门的字符串变量,通常用一个字符数组来存放一个字符串,并且字符串总是以’\0’作为串的结束,例如
char c[] = {‘c’,’a’,’r’,’d’};
char c[] = {“card”};
char c[] = “card”;
char *c = “card”; (字符指针指向字符串)