以下是我参加的今年秋招的面试经历总结,不过有些已经遗忘了
问的都是一些基础的东西(当时基础还不牢实 卒)
整体根据我的简历、github、博客内容来提问
new关键实例化一个对象时,发生了哪些过程
this指向问题
讲讲你在哪方面做的深入的一些研究
JS单线程,事件循环
vue生命周期
宣讲会的时候笔试 晚上笔试通知 第二天参加面试
笔试
基础知识(单选 多选 两道函数实现题)具体的题目记不住了,以下是考到的知识点
XSS安全问题及防御
Array.isArray(Array.prototype) ? true OR false
实例、构造函数、原型对象之间的关系,实例的constructor属性的值是什么?
promise中then()返回的是一个promise对象? true OR false
实现一个函数,在不知道函数参数的个数下,返回函数所有参数相加起来的和
hr面试
一上来就给我看昨天的笔试成绩(惨不忍睹 不及格)然后告诉我 你知道什么意思了吧
介绍一些自己,从生活的各个方面,来自哪,平常都干什么,生活经历等
你在你之前的生活遇到最难的事情是什么,难在哪,怎么度过的,讲一讲
用两个词来形容你自己,为什么
你今天的状态是不是很好?(啊哈?)
你最近身体是不是不舒服?(啊哈?)
有没有什么问题要问的?
技术面
项目中使用搜索框时,一般为其添加一个change事件,但当用户连续在输入框中输入,就会不断执行change事件的事件处理函数,不断发起请求从后台获取搜索结果,该怎么优化?
建议我去看看loadsh
git add了一堆文件到工作区,此时还未commit,突然其中有一个文件我不想commit了,想让他退回到add之前,怎么操作,换句话说就是撤销单个文件的add操作(交谈中提到了stash命令)
git中他是怎么知道文件哪些改变了,git add和git commit这些操作都做了什么将文件添加到哪了(建议多去想一想这些操作实现的数据结构)
一面
盒子模型,如何设置想要的盒子模型?
实现三列布局,左右固定宽度中间自适应?
vue的生命周期
闭包的概念
继承的实现
二面
vue 比如一个图表的组件,从创建到使用,细节方面都说说(比如暴露了哪些属性在外面),因为图表一般都是响应式开发的,当浏览器窗口变化了,是如何实现让图表大小跟着变化?
vue的文档结构,比如组件放哪引用他的文件放哪
怎么样来判断什么时候使用的是计算属性,或什么时候用的是原属性,应用场景举例
let声明一个变量的特性
const生命一个变量的特点,如果const生命一个json对象,它还可以改吗
console.log( ) , 此 处 的 ),此处的 ),此处的是jquery的那个$,这个打印出来是什么
普通事件与事件监听的区别
手写一个jsonp的实现
跨域的方法有哪些
实现算法,将一串数据,其中包含数字和字符串,让这一串数据进行升序或降序的排列(字符与数字之间的比较是:字符的ASCII码与数字的大小比较)
hr面
为什么从上个公司辞职
平时都看哪些书
未来的职业规划
有什么要提问的
笔试
1 + new Date()?
(忘光光了。。。囧)
技术面(因为是直接参加完笔试就去带着答题纸去排队参加面试,真的是排队两小时,面试5分钟)
自我介绍
var m = {a:1}; let n = {a:1}; m == n? m === n? 为什么?
vue的什么周期
简单介绍一下vue这个框架,它与一般框架的区别
提一个问题问我(面试官)的
自我介绍
开发中对图片的处理
如何判断浏览器是否支持该图片的格式?(面试官告诉我:webp格式的图片格式 兼容性比较好,优点蛮多,先发一个1px ×1px到浏览器判断是否支持,支持的话再发整个图片)
base64的优点缺点
会所有图片都转为base64吗?为什么?有哪些图片会选择使用base64?
如何实现事件解绑?(期间面试官给我讲了这两个jQuery的方法jquery.on,jquery.off)
介绍vue的生命周期并说明每个生命周期中一般都干什么
如何给动态DOM绑定事件(事件委托)
给动态DOM是直接绑定不了DOM事件的,为什么?
怎样开发一个页面?从开发过程讲到后期优化
讲一下prototype
从内推到接到面试通知等了半个月
笔试:
一行代码实现 随机打乱数组的顺序
实现一个函数节流,第一次的时候执行参数给的函数之后在定时器间隔时间内都不执行,函数的参数有执行函数method和时间间隔duration
根据传入的节点元素,返回出它的Xpath,即body>ul>li[2]>span[2]
项目中遇到的一个技术难题及其解决思路
git中切换分支
一行代码,将childNode或arguments等非数组对象转换为数组
实现一个函数,将ComeDateName这样的驼峰命名转化为come-date-name,尽可能写出多的方法
var string = “我的账户余额:2,235,467.20”;请用js计算出到底有多少钱(输出Number类型数字,代码尽量简洁,考虑通用情况,使用正则),即2235467.20
面试:
自我介绍
简单介绍一个做过的项目
原生ajax怎么实现
get和post的区别,两者的应用场景,什么时候用get和post去请求
实现跨域的方法
手写一个从后台获取列表数据将其呈现到页面的vue文件,从开始写,不用写样式
v-if="(key,val) in arr" 在使用v-if的时候会提示要加上key这是优化后的结果,为什么要加上key?而且在开发过程中不加上key会报错这又是为什么?
箭头函数的特点? 在使用axios获取后台数据,在之前会设置self = this; 如果在axios中使用了箭头函数,则还用进行上述设置吗?
vue文件中使用 data () {return{…}} 和 data: {…} 定义数据时,他们两的区别?
对于一门新的技术,你是如何学习的,有什么计划,比如拿你最近正在学的东西举例
当一个页面在其他浏览器能正常显示然后就在某一个浏览器不能显示了,第一时间应该怎么做?
如果一个页面在电脑上能正常显示,但到了手机上不能正常显示了,有哪些措施可以找到错误所在?
是否知道async,await
以上参加面试的公司都不是什么大厂(对自我水平还是有个很好的认知的),都是些杭州的独角兽或准独角兽公司。在秋招的整个过程中经历过充满希望,也经历过绝望,记得最忙的一天是早上两面,下午两面,中午还有一个学校的演讲。现在回想起来也不觉得多辛苦,反而这样的生活很充实,在看牛客网的时候,看到人家面试了十多家公司,有的还要跨省坐飞机去参加面试,我就觉得我这都不算辛苦。
最后附上我对前端知识和一些常遇到的问题的总结,有的给了答案但仅供参考,一些非常基础的知识我就没有列出来的,但都是要记得滚瓜烂熟的。
想查看整个文件的这去下载 : 下载传送门