面经3
1.HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2.联合索引、最左匹配原则
对多个字段同时建立的索引(有顺序,ABC,ACB是完全不同的两种联合索引。)
为什么要用
以联合索引(a,b,c)为例 建立这样的索引相当于建立了索引a、ab、abc三个索引。一个索引顶三个索引当然是好事,毕竟每多一个索引,都会增加写操作的开销和磁盘空间的开销。
最左匹配原则。(A,B,C) 这样3列,mysql会首先匹配A,然后再B,C.
如果用(B,C)这样的数据来检索的话,就会找不到A使得索引失效。如果使用(A,C)这样的数据来检索的话,就会先找到所有A的值然后匹配C,此时联合索引是失效的。
- B-Tree和B+Tree的区别:
在B+Tree中,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子节点上,而非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度。
4.shell+awk获取一文件第三列数据并去重
awk '{ print $3 }' ws.log > temp.log
sort -n temp.log | uniq
5.三行话彻底讲明白left join、right join 和 inner join 的区别
通俗讲:
left以 left join 左侧的表为主表
right 以 right join 右侧表为主表
inner join 查找的数据是左右两张表共有的
- Linux查看端口
netstat -nap kill -9 4394
7.MySSQL查询第五条到第十条数据
select top 10 * from TB1 where Id not in (select top 5 Id from TB1 )
8.接口和抽象类的区别
1.抽象类有普通的方法,接口没有
2.抽象类可以有自己的成员属性和方法,接口只能有public 常量。
3.抽象类可有可无构造方法,接口没有构造方法
9.请你来说一下socket编程中服务器端和客户端主要用到哪些函数
基于TCP的socket:
1、服务器端程序:
1创建一个socket,用函数socket()
2绑定IP地址、端口等信息到socket上,用函数bind()
3设置允许的最大连接数,用函数listen()
4接收客户端上来的连接,用函数accept()
5收发数据,用函数send()和recv(),或者read()和write()
6关闭网络连接
2、客户端程序:
1创建一个socket,用函数socket()
2设置要连接的对方的IP地址和端口等属性
3连接服务器,用函数connect()
4收发数据,用函数send()和recv(),或read()和write()
5关闭网络连接
————————————————