欢迎来到弘毅网!本网站现已开通校园用户注册,校园用户仅限合作校园IP段内注册!已注册的校园用户账号可于校外免费访问本资源库!

文章列表

面试必读

当前位置:主页 > 求职就业 > 面试笔试 > 面试必读 > 正文

HR是如何面试那些前端菜鸟的(2)

时间:2016-08-04 11:07 作者:钰杭 来源:未知 人气:

  正确答案是使用Function.prototype.bind,代码如下:

  var func = User.getCount.bind(User); console.log(func());

  这个时候我会让面试者去进行完善,如果老的浏览器并不支持该方法,我们应该怎样去兼容。部分基础较差的面试者会比较纠结,但是个人认为任何一位前端工程师都应该对apply和call有着较为深刻的理解。

  Function.prototype.bind = Function.prototype.bind || function(context) {

  var self = this; return function(){ return self.apply(context, arguments);

  };

  }

  Extra points if the candidate shims bind so that it uses the browser's native version if available. At this point, if the candidate is doing really well, I'll ask them to implement currying arguments.

  一个弹窗库

  面试的最后y一部分,我会要求面试者写点实际的东西。这个非常有用,足以了解前端的技术栈。如果前面的问题回答的较为理想,这个问题,我会非常迅速的展开最后一个问题的考察。

  虽然最终效果取决于面试者的实现,但是这里依旧有足够的考察点。

  最好不使用 position:absolute而是position:fixed,这个时候即使窗体有滚动,也可以很好的遮罩住全局。我会提示面试者这样使用,并且追问这两者的区别。

  .overlay { position: fixed; left: 0; right: 0; bottom: 0; top: 0; background: rgba(0,0,0,.8);

  }

  如何将里面的内容居中也是一个非常重要的考察点。一些面试者会使用绝对定位,而有的面试者则更擅长使用Js。

  .overlay article { position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -200px; width: 400px; height: 400px;

  }

  我会继续问,如何确保点击遮罩层时遮罩层是关闭的?这个问题可以将我们的讨论落脚到 冒泡中来。很多面试者都会直接将点击实践绑定到遮罩层上。

  $('.overlay').click(closeOverlay);

  这个接下来可以工作了,但是你会发现如果点击了遮罩层中的子元素,遮罩层也会关闭。解决方案是便是判断event target ,并且保证 这个时间不会冒泡。

  $('.overlay').click(function(e){ if (e.target == e.currentTarget)

  closeOverlay();

  });

  尾声

  当然前面的知识点仅仅是前端的一部分,实际上你还可以问:性能,HTML5 APIs, AMD vs CommonJS modules,constructors,数据类型,以及盒子模型。我经常都会随着面试者的进行去选择相应的问题

(责任编辑:晨鸿)