前言
最近看到一位博主吐槽怎么现在很多前端面试中,很多公司很少或不问css,而直接问JavaScript、框架、Node.js这个问题,说现在满世界 Vue、小程序的简历,问啥 css啊,好多人 position 有啥值都不知道,z-index 值和 position 层叠关系都不知道,问了就挂,咋张嘴问…… 就更别提啥权重值怎么计算的这种稍微“难”一点点的问题了,考察更深入一点的,比如值处理步骤乃至到 CSSOM 就想都别想了。
个人是认为这说明业界前端的业务以pc系统后台类的居多。现在这些后台,不再需要兼容IE,界面有相对来说规则,而且又有postcss这类css编译工具,基本上不会有太大的css问题。但是如果一个前端团队以移动端业务开发为主的,那css可以问的问题还是很多的。
正文
但我这边是要面的。很多公司面人的问题千奇百怪,甚至是很脱离实际开发工作,我个人对这样的面试没有好感,我自己弄了一套面试题目。非常遗憾,我的问题不多,也不偏离业务开发,但面试快一年了,全答上的面试者有一个。那哥们我很喜欢,给了offer,不过别人没选我这边。其余的起码大几十个面试者,都或多或少地“翻车”,我也只能挑几个翻车不严重的人进2面。哪里翻车最严重?CSS!我只有4道CSS面试题,90%的面试者翻车。
第一道:有3个div,呈竖向排列,第一个div贴顶,第三个div贴底,中间的div填满剩余空间。该怎么做?(flex,grid,js动态计算)
第二道:我要写一个弹窗,需要水平竖直居中,同时它不能被其他元素遮掩。该怎么做?
(居中,zindex,zindex的从父原则)
第三道:你的移动端的自适应是怎么做的?
(rem,vwvh。其实这两个等比放大缩小的自适应单位解决方案是不够完美的。内容用px + 排版用自适应单位 + 布局采用flex/grid才是解决移动端自适应的最优解)
第四道:如何减少重排。
这4个题是真的不难,我原先的设想是搞几道css做开胃菜,慢慢深入了解面试者,然而这个翻车率是我始料未及的,特别是很多的面试者都在简历上注明:擅长/熟练使用Flex布局。想想面试那段时间都挺头疼的,比如发请求拿数据,每个前端都要做的事。问怎么区分返回内容是文件流还是json数据,其实就一个content-type,答上来的人不多。问平时怎么上传文件的?就一个form-data,很多人也不会。再问怎么看一个资源的缓存情况,一个control-cache,就更没人会了…
我不想问一些httptcp、什么链路层、什么三次握手、什么https的加密规则,平时工作用不着,刻意去背一背应付面试,不见得能体现一个面试者的水平。但我问的这些这么实操的东西都不知所云,那是绝对行不通的。现在很多前端,只会跑vue-cli搭建个项目,import一下ui库,就觉得自己没问题了,实际上在我眼里连日常开发工作都应付不了。
我这种还算好的了,碰到喜欢出越深越好,越偏门面试题的,可能是真不想招人,不想要KPI,但要是换他来答题,十有八九更差劲(别杠,杠就是你对)。虽然说是问CSS少了,但不怕一万就怕万一,咱们可别因没准备吃了哑巴亏,所以我整理了一套前端面试题免费分享给大家,里面包括了CSS,大家在准备面试时,也别忘了看下CSS哈。
有需要的朋友可以戳此传送门即可获取完整版的 PDF 哦
面试题
CSS
1.页面渲染时,dom元素所采用的布局模型,可通过box-sizing进行设置。根据计算宽高的区域可分为
2.ie盒模型算上border、padding及自身(不算margin),标准的只算上自身窗体的大小css设置方法如下
3.几种获得宽高的方式
4.拓展各种获得宽高的方式
5.边距重叠解决方案(BFC)BFC原理
6.cssreset和normalize.css有什么区别:
7.居中方法
8.css优先确定级
9.如何清除浮动
10.CSS开启GPU加速
11.开启GPU硬件加速可能触发的问题
12.CSS中link与@import的区别
13.CSS选择器列表优先级及权重
14.display:none和visibility:hidden的区别:
15.介绍一下CSS的盒子模型
HTML
1.你是怎么理解HTML语义化
2.你用过哪些HTML5标签
3.metaviewport是做什么用的,怎么写?
4.H5是什么
5.label标签的作用
6.行内元素有哪些?块级元素有哪些?空(void)元素有那
些?
7.a标签中如何禁用href跳转页面或定位链接
8.canvas在标签上设置宽高和在style中设置宽高有什么区别
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
10.iframe有哪些缺点?
VUE
1.vue.js的两个核心是什么?
2.vue的双向绑定的原理是什么?
3.vue生命周期钩子函数有哪些?
4.请问v-if和v-show有什么区别?
5.vue常用的修饰符
6.nextTick
7.什么是vue生命周期
8.数据响应(数据劫持)
9.virtualdom原理实现
10.Proxy相比于defineProperty的优势
由于篇幅问题,只展示了一小部分,有需要的朋友可以戳此传送门即可获取完整版的 PDF 哦
最最后还是想说,无论我们遇到什么样的面试官,被问到什么题,你都要相信你是最棒的!祝小伙伴们在金三银四之际顺顺利利拿到心仪offer!喜欢小编这篇文章,请留下你们的点赞留言支持小编,谢谢啦~