武汉云智前端二面
原定10.00,提前进后9.50就开始了
被狠狠的拷打了一个小时,二面从js到c和java,从网络安全到人工智能
说出常见的网络攻击与网络安全策略
xss,csrf攻击是什么,详细说出黑客csrf攻击是如何窃取cookie并发送非法请求(绷不住了,说了好半天面试官说不对)
前后端通信用的方法,内容,协议(axios,前端body|params后端{code,msg,data},协议我不知道,面试官跟我说websocket)
websocket,长连接,轮询的优缺点(只会长连接和轮询,再度绷不住)
场景题:详细说如何做一个简单的前后端登录(前端输入校验与发送axios请求,后端jwt鉴权,生成token(expressjwt和jwt),输入校验,查询数据库,返回axios,前端axios拦截器处理报错和添加token以及页面跳转)
除了js和node还学过什么(科班c,c++,java)
c中int类型值例如23在内存中是什么样的(4字节,低位存23,其余0),-23呢(答符号位)我室友后来告诉我是补码
java用过socket吗,socket怎么实现通信(再次绷不住,好像是字节流)
智力题:经典博弈问题,我说博弈树,用人工智能的回溯剪枝限界法,面试官说详细讲(蚌)
算法:
两个乱序数组合并为顺序数组,面试官说不要求时间复杂度和空间复杂度,不能用库函数,直接快排
let arr1 = [2,1,3,4]
let arr2 = [8,5,7,9]
let result = []
function paixu() {
result = [...arr1, ...arr2]
let len = result.length
kuai(result, 0, len-1)
}
function kuai(arr, left, right) {
if (left < right) {
let l = left
let r = right
let temp = arr[l]
while(l<r){
while(arr[r]>temp&&l<r){
r--
}
arr[l]=arr[r]
while(arr[l]<temp&&l<r){
l++
}
arr[r]=arr[l]
}
arr[l]=temp
kuai(arr,left,l-1)
kuai(arr,l+1,right)
} else {
return
}
}
paixu()
console.log(result)
最后问了什么时候能到岗,能实习多久
反问:
技术栈是什么(react,ts)
我只会vue(转换起来很快的)
实习生做什么(跟正式员工一样的活)
做3d要threejs,不会canvas和threejs怎么办(canvas是基础,threejs不要求这么多,可以做些边角料的活)
狠狠拷打
一周没消息,应该凉凉了
#云智研发##前端##面经#