查找不足,不断学习。
接到的第一个电话面试就是阿里的,懵…面了40多分钟,自我感觉答得还及格,结果还是跪了,毕竟不够优秀。开始简单自我介绍了一下不提。能记得问题整理一下:
1.HTML最顶部的声明是什么作用?(我以为是head标签的引用,说了一堆之后被告知理解错了,然后一紧张忘了,这种基础都能忘?)
<DOCYTYPE>告知浏览器用哪种HTML或XHTML规范,告知浏览器按何种规范解析页面。
2.你认为前端是什么,应该包括什么内容?
是一个产品最接近用户的一端,是产品、设计和后台整合后呈献给用户的结果,起到连接桥梁的作用。他能够将后台的功能展示给用户,优化视觉效果、交互逻辑,如果没有前端,普通用户无法直接看到和体验到后台的功能。
前端最基本的三个技能,HTML,CSS,JS,HTML定义元素,CSS对展示的元素进行定位,再通过JS实现相应的效果和交互。合格的前端工程师还应该具有http标准、W3C标准和ECMAScript标准的硬知识,Web系统必须要有服务器的请求等操作,因此了解网络协议是必需,同时了解W3C等标准,不能了解ES,对JS也做不到合理应用。框架和类库能够大大提高开发效率。
3.对前端框架的了解?
列举了常用的及其特点,实际只简单用过bootstrap(没做过大项目,硬伤)。
三大主流前端框架vue.js、React、Angular。
4.JS的闭包,定义和使用。
闭包:是指有权访问另一个函数作用域中的变量的函数。
创建闭包的常见方式就是在一个函数的内部创建另一个函数。在另一个函数中,内部定义的函数会将包含函数(即外部函数)的活动对象添加到它的作用域中。应用闭包的两种情况:(1)函数作为返回值;(2)函数作为参数传递。
5.状态码304的意思,然后怎么处理?(顺便,其他状态码了解一下)
304Not Modified:客户端有缓冲的文件并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
如果客户端在请求一个文件的时候,发现自己缓存的文件有Last Modified,那么在请求中会包含If Modified Since,这个时间就是缓存文件的Last Modified。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回304还是200。对于静态文件,例如:CSS、图片,服务器会自动完成Last Modified和If Modified Since的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含Last Modified信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个200的请求。 一般的大的站点的图片服务器都有实现HTTP 304缓存功能。
这个304状态一般主要在用户刷新页面(F5键)的时候触发,当用户在刷新页面的时候,因为原来的页面里的很多图片已经缓存过,客户端的浏览器已经记录了图片的最后更新时间(Last Mod),所以在用户刷新页面的时候,会向服务器提交一个字段:If-Modified-Since: Wed, 08 Sep 2010 21:35:06 GMT 这个时候,服务器端的程序先取得这个字段的值,然后与服务器上的图片最后修改时间对比,如果相同,就直接返回304 Not Modified,然后停止。这样就不用把图片重新传输到客户端,达到节省带宽的目的。
200表示正常0k。
301Moved Permanently 表示客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
6.JS的继承,重点问了原型链继承。(答得不好,划重点!)
继承的实现方式:原型链继承,构造继承,实例继承,拷贝继承,组合继承,寄生组合继承。
7.定位position的几种方式。
static:(没有定位)position的默认值,元素处于正常的文档流中,会忽略left,top,right,bottom和z-index属性。(静态定位top无效)
relative:(相对定位)元素设置相对于原本位置的定位,元素不脱离文档流,因此元素原本的位置会被保留,其他的元素位置不受影响。
absolute:(绝对定位)给元素设置绝对的定位。(1)设置了安保搜lure的元素的祖先元素为relative或absolute,则这时的定位对象相对于已设置了position属性的祖先元素。(2)如果没有设置了position的祖先元素,则相对于body定位。
fixed:特殊版的absolute,总是相对于body定位。
inherit:继承度元素的position属性。(IE8以前的浏览器不支持)
sticky:设置里sticky的元素,在屏幕范围(viewport)时元素的位置不受定位影响(设置top,left等属性无效),当该元素将要易初便宜范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果。(滚动起来的时候margin无效)
8.CSS如何设置水平居中
https://www.w3cplus.com/css/elements-horizontally-center-with-css.html
9.对网络协议的考察, TCP和UDP的区别?
TCP与UDP基本区别:(1)基于连接与无连接;(2)TCP要求系统资源较多,UDP较少;(3)UDP程序结构较简单;(4)流模式(TCP)与数据报模式(UDP);(5)TCP保证数据正确性,UDP可能丢包;(6)TCP保证数据顺序,UDP不保证。
10.关于浮动清除,BFC。如何清除BFC的浮动?(这个问题是问了最久的,答了一个方案之后又问其他的,可是我只知道那么多╥﹏╥)
and清除浮动
等问题。