题目原地址:https://github.com/haizlin/fe-interview?utm_source=gold_browser_extension
day01
1、[html]说说HTML中的<html>
标签有什么作用?
答:此元素可告知浏览器其自身是一个 HTML 文档。
<html> 与 </html> 标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。正如您所了解的那样,文档的头部由 <head> 标签定义,而主体由 <body> 标签定义。
2、[css] 行内元素和块级元素有什么区别,如何相互转换?
答:一般通过display属性来区分块级元素和行内元素,block代表块级元素,inline代表行内元素。
块级元素:
(1)内容独占一行。
(2)width和height可以设置。
(3)margin和padding也可以设置。
行内元素:
(1)内容不独占一行。
(2)width由内容撑开,不可设置。
(3)竖直方向marigin和padding不可设置,水平方向可设置。
(4)有多个行内元素,则会排列在一行,直到父容器放不下才会换行。
(5)块级元素和行内元素通过修改display属性可相互切换。
3、[js] 第104天 请说说json和jsonp的区别?
json是一种数据结构
jsonp是一种跨域技术:
跨域是后端收到了请求并处理返回给前端,但浏览器发现跨域了抛出错误中止了请求,
因为script标签支持跨域运行, 后端根据前端请求动态生成*.js文件,前端构造script标签加载js文件,Js文件动态执行函数,将数据注,详细的例子,请看这篇博客入例子:
前端发送请求:url: xxx/xxx?jsonpCallBack=_callback123&&jsonpId = 123 前端动态在window下构造函数 window._callback123=(data) => // dosomething 后端构造js文件, 123.js window._callback123({ userName: 'xxxx' }) 前端动态插入<script src="xxxx/xxx/123.js"></script>
4、[软技能] 描述下什么是域名解析?简述它的基本过程
这是迭代解析,也称为反复解析;还有另外一种解析方式叫递归解析
1.客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
2.当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
3.如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
4.本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
5.重复第四步,直到找到正确的纪录。
6.本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
day 02
1、[html] 如何在HTML5页面中嵌入音频和视频?
如果是mp3,mp4等常见格式可以用h5的新标签audit ,video直接写入
如果是其他格式,或者是直播流需要引入video.js等插件实现
2、[css] 怎么实现移动端的边框0.5px?
.box{ position:relative;}
.box:after{ position: absolute;trafrom:scaleY(0.5)}
3、[js] 写个方法,找出指定字符串中重复最多的字符及其长度
4、[软技能] 域名解析它有哪几种方式?
A类型
A类型可以将主机记录(二级域名),指向一个ipv4类型的ip地址,但是需要注意的是,该类型不能在ip地址后加上端口号比如:
主机记录:xx.test.com 记录值:aa.bb.cc.dd
上述记录的意思就是访问
xx.test.com
的时候实际上是访问ip
地址为aa.bb.cc.dd
的主机;但是如果在ip
地址后加上端口号记录值:aa.bb.cc.dd:port
以上的记录值是非法的;其实我就是想将某个二级域名直接解析到主机的某个端口,然后尝试无果……
CNAME类型
CNAME
类型的记录可以将当前记录指向另一个域名;需要注意的是仅仅是域名,不能在域名的后面添加路径或参数!!!合法记录值:
xx.test.com test.com www.test.com
非法记录值:
test.com/path/ test.com/123.html test.com?a=b
URL转发
URL
转发就是将当前记录跳转到另一个url
地址,因此只要是url
地址可以访问的,都可以用来转发;不过URL
转发还分为显性URL
转发和隐性URL
转发,它们的区别在于:显性
URL
转发使用301
永久重定向,即地址栏上的url
地址会换成转发后的url
地址,而非当前记录使用的url
地址;而隐性URL
转发使用的是302
临时重定向,访问时浏览器地址栏依然是当前记录使用的url
地址,但是实际访问的是转发的url
地址。