来自群友大佬授权发表,如果感觉大佬写的不错,可以点击阅读全文给大佬点个赞。作者:塔阁,原文链接:https://juejin.cn/post/6956992439097753631
前言
第一次写文章不太熟悉,以前都是在自己的博客写写学习笔记啥的,还请大家见谅。
这次面试的话是从去年 8、9 月份开始准备的,最后终于下定决心在 4 月份进行面试,最后面的公司也不多。这里就简单整理下面试的时候考察的问题,项目相关还有 HR 面的我就不列上面了,希望可以给大家参考下。
关于简历
简历这块的话,我是简单的用 Boss 直聘的功能做了一份,大致包含了以下几个部分:
个人信息
教育经历
工作经历
项目经历
专业技能
自我评价
这里面重点的我觉得就是专业技能和项目经历这两块,我们需要让面试官能够简洁直观地在我们的经历里面看到我们掌握的技术能力。具体项目经历这块怎么写大家有兴趣可以借鉴下这篇文章: 优秀简历法则:从 star 法则到 start 法则(简历系列 2/3)[1]
面试题
漫图摄影
这家公司其实不是啥大公司,去这家公司面试主要就是来锻炼下面试的话术和心态之类的
电话一面
讲一下线程和进程的区别
Vue2 中使用的 Object.defineProperty 和 Vue3 中使用的 Object.proxy 的区别
介绍一下 CDN
结果
一面过了,但是后面是要求我去滨江面试,来回太远了我就拒绝了。
阿里(本地生活---已发 offer)
阿里的话是 2+1 的面试,期间主要问的还是项目相关的问题,可能这个和我面试的部门有关系吧
字节(抖音-电商---offer 流程中)
字节 3 轮下来的话时间上是差不多 3.5 小时的的样子,面试总体感觉还是不错的,面试官对于你回答有问题的地方,会诱导你去思考一下,所以回答错的时候别慌,还是有第二次机会的。
视频一面
this 指向判断(这个并不是直接问你,而是用题目的方式考察)
手写原生 call
CDN 介绍,回源是什么?CDN 的原理是什么?
v-model 的实现原理
vue 数据拦截是怎么实现的?patch 的实现原理是怎么样的?
如何实现 vue 组件的异步加载?
MVVM 框架和 MVC 框架的差别
算法题:版本号数组排序
算法题:链表转反链表
视频二面
es6、es7 这些后来的版本在 es5 的基础上新增了那些东西,罗列一下
闭包是什么?简单介绍一下
(ps:这里回答的时候结合了作用域链的概念介绍了闭包的形成,然后说了一下闭包的用途还有要注意的地方)http 请求是怎么组成的,你对 option 请求有什么了解?这个请求在跨域的时候一定会发出吗?
介绍一下 flex 的各个属性,以及原理
对于工程化你有什么了解?怎么实现代码向下兼容?babel 为什么没实现所有代码的向下兼容?
介绍一下 vue 的 nextTick 是怎么实现得?
介绍一下你在平时业务中使用过的优化方案?
介绍一下浏览器的页面缓存机制?
算法题:判断字符串的括号正常闭合,写完之后面试官还会要求你对源代码进行优化
视频三面
三面的时候其实考核的基本上就是简历上的项目经历啥的,所以题目的也不多。
React 和 Vue 的差别,为什么你的项目使用 Vue 去开发?
算法题:回文串
总结
总的来说字节这边的回答其实并不是很完美,在工程化这块其实我准备的不是很多。后面打算会学下这块东西,但是最后的话面试也是过了,目前还在走流程。
涂鸦智能(offer 流程中)
电话一面
vue 怎么实现数据双向绑定?data 中不定义相关字段,直接使用 v-model 可以吗?
vue2 和 vue3 数据拦截的区别?为什么 proxy 不能向下兼容?
vue 的 data 为什么要用函数返回一个对象?
无感刷新 token 是怎么实现的?
git 操作相关
https 数据传输流程
CSRF 的了解
301、302 和 304 代表什么意思?浏览器缓存是怎么回事?
简单说下栈和队列?如何用栈实现队列?
如何判断链表是否有环?不用快慢指针的话有什么方法?
电话二面
主要是简历上项目相关的东西,别的问题其实也不多
网易(云商)
网易这边的话,其实面试起来中规中矩,一面的问题基本在网上各类面经里面都有,所以有准备的话基本没有问题。但是二面的话就偏向于实际业务场景的解决方案设计了,感觉还是要看平时积累。
电话一面
介绍一下浏览器从输入 URL 到解析到页面的过程?
介绍一下前端的盒模型?
介绍一下事件循环机制?
介绍一下前端的继承方式有哪些?
介绍一下 new 的过程中,有哪些步骤?
Vue 的 diff 方法是怎么样的?Key 在其中有什么作用?
为什么 Vue 的 data 要返回对象?不返回有啥问题?
介绍一下浏览器的页面缓存机制?
CSRF 攻击的原理,如何防范?
MVVM 框架和 MVC 框架的差别?
算法题:实现树的广度优先遍历
算法题:实现树的深度优先遍历
电话二面
实现广告曝光率的统计,要求如下:
区分为资源没加载的情况下流失的用户
统计用户累计在广告位浏览时间
统计广告位展示比例不同的情况下的用户比例
如何监听线上页面内存溢出?
页面报错监听,考虑异步的情况(其实就是设计一套通用的报错监控方案)
有道科技
电话一面
CSRF 攻击的原理,如何防范?
MVVM 框架和 MVC 框架的差别
简单介绍一下装饰器模式
400,401,300,302 是什么意思
font-size 和 border 可以被继承吗
Object.defineProperty 和 Object.proxy 的区别,前者怎么使用
怎么捕获异步事件的报错,try catch 可以吗?
讲讲 fetch 和 xhr 的区别
两道小题目
function A(){this.name='a';} function B(){this.name='b';} A.prototype.getName = function() {return this.name;} B.prototype.getName = function() {return this.name;} A.prototype = new B; const c = new A; c.getName();?
console.log(x)? x = 1; console.log(x)? console.log(test('abc'))? function test(p){return p;} var x;
结果
这个公司的话一面是过了,但是之后二面的时候因为被告知要去他们那边现场面试,但是我那时候有事情就没有去了
面试总结
其实这个面试知识点复习的话,主要还是参考的这篇文章 2021 年前端面试必读文章【超三百篇文章/赠复习导图】 我个人认为这里面罗列的知识点有掌握 7、8 成的话,其实面试的问题应该就不大了。当然突击学习的话其实还是会被看出来的,最重要的还是在平时的积累。
参考文章
简单总结下线程和进程的区别[3]
实现双向绑定 Proxy 比 defineproperty 优劣如何\?[4]
五分钟了解 CDN[5]
死磕 36 个 JS 手写题(搞懂后,提升真的大)[6]
前端安全系列(二):如何防止 CSRF 攻击?[7]
JS 异步错误捕获二三事[8]
30 道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)[9]
优秀简历法则:从 star 法则到 start 法则(简历系列 2/3)[10]
微信搜索 前端GitHub,回复 电子书 就送你 1000+ 本精华编程电子书;回复 1024 送你一套完整的 前端 视频教程。
有需要的就来拿吧,绝对免费,无套路获取。
如果看到这里,喜欢这篇文章的话,请帮点个好看。