漏点其他公司面试不到的前端面试题

最近面试有点多,最多一天7个人。。。但成功率着实不高,原因嘛,之前交代过了。

今天突发奇想,要聊聊面试题。好吧,既然笔试题取消了,面试题的比重当然就要有相应的增加。

我的面试题的比例大概是这么分配的:HTML 10% + CSS 20% + JS 50% + 前端外知识 10% + 技术视野 10%。这是个大概的比例,内容分类也就这么多,当然要看候选人的实际情况,偶尔出来灵感想起啥就问啥(虽然能让我兴奋起来的面试者,最近20人里才有俩)。

整个面试时间,从2分钟到1个半小时不等(尽量挖,挖到你的老底)。

回归今天的主题,漏点我的面试题: CSS部分

CSS作为前端的基础中的基础,虽然来面试的大家伙儿都能写页面,但基础好的真的不多,CSS问题不多,都是问得基础,这里举几个例子:

  1. box-sizing 的默认值是什么?作为读者的你,能第一时间回答出来么?这个属性作为我们解决边框占用盒模型宽高的问题最好用最常用的手段,用过的你可否了解它的默认属性是什么?也许你知道我们经常要写 box-sizing: border-box,但从没想起来要了解它的默认值吧?速度去查查文档吧。

  2. flexbox 如何让里面的元素支持换行? flexbox 作为一个非常牛逼的万用布局方式,被FB首选(也是唯一选择)用来做React Native的布局方案,但你是否仔细研究过有关它的许多设置项?

  3. position 有几种取值?大多数面试者都能说出 relative absolute fixed,这都没问题,但你知道它的默认值是什么么?20%的人能答出 static,可喜可贺,恭喜你拿了90分,我还没遇到过拿满分的面试者。最后十分是留给 -webkit-sticky 的,这个属性在OSX的 Safari 和 iOS的 Safari 上支持的很好,至于效果嘛,你知道 Bootstrap 有个 affix 插件么?就是这个作用,CSS可以做到的哦。

  4. CSS中有一些函数,你知道几个? 这里直接给答案了 hsl rgb rgba url calc attr ,还有 transform 下面一堆都是。

  5. 基础中的基础,你知道伪元素和伪类的区别么?单冒号和双冒号的分别代表的是?写出你知道的伪类。首先,前面的概念能分清的人就不多,天天写的东西,不知道写的是什么。。。再次大家会写 hover link visited 这些最早的伪类,有些经验多点的可能会写出 first-child 甚至 nth-child 。但我还没遇到能写出 disabled valid invalid out-of-range 的人。基本上可以断定,你能写出这些,你是看过我博客这篇文章的人XD。当然伪类和伪元素数量众多,这里就不都列出来了,有心人可以去自己找找答案,当然也可以顺着这里一窥究竟。

今天要说的,结束。

PS:经常给一些实习生的建议:多看英文一手资料,少看慕课这种低效的国人三手教程,英语一定要过硬,最起码读要过关才行。