写在开头

面试总时长大约100分钟,下午3点面试,结束接近5点样子。总体感觉就是体会到了差距,但也算是一次历练吧,大场面我都经历过了,也无惧小场面了。下面就将面经分享一下,主要是分享一下题目把,答案网上应该都能找到。

PS:题目肯定是不唯一的,写这篇博客的原因:

  • 记录总结这次面试
  • 分享一下面经
  • 体会差距,努力学习

注:不代表这套题就是你会被问到的,可以学习一下面试模式

此次面试官:IMWeb团队 前端架构师

正文

(关注下面题目,如果有dalao在,可以评论区答复,欢迎交流,我会以数字序号标注题目)

1、自我介绍

开场多半都是这样

2、询问你在大学学了哪些课程,你觉得你学得最好的是哪一门?

这里的话,接下来的话题就会围绕你觉得学的最好的课程来展开

3、先用js手写一个冒泡排序

这期间还问了时间复杂度和空间复杂度,空间复杂度与什么因素有关

4、你知道打开https:www.qq.com经历了什么吗?

这个就是关于输入网址到显示页面的步骤

5、js基本数据类型

之前答的不是很好,面试官就回到了简单一点的题

6、Vue生命周期你有了解过吗?你用到过哪些?

beforeCreate 、created 等等

7、你知道cookie吗?请描述一下 cookies,sessionStorage 和 localStorage 的区别?

这里也问了cookies里面重要属性有哪些,有什么用

8、你了解SEO吗?知道怎么做吗?

这里我就答了html5一些,以及搭建hexo博客用的优化,还提及到了SEO有什么用

9、谈谈你对this的理解

因为提及到了apply和call,面试官就反问了apply和call的知识

10、你了解跨域吗?

我在谈及的时候,提及到了前后端分离模式,于是下一题…

11、说说你对前后端分离的理解

我就从JSONP时代讲到了nginx反向代理,也从原本不需要考虑跨域问题谈到现在比较主流的前后端分离模式

12、你对浏览器的理解,本地打开浏览器经历了什么?

这个当时有点懵…

13、谈谈你所了解的前端性能优化?

代码压缩,SEO、缓存等等

14、你知道gulp吗?

流…

15、你用过git吗?常见哪些指令?你知道回退是什么指令吗?

16、你了解React吗?

因为不是很了解,这里我就谈及了mvvm和mvc的区别,也说明了为啥选择学习Vue,作为学生目前了解不是很深入

17、你知道怎么不传cookied吗?你了解过http:only吗?

这个我就有点熟悉,但不记得了

18、你了解Webpack吗?

打包方面

19、对于之前打开本地浏览器那一块,你了解过dom树吗?

好像他也想问AST语法树方面,但我也不记得了

20、你了解CDN吗?在哪里你用过

21、说说你对原型链的理解?

22、谈谈你对响应式原理的理解

我提及到了Vue2.0和Vue3.0 区别 以及proxy还能做些什么

23、你了解闭包吗?

24、leetcode 电话号码的字母组合

题目

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例:
输入:”23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].

25、最后,出了4到题

① 异步、事件循环方面,具体题不急得了,但你能把下面这道题做出来,基本上没问题

原题地址及解析

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>挑战js面试题</title>
</head>
<body>
<script>
async function async1(){
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2(){
console.log('async2');
}
console.log('script start');
setTimeout(function(){
console.log('setTimeout');
},0)
async1();
new Promise(function (resolve){
console.log('promise1');
resolve();
}).then(function(){
console.log('promise2');
});
console.log('script end');
</script>
</body>
</html>

② 你如何将arguments参数改变为数组

③ box-sizing中content和border的区别

讲解各种盒模型:标准盒模型、IE(怪异)盒模型、flex、分列布局

④ 请你用正则表达式来解析腾讯qq或者腾讯其它网页的域名

结尾

好了,距离上次面试也过了两天了,我才打算写一份面经,有些题目可能不太记得了,如果后续学习的时候想到了,我会在评论区进行补充,100多分钟,想不到还问了这么多题…而且有些题目我还进行了深入探讨,比如对闭包,对v8引擎,Vue中响应式原理那一块探索设计模式。

尽管凉了,但也是一次不错的体验吧,跌倒了一次,爬起来,继续走下去

学如逆水行舟,不进则退