前端面试纪要

3月26日面试纪要

主要面试的前端方向,与其方向不符合,其重要关注的地方在H5,mobile相关的方向,现在我本人主要做的地方在React/Redux/Vue/Vuex方向。是首面和裸面,所以基本的问题也没有答好。有记下的几个题,如下。

  • 电面的时候问了Rem的问题,这个还是有所欠缺,关于dp, sp, px, em ,rem, %的区别
  • Flex Box的相关理解,需要进一步的学习
  • js设计模式?没有用到过。
  • Mobile Web相关框架的学习
  1. 现在比较流行的Mobile Web的框架
  2. Mobile Web开发的一些特质?
  3. 代码已经不能做到很好的优化了,需要通过跟Java相结合,做前端缓存,缩短链路
  • 在他们公司React和Redux现在都是由Java团队做的了,前端现在的发展方向就已经是在Web了
  • 要有自己的想法,自己要再做一些东西,所以计划做一个WebGL Graph的Render;React, Redux脚手架。

记得的面试题

  1. 第一题
//怎么判断arr中是否包含一个子字符串
var arr = ['abc', 'cde', 'fff', 'cat'];

回答说用到的includes,被质疑,可能是压力面试?或者我理解问题有误

  1. 第二题,去掉字符串中前置和后置的空字符串
    没答对,混淆了\s, \S, 正确的答案应该是
str.replace(/(^\s+)|(\s+$)/g, '');
  1. 第三题, 闭包的问题,这个没什么难度,可能没怎么说清楚?

  2. innerHtml和documentFragment哪个快,答的documentFragment快,在PC端貌似没有什么问题,在手机端还要进一步补足。

  3. 在Array的prototype里面定义了一个min,然后用for (var i in arr)之类的来访问,这样肯定会访问到prototype里面的min函数,从而造成错误。答的是用hasOwnProperty,然而应该回答使用Array.forEach函数。

  4. code如下

(function(){
  var a = b = 12;
})();

console.log(b);

b在这里应该是12,另外a在外面引用会报错。

你可能感兴趣的:(前端面试纪要)