面试题总结(二)

181 阅读5分钟

原因

我又来写面试题了。 "学而不思则罔,思而不学则殆。",这是第二篇了。让我想想,写哪次面试的好呢。。就写前天的一个面试吧。

本地记录

这个是现在网上做了笔试题,然后再视频面试的。微信问了结果,但是没回我,就尴尬,姑且就当它凉了吧。

某云(笔试)

问的问题都挺基础的。但是有些我确实忘了或者不知道。

1、内联元素有哪些?
2、块级元素有哪些?
3、空元素有哪些?
3、html5新增的属性有哪些?
4、css3新增了哪些伪类?
5localStorage、sessionStorage、cookie的区别?
6、如何让div居中显示?
7、盒模型是啥?
8、apply 和call的作用和区别?
9、怎么清除浮动?
10、Vue、React、Angular的区别?
11、Vue中双向绑定是怎么实现的?

大概就是这11个了,还有些不记得了。。

解答一波:
第一题:
有span,em,strong...写了三个。
补充:还有一个<a><i>是常用的。
第二题:
有divliulph1~h6headerfooterarticlesection等等
第三题:
空元素就是指没有子级节点和内容的。没有闭合标签。
有 <br><hr>
补充: 还有<img><input><meta>等常用的
第四题:
em...我当时满脑子的 ::before::after,
答案:   ::before::after是伪元素。。。css3新增的伪类应该是有好几类的,如下:
① 结构伪类选择器
div:first-child
div:last-child
div:nth-child(n)   这个重点是第n个孩子,(它有可能为div,则选中,如果不为div则不选中)
div:nth-of-type(n)  这个重点是第n个类型为div的
等等
一般的形式是这样子的:  div p:first-child {color:red}
② 属性选择器
div[class ^= "font"]
div[class $= "font"]
div[class *= "font"]等等

。。另外还有伪元素选择器
E::first-letter
E::first-lined等等

创建一个伪元素
div::before
dib::after
该元素为inline元素,且必须设置其content属性。

第五题:
大小不同: cookie的大小一般为4kb。而localStorage和seesionStorage的大小一般为4M,依靠于具体的游览器实现。
生命周期不一样: cookie是由服务器设置的。localStorage是一直存在的,除非手动清除。seesionStorage则是当页面关闭时清除。
安全性:cookie携带在请求头header中发送给服务器的,localStorage和sessionStorage则存在于本地不携带。
第六题:
一个是margin: 0 auto;
一个是利用定位。"子绝父相"。偏移量: 高度确定则可用高度/2,高度不确定则用translate(-50%, -50%);
还可以用flex中的justify-content:center;
第七题:
盒模型分两种。一种是标准盒模型和IE盒模型
都由 contentpaddingbordermargin组成
标准盒模型若设置width:400px; 则指的是content400px,可由 box-sizing:content-box;指定。
IE盒模型若设置width:400px, 则指的是content + padding+ border的大小。 可由 box-sizing:border-box;指定。
第八题:
略... 上次有说过了。
第九题:
一般可以使用"空标签法", 在后边加个
<div class = "clearfix"></div>
样式:
.clearfix {
    clear:both;    
}
或者使用对父元素进行添加伪元素::after加即可
也可以对父元素使用overflow:hidden;这样其实就是触发了BFC,但是溢出的部分会被隐藏掉。假如有溢出的话要看情况使用这种方法。
第十题:
em...写了一个 AngularGoogle团队的。ReactFacebook团队的。Vue是尤雨溪团队的。

自己知道的区别就是,Vue提供的是一种类似html的模板写法,vue有单文件组件,可以把htmlcssjs写到一个文件中来,html提供了模板引擎来处理。而React则是使用js的一种写法"jsx",用js生成html,用js操作css等等
Vue 自带局部改变局部刷新,React则是要手动设置,不然一个改变全局渲染。
其他的确实不了解... 等以后自己学到了再总结吧。不然也理解不了的。

面试

有一些题就是笔试的题,自己做笔试题的时候,不会的已经查阅资料学习了一下==

1、盒模型大概讲一下
略...
中概念
2、css的权重可以说一下吗?

3flex布局说一下,比如两端对齐怎么写?
自己其实专门复习过,但是当时脑袋抽了,一篇空白。
flex布局这个还是挺有用的,在这个 IE 众叛亲离的时代。
两道对齐对父元素使用 display:flex;justify-content:between-space;即可。
另: 我在这里再总结一下flex吧;

4、经典的"圣杯""双飞翼"有了解吗?

以前刚学前端的时候看过。但是忘了。所以,就很尴尬。
经过查阅资料,总结如下:
5、清楚浮动的方法有哪些?
笔试题里面的...略。。
6、从输入URL开始到浏览器画面渲染出来,发生了什么?请尽可能详细说明。
这个题其实自己平时也尝试回答过。但是当时回答得并不是很满意。很多细节的地方确实不记得了。
当时就说了 dns查询, 然后三次握手,发送请求,后台接收请求,操作数据库返回html,接收html,再依据资源发送多个请求,接收到各类资源后,四次挥手,进行加载,渲染,布局完成,呈现。
现在经查阅资料,重新总结如下:


7、页面是怎么加载的?为什么cssdom要在js加载前加载完?
8、浏览器的缓存有了解吗?
9、改变this的方法有哪些?能手写call,apply,bind的实现吗?
10、sessionStorage、localStorage、cookie的区别
11、ajax有了解吗?底层是什么?
12、防抖和节流知道吗,防抖是用什么实现的?
13、可以说一下值传递和引用传递吗?
14、深拷贝是什么?可以手写实现吗?
15、前端优化你一般是怎么优化的?
16、算法。排序,冒泡和快排,可以手写吗?
17、还有还么要问我的吗?

这个面试官没有问项目,说是刚毕业也没啥项目,只能问这些基础了。

这个文章其实是在7月初写的,坑挖了不少,我还是先发表吧。后续再填。 是的,又有新东西要记录了。