
网站救助计划
1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本
2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助,网站倒闭后可联系站长领取本站pdf内容
3.若网站能存活下来,后续将会持续更新内容
百度个人云部门
大约1小时10分钟
百度自己的即时通讯软件 如流
- 1.自我介绍
- 2.自己认为收获最多的项目 展开讲讲
- 3.我看你用的vite框架,vite和webpack比好在哪我说作为开发者,主观感受是启动快,控制台有展示diff问我为什么快,我说vite是打包前确定引用关系,按需加载;webpack是把所有引用到的问价打包好一起加载;vite有热更新,面试官说webpack也有,我说我没用过最新的webpack5哈哈哈我说vite代理服务器解决跨域问题,这个webpack也有,算是我觉得用框架方便的地方
- 4.讲讲你用的pinia
我就讲了一下项目中用到的store吧,设计用户登陆状态
具体设计方式就不说了
- 5.你在开发小程序的过程中学到最多的地方是什么
个人经历可能对大家来说没意义
- 6.如果说小程序中要嵌套h5页面,怎么保持页面跳转后用户信息自动同步?
我说的是http请求,post请求的时候请求头带上用户不敏感的信息(头像nickname这种)
- 7.上面说完后顺便问了下https,跳转到h5被抓包怎么办
对称加密+非对称加密
先非对称得到只有两端共识的key,后续两端用key加密交流
普通抓包抓到的是加密后的文件,解不开
如果伪装中间人生成第三方pk/sk,就买个权威机构的证书
证书里会有有效期,加密算法,pk和机构签名
现在的中级证书一般都是2048位的rsa算法,目前算法只能解到768位,比较安全
- 8.自己实现promise
这部分也是口述的,大致把下面说了,有点不同的是在构造器里引用原型上的函数,避免了每次new
promise都要构造resolve和reject函数,
在定义属性的时候如果用箭头函数也会自动挂载到对象属性上,这样子写相当于把res和rej写在原型方法上,构造的时候调用函数,节省内存。
我也不知道这种想法对不对,面试官也没有评价
class myPromise {
state = 'pending'
value = undefined
reason = undefined
onFulfilledCallback = []
onRejectedCallback = []
constructor(executor) {
this.resolve = this.resolve.bind(this)
this.reject = this.reject.bind(this)
try{
executor(this.resolve, this.reject)
}catch(err){
this.reject(err)
}
}
resolve(value){
if (this.state === 'pending') {
this.state = 'fulfilled'
this.value = value
while(this.onFulfilledCallback.length){
this.onFulfilledCallback.shift()(value)
}
}
}
reject(reason){
if (this.state === 'pending') {
this.state = 'rejected'
this.reason = reason
while(this.onRejectedCallback.length){
this.onRejectedCallback.shift()(reason)
}
}
}
then(onFulfilled, onRefected) {
if (this.state === 'fulfilled') {
onFulfilled(this.value)
}
if (this.state === 'rejected') {
onRefected(this.reason)
}
if(this.state === 'pending'){
this.onFulfilledCallback.push(onFulfilled)
this.onRejectedCallback.push(onRefected)
}
}
}
本站链接:https://www.mianshi.online,如需勘误,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版