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

Posted on Feb 4, 2020