如何看待目前前端面试中,很多公司很少或不问CSS,而直接问JavaScript、框架、Node.js?

103 阅读4分钟

这是一个让老前端叹息的时代,已经没几个人能搞懂CSS了。

我在35岁卡进阿里前端P7,从毕业后一直从事前端工作。先说结论,CSS在目前的前端面试中确实问得不多。主要原因是 CSS 现今的应用较少,知识点零散,面试中专门问CSS性价比很低。

往深处挖,CSS上手简单,精通却很难,还有不少遗留问题,大多数前端开发者抱着够用就行的心态,因此CSS的地位也在不断降低,进入了恶 性 循 环

前两年我在美国的Apple做全栈工程师,由于对前端很感兴趣,又转回国内,几经辗转拿了阿里前端P7(踏上了不归路)。现在前前后后也面试了100+人。

接下来分享一些关于CSS的高频题。

CSS 中 link 和@import 的区别是?

(1) link 属于 HTML 标签,而@import 是 CSS 提供的

(2) 页面被加载的时,link 会同时被加载,而@import 被引用的 CSS 会等到引用

它的 CSS 文件被加载完再加载;

(3) import 只在 IE5 以上才能识别,而 link 是 HTML 标签,无兼容问题;

(4) link 方式的样式的权重 高于@import 的权重.

position:absolute 和 float 属性的异同

§ 共同点:对内联元素设置 float 和 absolute 属性,可以让元素脱离文档流,并且可以设置其宽高。

§ 不同点:float 仍会占据位置,absolute 会覆盖文档流中的其他元素。

CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3 新增伪类 有那些?

1.id 选择器( # myid)

2.类选择器(.myclassname)

3.标签选择器(div, h1, p)

4.相邻选择器(h1 + p)

5.子选择器(ul > li)

6.后代选择器(lia)

7.通配符选择器( * )

8.属性选择器(a[rel = "external"])

9.伪类选择器(a: hover, li:nth-child)

优先级为:

!important > id > class > tag

important 比 内联优先级高,但内联比 id 要高

CSS3 新增伪类举例:

p:first-of-type 选择属于其父元素的首个

元素的每个

元素。

p:last-of-type 选择属于其父元素的最后

元素的每个

元素。

p:only-of-type 选择属于其父元素唯一的

元素的每个

元素。

p:only-child 选择属于其父元素的唯一子元素的每个

元素。

p:nth-child(2) 选择属于其父元素的第二个子元素的每个

元素。

:enabled :disabled 控制表单控件的禁用状态。

:checked 单选框或复选框被选中。

此外,还有:

CSS盒模型与弹性盒布局

CSS Module 的使用

什么是CSS modules?

接下来聊聊目前前端面试的高频题,以及学习路线。

JavaScript 再讲回来,JavaScript也属于编程基础知识,重点需要掌握的有:

类型:字符串值,数值,布尔值,数组,对象。

原型链:JavaScript继承的方法之一

作用域:作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上访问,变量访问到 window 对象即被终止,作用域链向下访问变量是不被允许的。

闭包:使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

在 js 中,函数即闭包,只有函数才会产生作用域的概念。

事件:HTML 事件是发生在 HTML 元素上的事情。当在HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。

异步:在函数返回的时候,调用者还不能够得到预期结果,而是将来通过一定的手段得到结果(例如回调函数)。

正则表达式:检索、替换那些符合某个模式(规则)的文本。

框架

其中,React、Vue、Angular重点掌握一款就好。

一、Angular

必须使用它的模块机制 ,必须使用它的依赖注入 ,必须使用它的特殊形式定义组件。Angular带有比较强的排他性,约束多,擅长复杂中后台场景和多人协作。

二、Vue

具有轻量级的框架,学习成本低,运行速度快,但社区可能没有Angular和React那么丰富,很缺乏高阶教程与文档,不利于seo优化。

三、Angular

可以学习模块化编程和如何测试模块,简化开发流程,随着google的大力支持和逐渐流行,有些岗位需要有angular的知识才能工作。