- 面试公司:不知名公司
- 面试岗位:前端工程师
- 面试时间:2025/02/12/16:30
- 面试时长:20min
- 面试体验:非常一般
- 突如其来电话面试
- 不知道是哪家公司
- 电话对面非常嘈杂
- 面到最后反问时,问到公司开发团队有多大,面试官反问hr没告知我吗,对方是初创公司,开发团队只有3个人(服了)
- 技术栈:vuejs/react
技术问题
vue2、vue3区别
vue生命周期
vue自定义指令用过吗,vue指令一般写在哪里
- 全局注册
- Vue.directive(‘指令名’,{})
- 参数1:指令名称
- 参数2:可以是对象数据,也可以是指令函数
- Vue.directive(‘指令名’,{})
- 局部注册
- 在options选项中设置directive属性
- 自定义指令钩子
- bind 只调用一次,指令第一次绑定到元素时调用,可以进行一次性的初始化设置
- inserted 被绑定的元素插入父节点时调用
- update,所在组件的vnode更新时调用
- componentUpdated 组件的VNode以及其子VNode全部更新之后调用
- unbind 指令与元素解绑时,仅调用一次
- 钩子函数参数
- el 绑定的元素,可以直接操作dom
- binding 一个对象,包含一些property
- vnode
- oldnode
应用场景
- 表单防止重复提交
- 通过指令实现按钮节流
- 图片懒加载
- 通过指令监听图片是否出现在视口中,实现懒加载
- 元素实现拖拽
vue指令写在哪里
- 全局指令
- directives/index.js,在main.js中调入使用
- 局部指令
- 直接写在options的directives中
介绍一下vue的diff算法
typeof null 结果是什么
es6常用特性有哪些
能说说http请求吗
http传输有文件大小限制吗?能传输文件吗
- 本身对传输文件大小没有限制
- 前端和后端可以对文件的大小进行限制
- 大文件对网络环境要求比较高
- 能传输二进制文件类型
- 优化大文件传输
- 分块传输
- 读入二进制数据之后,通过控制步长和位移实现传输
- 使用http2.0
- 多路复用和二进制传输,提升大文件传输效率
- cdn
- 内容分发网络分发大文件,减少服务器压力
- 分块传输
websocket心跳一般每隔几秒发送一次
答:30-60s比较合适
- 心跳机制就是定时发送ping消息来确保连接
- 客户端定时发送心跳包
- 服务器端定时响应心跳包
- 如果客户端在指定时间内没有收到服务器的响应,则认为连接已经断开
你们http请求是多长时间算作超时呢?
答:3-5秒,具体要看业务
你们的门户网站有做单点登录吗
- 单点登录SSO
- 让用户在多个应用系统之间只要登陆一次就可以访问所有授权系统的机制