前端广深面试之旅

197 阅读7分钟

           最近经历过一些面试,想把一些面试经验给大家分享一下,好的公司面试完给你带来挺多思考,差的公司以后就别去了,基本面试得很敷衍,对于想跳槽的人来讲,等于是浪费了机会。

          今年行情比较不好,面试门槛也相对提高了,对于求职者没有充分的准备,显示是不行 的了。

          以下整理了一些面试题目,有兴趣的同学可以参考参考,也可以提出指正。

一家华南地区的大型直播公司:

电话面:

1.vue与react的区别

2.url从输入到展示发生了什么?

3.cookie与localStorage的区别,什么时候用cookie,localstorage

4.如何进行缓存

5.离线存储有了解过吗?

6.es6 map和set的区别

7.如何进行性能优化,如何判断一个请求的时间

8.最近看过什么书?

9.最近了解过什么技术?

一面:

1.vue directive\components有哪些注册方法

2.vue的生命周期有哪些

3.vue里在created拿dom要怎么拿?nextTick是做什么的 ?

4.vue是构造函数还是对象,挂在他上面的有哪些属性

5.vuex和obj有什么不同?

6.router背后做了什么?是怎么实现单页面应用的?

7.node里a.js、b.js里循环引用会发现什么?

8.webpack 整个流程的经过?插件的工作原理?loader是做什么的 ?loader和plugin的区别?

9.vue里v-model的实现过程是怎么样的?

10.虚拟dom是什么?虚拟dom的性能一定比真实dom好吗?

11.es6用过哪些?判断数组的方法?

12.axios的源码有看过吗?

13.从页面拿到html到渲染发生了什么?

14.跨域的方法有哪些?

15.缓存的方法有哪些?

16.性能优化的方法?

17.webpack可以加载css文件吗?

18.tcp三次握手、四次挥手?



bat其中一家的电话面:

1.项目

2.服务端性能

3.有过什么性能优化,性能监控、异常监控做过什么

4.兼容性

5.安全性

6.移动端调试

7.关注社区

总结:感觉问项目基本围绕这几方面来提问,平时做项目应该多留意这些方面,不能做完项目就不去思考。


某上市做中间件公司:

1.CORS过程中get请求发生了什么?请求头 有哪些,响应头有哪些?什么情况下要发起options请求

2.immutable.js在es6里有什么方法可以实现?

3.redux的流程

4.关于改造redux-thunk的,如果有promise函数,如何把流程让给下一个

5.gitlab-ci部署做了什么?

感觉这家公司面试官挺有水平,有兴趣的同学可以面一下。

华南地区大型酒店互联网公司:

笔试

1.哪些方式可以判断类型,写一个函数实现?

2.数组的方法,哪些会改变原数组,哪些不会?

3.类型相关判断题?

4.哪些css属性可以使元素不可见?

5.css位置相关的题目

.div1,.div2,.div3,.div4,.div5,.div6 { 
   width: 100px;
   height: 100px;
}
.div1 {
   position: relative;
   background: #000;
}
.div2 {
  position: absolute;
  z-index: 10;
  background: red;
}
.div3 {
  background: green;
}
.div4 {
  position: absolute;
  background: yellow;
}

.div5 {
  position: absolute;
  z-index: -1;
  background: #0c0c0c;
}

.div6 {
  background: blue;
}
<div class="div1">
   <div class="div2"></div>
   <div class="div3"></div>
</div>


<div class="div4">
  <div class="div5"></div>
  <div class="div6"></div>
</div>

6.事件循环,promise、async、setTimeout相关问题。

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');

7.实现正则,例如http://www.baidu.com/static/a.js

拿到非static、非common文件下的js文件

8.BFC相关的css题目。

面试:

1.同源策略?解决跨域的方法。

2.vuex

3.promise的方法有哪些?

4.怎样加快首屏渲染。

5.axios封装错误提示说说是怎么实现的?

6.vue ssr实现过程。

7.webpack配置多个入口文件,配置压缩文件。

8.发生内存泄漏有哪些情况?

9.vue和react喜欢哪个之类的?

10.let和const的区别?const声明的对象为什么不能被修改?

11.cookie和localStorage的区别?cookie和localStorage、sessionStorage的区别?

12.几个标签页之间如何通信?

13.单页面应用打开非常缓慢,如何去做一些性能优化?

14.如何处理0.5px;

15.get和post区别是怎么样的?

16.如果非浏览器端缓存如何每次取到最新的资源?


某华南地区CRM龙头企业:

1.用3种方式实现2栏布局。

2.

function() {
   var i = 0;arr = [];
   for(i = 0;i < 3;i++) {
     arr.push(function() {
        console.log(i);
     }
   }
 });

arr[0]();
arr[1]();
arr[2]();

3.算法相关的:

(1)."a=12&b=s",写一个函数a的值。

(2).有一个类Stack,实现一个push、pop、getMin方法,getMin要求算法复杂度最小。

(3).有一个字符串,求最长不重复的子串。

4.http相关?计算机网络?304请求浏览器和服务器交互的细节?原理

5.性能优化相关的:

(1)1000个div渲染,要怎么优化性能?

(2)1000个div做事件委托。

一面主要是根据笔试题做一些扩展提问。

二面:

1.设计模式相关的,观察者和被观察者模式怎么实现,单例模式怎么实现。

2.a、b、c更新依赖,那会全部更新,可以怎么优化?

3.eslint要去限制用户的提交,做在哪一个比较好,如果开发者不安装eslint工作,绕过了,该在哪一步设置?

4.有哪些mvvm框架、mvc和mvvm的区别?


某中国大型手机公司:

有一道比较有意思的题目。

给一个对象

var obj = {
    id: xxx,
    name: xx,
    item: xx
}
var arr = ['id','name'];

提问:给一个对象,这个对象根据一个数组,返回一个新对象

各位同学可以思考下有多少种方法实现。

某华南地区大型音乐公司

一面:

1.如何减少重绘、重排

2.组件维护的数据很多,如何做优化。

3.css预处理器都用到什么?

4.手机端的页面怎么知道瓶颈在哪里

5.vue源码里有哪些好的地方?

6.form.body提交有哪些字段?

7.object.assign和扩展运算符相同不?

二面主要是根据一些项目聊。

某大型fm音频公司

笔试:

1.

.div1,.div2,.div3,.div4,.div5,.div6 { width: 100px;height: 100px; }
.div1 {
  position: relative;
  background: #000;
  z-index: 2;

}

.div2 {
  position: absolute;
  background: red;
  z-index: 10;

}

.div3 {
  background: blue;
  z-index: 2000;
}


.div4 { 
  position: absolute;
  background: green;
  z-index: 3;
  top: 0;
}

.div5 {
  position: absolute;
  z-index: -1;
  background: yellow;
}

.div6 {
  z-index: 1;
  background: orange;
}
<div class="div1">
  <div class="div2"></div>
  <div class="div3"></div>
</div>

<div class="div4">
  <div class="div5"></div>
  <div class="div6"></div>
</div>

2.实现一个sleep函数

3.做一个div正方形,长是屏幕的45%。

4.

function a() {
   return b;
   function b() {};
   var b = 'xx';
   b= 22;
}
typeof a()

输出什么?

5.垂直居中的几种方法?

6.实现一个bind

7.正则

 1.8-12个字符

2.数字和字母组成

面试:

1.xx.jpg -> xx_90*90.jpg

2.发布订阅模式

3.vue的源码

4.什么是深拷贝、浅拷贝分别实现一个

5.react 16增加了什么特性

6.性能优化

7.事件循环机制

8.cdn是怎么实现的?

9.设计一个组件是怎么设计。


某华南龙头互金公司:

机试:

1.div题目

2.onload  判断加载成功,.判断加载失败

面试:

1.flex布局完成3栏布局怎么做?

2.唤醒app库是怎么做?

3.详情页里的sku库存怎么实现的?跳到购物车?

4.redux的单向数据流是怎么样?

5.nginx是怎么样的?有在服务器配过吗?

6.setState是同步的还是异步?事务的概念,state变化是怎么驱使视图的变化?diff过程是怎么样的?

7.使用了ts有什么好处?

8.实现webpack插件要经过哪方面的步骤?

9.怎么实现redux-thunk?redux-thunk有什么好处?

10.http请求的底层是基于什么?

11.http1.0->http1.1->http2.0都有哪些特性?

12.转盘宽高要怎么实现?


以上就是今天面试的一些题目,希望能对大家有帮助,由于也隔了一段时间,难免很多细节问题都遗忘了,只能记得一些比较有代表性的问题,供大家以后求职参考。