8月面试总结
面试总结
- 前言
- 一、公司甲
- (一)技术面
- (二)HR面
- 二、公司乙
- 三、公司丙
- (一)技术面+HR面
- 四、公司丁
- 五、公司戊
- 六、公司己
- 七、公司庚
- 八、公司辛
- 九、公司壬
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
从7月中旬辞职,中间玩儿了接近两周,到8月中下旬找到工作,对之前部分面试进行一下总结(包括我朋友面试的公司)。base成都,22届,普本
一、公司甲
(一)技术面
- 自我介绍
- 是用的vue3还是vue2?vue全家桶有没有用过?
- 动态路由有用过吗?说明一下
路由router钩子函数 - 小程序有做过上传下载文件吗?怎么实现的
- 大屏开发是做的什么样的?H5?Hbulider?
- 首屏加载的优化?spa和mpa
- 在项目中有没有axios二次封装接口请求?说明一下
(1)、在请求拦截中设置token等信息
(2)、在响应拦截中对返回的状态码做统一的操作,如401未登录,200成功 - 有没有使用过自定义指令?
- 组件间常用的传值方式?兄弟组件间传值?
- vue.config.js有自己配置过吗?一个项目从0到1有自己搭建过框架吗?
- 有一个场景页面上的组件切换有时候需要缓存内容有时候不需要缓存内容,怎么实现?
keep-alive实现,include 和 exclude属性指定需要缓存或者排除的组件名称 - 有用过canvas画过二维码?可以画点线面等等
- UA有了解过吗?
(二)HR面
- 前面公司的工作情况
- 公司架构
- 工作中的收获
- 对这次面试表现打分
- 在工作中自己是怎么样的人
- 在部门中怎么团队协作
- 有没有和同事沟通中发生口角
- 项目的进度或者成果是怎么汇报的
- 在以上线的项目中有没有被用户使用出来的bug,你认为出现这个问题的原因是?技术部还是?
- 离职原因
- 工作中遇到问题怎么解决
- 职业打算
- 对这个岗位行情的了解
- 对公司的了解
- 项目上的难点亮点
- 怎么界定初级和中级
- 你觉得自己处在什么水平
- 在这次岗位竞争中你有什么优势
- 在工作中你手中一个正在做的很紧急的任务,上级又给你一个很紧急的任务,你怎么处理
二、公司乙
- 自我介绍
- 之前做的小程序都已经上线了吗?
- 做了这么多产品遇到的一个比较复杂的场景是什么?
- vue拖拽布局有些组件嵌套,涉及到组件的递归渲染
- 小程序原生视频组件和input框等层级过高怎么解决(cover-view)
- localstorage和sessionstorage以及cookie的区别?如果localstorage的内存超过5M怎么解决?
- localstorage在浏览器无痕模式下的处理?
- indexedDB有用过吗
- 看项目中有用定时器,如单页应用pageA路由跳转到pageB,使用定时器需要注意什么(定时器的清除settimeinterval和settimeout都要清除),为什么settimeout也要清除,举例场景
pageA进来,10秒后通过settimeout弹出一个alert,但是我在10 之内点击跳转到别的页面了,如果settimeout不清除,10秒后在别的页面也会弹出这个alert - 看你用了websocket,讲一下为什么要用心跳机制
- 浏览器的效能模式有了解吗(做websocket的心跳机制以及定时器要考虑效能模式)
- vuex在pc端使用时页面刷新了,里面的数据会怎么样,怎么做持久化
- canvas加载一张图片需要注意些什么?
- sku管理的算法
- 埋点有用过吗
- 拖拽的时候怎么计算一个元素的边界值(不让其超出屏幕)
- 怎么学习前端的
- 除了js、vue还会什么技术栈(其他语言)
三、公司丙
(一)技术面+HR面
- 离职原因
- 对自己发展看法
- 小程序、PC端、后台管理经验,大数据可视化项目?
- 上家公司有多少人
- 后端技术还保留什么?
- 有拿过奖学金吗
- 怎么评价自己的性格,抗压能力怎么样
- 家住哪里
- 有过地图开发经验
- 你觉的自己在这个岗位的竞争优势
- 当时加班多吗
- 能接受出差吗
- 有什么想问的(hr)
- 网路请求有哪些类型,有什么区别?get和post的区别?get传更多的参数是为什么?
- v-model是什么?是什么的语法糖?
- 数组的解构取第一项和后面的每一项怎么写?
let arr =[a,b…]; let [head,…rest]=arr. - setTimeOut了解到的知识都说出来,如果前面写了个setTimeOUt,后面有一个死循环,还会执行进程中的setTimeOut吗
- webpack相关的熟悉吗?跨域问题proxy代理讲一下怎么配置的?没做代理的代码和做了代理的代码有什么不一样
- ngnix代理怎么配置的?ngnix是什么东西?主要用途
- 浏览器存储有哪些?有什么区别?项目中实际的应用点?
- 没有做过的东西现在让你做你怎么去做?
- 学习路径?学习思路
- 技术层面知识图库
- 基于时间线的二次封装注意什么,怎么考虑的?
- 自己封装过什么样子的方法吗?怎么考虑的,有什么注意事项?
- 担任什么角色?上家的公司中
- 最复杂的一个场景是什么?
- keep-alive组件缓存的过后切换再进来调用什么生命周期
四、公司丁
1.垂直居中几种方式
2.说说箭头函数
3.promise说一下
4.async、await
5.动态路由怎么实现得
6.两个浏览器打开中一个页面,怎么实现跨页面传值
7.大文件上传(分片上传和断点续传)
8.多个请求同步访问,怎么不阻塞页面
9.vue生命周期
10.内存泄漏,实际场景
11. 防止提交按钮重复触发
12. 有抽离组件得习惯吗,有公司一起使用吗
13. 别人看的懂你的注释吗,代码规范有吗
14. 重新更新版本,怎么实现不让用户强制刷新就更新版本
15. uniapp返回上一页,怎么触发上一页中得onload事件
16. 下拉刷新refreash,怎么确认多个接口请求结束的时间,而去调用stoprefreash的
五、公司戊
1.map和weakMap,set和weakSet的区别
2.settimeout、promise、async/await的区别
3.事件循环机制
4.防抖和节流的区别
5.一万条数据全部接收到,前端怎么处理
6.在vue列表遍历时为什么要加key
7.diff算法怎么去比对虚拟DOM
8.在uniapp中处理安卓返回键是怎么处理的
9.微信小程序前端怎么实现键权?
10.H5中华为机型rem不是很准确,怎么处理的
11.一个非空字符串,在前面加了!!表示什么
12.说一下vue响应式的原理
13.vue生命周期,在代码里怎么是实现的,在complie里面怎么写的
14.jQuery有用过吗
六、公司己
1.水平垂直居中
2.有一个场景,第一行三个元素,第二行三个元素,第三行个数不固定,怎么实现三个就两端对其,少于三个就左对齐
3.margin上下两个元素,上margin-bottom10,下margin-top20,他们中间间隔多少?怎么让他们不重叠
4.sass/less都用过哪些语法,怎么通过less实现主题切换
5.如何做不同屏幕的适配,rem是怎么实现屏幕适配的,一个750px的设计稿怎么做不同屏幕适配
6.rem和em解释
7.说一下伪类和伪元素的理解,伪元素和普通元素有什么区别
8.css选择器 怎么拿一个父级下所有一级子元素
div > *
9.js中判断数据类型的方法
10.什么是js事件循环
11.settimeout(log(1));promise.resovle().then(log(2));log(3)的执行结果
12.如何实现防抖节流,代码细节
13.精度丢失解释,怎么解决,如果不知道小数位数怎么解决
14.如何实现一个函数第一次调用返回1,第二次调用返回2,以此累加,口述代码(闭包)
15.for循环怎么终止跳出,怎么终止继续后面的,map和forEach怎么终止
16.对浏览器跨域的理解,有哪些跨域方式,proxy跨域后浏览器访问地址的过程
17.数据双向绑定原理,详诉,数据及视图更新的过程,diff算法
18.vue3的响应式做了哪些改变
19.h5和微信小程序怎么做通信
20.自定义指令具体实现过程
21.组件之间传参
22.跨组件通信方式
23.一个页面的列表,点击进入详情,在详情页面修改了一个状态,怎么在回退到上一页面,不刷新列表的情况下更新状态
24.echarts说几个熟悉的属性
25.做过哪些打包优化
26.小程序怎么分包的
七、公司庚
1、自我介绍
2、vue3还是vue2?vue的生命周期,created和mounted的区别
3、说一下vuex,项目中如何使用?mutation里做什么的?
4、react的虚拟DOM和真实DOM的区别?
5、说一下redux
6、第一个项目中,将代码抽离出来打包怎么做的?
7、最近项目中的难点以及解决方法?
8、MVVM的设计原理?
9、介绍一下SPA单页面应用?
10、hash和history路由的区别?
11、??表达的是什么意思?
空值合并运算符(??)是一个逻辑运算符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数
八、公司辛
1、自我介绍?离职状态?到职时间?结婚了嘛?薪资纠纷?
2、介绍项目?克服难点?
3、echarts图表的使用在项目中怎么使用?
4、讲一下 项目中的封装打印组件和计算公共算法 ?
5、讲一下gzip
6、react熟悉嘛?
7、单页面应用开发在项目中的应用?
8、MVVM原理?
10、讲下 利用v-loading封装加载页面组件 ?
11、讲下 vue-qrcode-reader 封装扫码组件?
12、个人博客分享什么?
13、ES6的新特性?
14、jsx是什么?怎么用的?
15、react有什么优势?
16、promise对象的理解?
17、性能优化有那些手段?
18、数组转化成字符串?
19、异步加载js的方法?
20、考虑为什么去西安?上一份薪资?期望薪资?
九、公司壬
1、自我介绍
2、vue3和vue2的区别?vue3的区别和优势
3、vue2和vue3的渲染机制?打包完有什么区别?index.html放到服务器上找寻有什么不同?
vue3相较于vue2在渲染机制上有显著的变化,主要体现在服务器端渲(SSR)的支持上。
渲染机制:
(1)、 vue2的渲染主要依赖于客户端渲染(CSR),即页面首次加载时,由客户端的浏览器进行解析和渲染。
(2)、vue3则引入了服务器端渲染(SSR)的支持,允许开发者在服务器上预先渲染部分或全部页面,然后将渲染后的HTML发送给客户端,这样客户端在接收到数据后只需进行少量的DOM操作即可完成页面的显示,从而提高了首屏加载速度和性能。vue3通过createSSRApp函数创建服务器端渲染应用程序实例,并使用ssrSerialize函数进行序列化,然后在客户端使用createApp函数创建客户端渲染应用程序实例,并通过ssrHydrate函数将序列化的组件状态进行反序列化并挂载到DOM上。
打包后的区别:
ve2和vue3在打包后的文件大小和结构上会有所不同,这主要取决于两者在代码结构和依赖上的差异。vue3由于采用了新的响应式系统和重写的Diff算法,以及引入了Composition API和更好的TypeScript支持,可能会导致打包后的文件大小和结构有所变化。vue3的打包可能会更加高效,因为它支持更好的Tree Shaking,可以实现按需引入,减少不必要的代码包含在最终的打包文件中。
index.html放置服务器后的区别:
当将index.html文件放置在服务器上时,vue2和vue3的应用在加载和运行上可能会有所不同,尤其是在使用了服务器端渲染的情况下。
(1)、vue3的应用可能会更快地呈现预渲染的内容给用户,因为部分或全部页面已经在服务器端被渲染完成。
(2)、对于vue2,所有的页面内容都需要在客户端由浏览器进行解析和渲染,这可能会导致首次内容渲染(First Contentful Paint,FCP)时间较长。而vue3通过服务器端渲染可以显著减少这个时间,提供更好的用户体验。
4、页面上的dom渲染是怎样的?
5、vue2和vue3的刷新机制?
6、兄弟组件之中怎么调用彼此的属性和方法?
总结
祝大家找到自己满意的工作