本文记录一下自己近期面试被提及的面试题(笔试+面试)(题目不分顺序)
第一家
一家面向政务业务的公司,做自己的OA系统,基于webpack做了自己的cli
笔试阶段
1. 说说web安全和防护方法
真不会,空着没写
2. 什么情况会导致内存泄漏
待整理补充
3. 手写一种js数组的方式
待整理补充
4. 怎么删除cookie
待整理补充
5. js怎么实现继承
待整理补充
6. route 和 router 的区别
route可以获取当前活跃状态路由的信息
router.push() 可以实现路由跳转
7. vue单页面的优点
待整理补充
面试阶段 (看样子应该是个项目经理+技术总监面试)
vue部分
1. vue的生命周期
- 这块说说vue2和vue3的生命周期的改变比较加分
待完整补充
2. 一个对象增加属性但是视图没有响应式怎么办
- vue.$set() 方法
- Obeject.assign() 注意:这块是增加属性,如果是完全增加一个对象需要用 vue.observable
3. 想在mounted()中获取到最新的DOM怎么办
这块就是考验nextTick()获取最新的DOM
4. 说说vue-router的几种方式
hash 哈希模式 => 实际就是通过url中的触发hashchange事件
history 历史记录模式 => HTML5为History对象添加了两个新方法,
pushState和replaceState方法,用来在浏览历史中添加和修改记录。 history和hash的差异 - history和hash都是利用浏览器的两种特性实现前端路由,history是利用浏览历史记录栈的API实现,hash是监听location对象hash值变化触发hashchange事件来实现 - history的url没有’#'号,hash反之 - history修改的url可以是同域的任意url,hash是同文档的url - 相同的url,history会触发添加到浏览器历史记录栈中,hash不会触发。 - history模式往往需要后端支持,如果后端nginx没有覆盖路由地址,就会返回404,hash因为是同文档的url,即使后端没有覆盖路由地址,也不会返回404
- 附上原理地址:vue路由两种模式解析
5. 说说vue组件通信
这块说的有点乱,大致说下
父子组件 1.props refs > 3. parent > 4.EventBus > 5.Proinct/inject(依赖注入)
兄弟组件 1.EventBus > 2.Proinct/inject(依赖注入)
祖孙组件
非兄弟组件
6. keep-alive了解过吗
- 说说他是叫什么,怎么用,两个生命周期,怎么配置
vue的内置组件,被包裹的动态组件会保留状态。
对应两个钩⼦函数
activated和deactivated,当组件被激活时,触发钩⼦函数activated,当组件被移除时,触发钩⼦函数deactivated。
提供
include和exclude属性,两者都⽀持字符串或正则表达式
运用场景:用户在某个列表页面选择筛选条件过滤出一份数据列表,由列表页面进入数据详情页面,再返回该列表页面,我们希望:列表页面可以保留用户的筛选(或选中)状态。
7. 说说Vuex里面的属性,分别是什么意思?
state 数据源
getter 计算属性
mutations 同步任务
actions 异步任务
modules 模块化
8. actions是怎么处理异步的?是怎么调用的?还有其他方法吗
- ays awiat 处理
待完整补充
9. 多个异步请求怎么处理
- 只说了用promise.all([arr1,arr2]),后续会补充完整
待完整补充
10.key是作用是什么
- 此块说明key的作用扩展了diff算法(vue2),说到后面自己有点乱。。。
待完整补充
11.路由导航守卫有哪些
> 没说好,单词也说错了
待完整补充
12. 怎么用input封装自己的组件(原生)
> 这块我理解为v-model 的原生写法,所有数量:value @input这个
待完整补充
13.v-if和v-show的区别
>
待完整补充
14.说说都有哪些指令
>
待完整补充
15.template可以放v-if吗?原因呢
> 这块答错了,应该是可以放的。这里还扩展了v-if和v-for为啥不能放在同一个标签
待完整补充
js部分
1. input设置什么可以让高度自适应
待完整补充
2. call, apply, bind的区别
待完整补充
3. 针对大屏2k,4k,8k的适配怎么弄
没做过
待完整补充
- 总结:感觉面的还行,差不多回答上了百分八十左右,后面跟老板聊了会,挺好的一个人。
第二家
居然遇到了跟现在做一样业务的公司,真怕他们相互认识,也是要做OA系统
笔试
1.一些选择题,vue,js都有(this指向的多)
待完整补充
2.css3的移动动画
待完整补充
3.vue组件通信,在子组件定义方法修改父组件数据
待完整补充
4.多维数据结构+去重 (代码写好了,找错修改)
待完整补充
5.判断打印的值
待完整补充
6.一道this调用的题
待完整补充
面试
1.vue的生命周期 (第一家有)
>
待完整补充
2.路由导航守卫说说哪些(第一家有)
>
待完整补充
- 总结:后面就一直再说vue的使用时间也不长,问了原生js和vue分别用了多久,上家公司叫啥,能不能自己独立开发,不需要别人带.....啦啦啦啦.....问了很多其他情况.... 我都想马上跑
第三家
一家电商项目的公司,主做自己的Sass系统,就围绕这个新增需求和维护
笔试 (终于没有笔试了!(╥╯^╰╥))
面试 (一个中年人,技术总监吧应该是)
1.vue的生命周期(同上)
>
待完整补充
2.vue的双向绑定
> 这块说下了原理,又说了响应式的原理
待完整补充
3.布局的垂直水平居中的方式
- 说了几种常用的
待完整补充
4.说说HTTP
- 没答出来
待完整补充
5.说说设计模式
- 说了MVVM和MVC分别是什么
待完整补充
6.SSR有了解过吗
- 没答出来
待完整补充
7.图片懒加载怎么写
- 没答出来
待完整补充
8.SPA和SSR是什么
待完整补充
9.响应式设计是什么
答的是boosStrap,然后扯开了话题,说了多端兼容适配的问题
待完整补充
10.画了个界面,要说出自己的编写思路
严重怀疑是自己遇到问题,来白嫖别人的思路
待完整补充