Summary2 Aczy156的面经
[TOC]
Aczy156的面经
系统
1、Linux系统的进程通信方式
管道pipeline,信号signal,消息队列message queue,共享内存,信号量semophore,套接字socket
类型 | 无连接 | 可靠 | 流控制 | 优缺点 | 优先级 |
---|---|---|---|---|---|
普通PIPE | N | Y | Y | 只能父子进程通信,速度慢 | N |
流PIPE | N | Y | Y | 速度慢 | N |
命名PIPE(FIFO) | N | Y | Y | 任何进程间都能通讯,但速度慢 | N |
消息队列 | N | Y | Y | Y | |
信号量 | N | Y | Y | 不能传复杂消息 | Y |
共享存储 | N | Y | Y | 速度快,容量不限,但是面临同步问题,读写问题 | Y |
UNIX流SOCKET | N | Y | Y | N | |
UNIX数据包SOCKET | Y | Y | N | N |
2、Linux指令:
ls指令:
ln指令:软链接
语言
1、C语言编译,运行详细过程
test.c
预处理(Preprocessing):预处理用于将所有的#include头文件以及宏定义替换成其真正的内容
test.i
编译(Compilation):将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程
test.s
汇编(Assemble):汇编过程将上一步的汇编代码转换成机器码(machine code)
test.o
链接(Linking):链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file)
test.exe
2、Java的final static abstract关键字
final是
3、Java的public private protect
4、Java的string的equal方法和其他的object的equal的区别
计网
1、http协议:几种请求post、get、put:
http1.0:get,post,head方法
http2.0:get,post,head + option,put,patch,delete,trace,connect => http1.0的三种+http2.0新增的六种
2、http协议与https协议区别:
3、OSI七层、TCP/IP五层
OSI七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP五层:应用层、传输层、网络层、数据链路层、物理层
4、tcp、udp区别
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 |
连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一通信 |
传输方式 | 面向报文 | 面向字节流 |
首部开销 | 首部开销小,仅8字节 | 首部最小20字节,最大60字节 |
适用场景 | 适用于实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |
5、tcp的三次握手四次挥手;为什么在第三次客户端还要向服务器发送请求
a) 第三次握手的原因:防止出现失效的连接请求报文段被服务端接收的情况,从而产生错误。
b)(表层:第一次握手客户端要让服务器知道自己的序列号 // 要建立连接并且自己处于active状态;第二次握手服务器要让客户端知道自己的序列号 以及 自己已经知道客户端的序列号 // 可以建立,并且自己处于active状态;第三次握手客户端要让服务器知道 自己已经知道服务器的序列号了。
c)一些词语相关(SYN+ACK+Data等等:第一次客户端向服务器发送SYN;第二次服务器向客户端发送SYN+ACK;第三次客户端向服务器发送ACK+Data。
序列号也就是通信双方的数据原点。只有把数据原点给了对方,才能正常的进行数据交流
6、域名解析的两种方式:
递归和迭代:递归是客户端给一次就行,然后查询方会递归的帮忙给查;迭代是客户端查询多次,查询方查到了就返回结果,查不到就返回下一个查询方的位置让客户端去查询。
递归的情况对于有缓存的是有好处的。缺点是有安全漏洞,可以造成dns攻击(DNS放大攻击和DNS缓存攻击)
数据库:
1、mysql的索引和主键的区别
索引:一种数据结构,也就是B+树,通过B+树来进行快速查找
2、
数据结构:
1、红黑树:stl的map和set的底层
项目
1、unifit团购网站中,后台的后端用户管理,数据库设计以及权限管理:
通过使用Spring Security 的hasrole注解控制,是利用ROLE(角色)来控制的,而不是authorities(权限)来控制的。角色有ROLE_USER, ROLE_ADMIN