刚刚面完一轮,感觉有点凉,面试官真的好好,特别是在coding部分的时候,一步一步的引导我,关键是我还是没写出代码,我记得明明是做过的,我忘了,QAQ
面试官:简单自我介绍一下
我:balabalabala。。。
面试官:简单描述一下你的项目,碰到的主要难点
我:项目是企业和工作室合作的物联网项目,我做的是平台部分的前后端,主要难点是前端的数据实时显示,用echarts做的
面试官:你们数据是怎么得到的
我:通过设备的传感器得到的,设备将数据通过网络传给服务器,服务器将数据写入到数据库,根据消息ID来进行,区分每一个请求
面试官:http三次握手是怎么一个过程?
我:首先客户端发送一个请求,有SYN字段置为1,生成seq随机数j,服务端返回SYN置为1,返回ACK=1,ack值为j+1,seq为k,客户端返回ACK=1,ack=k+1三报文握手连接建立
面试官:知道一些常用的http的header字段吗?
我:expires,Agent,content-type,method等等
面试官:get和post的区别?
我:最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。GET和POST本质上没有区别,只是在HTML的标准中两者采用这种约定进行请求,要保证安全性还是要用https
面试官:那你介绍一下https的流程
我:通过服务端的公钥加密,服务端用自己的私钥进行解密
当证书验证合法后,在本地生成随机数。
通过公钥加密随机数,并把加密后的随机数传输到服务端。
服务端通过私钥对随机数进行解密。
服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。
面试官:了解rocketmq吗?了解kafka吗?
我:了解一点
面试官:一个TOPIC,怎么区分一条消息是属于哪个分区的
我:通过hash把(我是真的不太清楚)
面试官:具体的呢,怎么hash?
我:我不太记得了(QAQ),好难
面试官:好吧,那不问消息队列的了,对redis了解吗?都有哪些数据结构?
我:string,set,zset,hyperloglog,list,hash
面试官:hyperloglog是用来干嘛的?
我:用来计算机基数的,基数就是一个序列里面不重复的数
面试官:为什么要用它,有什么好处,不是说不够精确吗?
我:我记不太清了(当时是有复习到的,但是时间有点久了忘记了)
面试官:有了解Mysql吗?
我:有的
面试官:事务的隔离级别有哪些?
我:4种,未提交读,提交读,可重复读,串行化
面试官:MySQL可以解决幻读问题吗?
我:不可以,除非用串行化,或者MVCC加锁
面试官:底层数据结构是怎样的?
我:B+树
面试官:有哪些索引类型?
我:聚簇索引,非聚簇索引
面试官:聚簇索引和非聚簇索引有什么区别
我:聚簇索引的叶子节点存的是行数据,而非聚簇索引存的是地址
面试官:聚簇索引需要回表查询数据吗?
我:一般情况下是需要的,但是用索引覆盖的话就不需要了
面试官:代码题把:LeetCode 96. 不同的二叉搜索树(ps:其实就是这道题,我昨天刚做,没太在意,忘记了)
我:思路是写出来了,但是转移方程愣是写不出来,面试官给了贼多提示,真的很好,无奈我太菜了,不知道能不能过一面,欲哭无泪~~~~~