当前位置:聪少自媒体网 > 今日头条 > 正文

今日头条前端面试总结

2020-10-05 今日头条 聪少自媒体

这些问题是我在头条的一面面试中被面试官问到的,总结出来,希望对你有用 ^_^

img、span、a、sub、sup、em、i、b、strong

设置width、heigh不起作用

margin、padding垂直方向不起作用,水平方向上有效

因为上面说了行元素设置宽高是不起作用的,所以才会被问到这个,我就解释了为什么它是行元素,因为在使用中,img元素中包含图片的话,它是按照一行排列的,下面的内容是我之后查阅得到的:

img元素是可替换内联元素,可替换就是浏览器根据元素的标签和属性,来决定元素的具体显示形式,img、input、textarea、select、object都是替换元素,替换元素一般有内在尺寸,所以具有width/height,可以设定,当不指定img的width和height的时候,就按照其内在尺寸显示,也就是图片被保存的时候的宽度和高度

参考这里

刚开始我答的是width、height设置为百分比,或者用em、rem这样的单位

然后面试官说的是,里面是有内容的,这样子呈现出正方形,哦,看来刚开始被自己想的拐跑了,然后我就想到了flex,flex中的项目的排列方式设置一下

跨域这个问题,jsonp、domain、webSocket、CORS(请求头Origin字段,服务器判断,返回三个Accept-control-*字段)

跟缓存相关的HTTP请求头中有三个字段:Cache-control、Expires(指定具体过期日期)、Last-Modified(验证资源是否过期)。

关于优先级,Cache-Control比Expires可以控制的多一些, 而且Cache-Control会重写Expires的规则Cache-Control比Expires可以控制的多一些, 而且Cache-Control会重写Expires的规则,Cache-Control是关于浏览器缓存的最重要的设置,因为它覆盖其他设置,比如 Expires 和 Last-Modified

Mainfest可以缓存一个应用,pwa中有Mainfest和Service Worker可以实现缓存

参考这里

跨站脚本攻击,这些可执行的脚本由攻击者提供,最终为用户浏览器加载,不同于大多数攻击,有存储型和反射型,防御方式,编码,过滤,解码

跨站请求伪造(攻击者盗用你的身份,以你的身份发送恶意请求),一次CSRF攻击的步骤:

登录受信任的网站A,并在本地生成cookie

在不登出A的情况下,访问危险网站B

防御的方法:

总的思想在客户端页面增加伪随机值

Cookie Hashing 所有的表单都包含一个伪随机值

验证码

不同的表单包含一个不同的伪随机值

刚开始想到的就是分页的原理,就是每次服务器端返回一定数目的数据,然后面试官说假如到了100页,客户端要缓存这么多数据吗?这个数据多的话,浏览器肯定是吃不消的,然后我就说了这样的话,可以在显示某一屏的时候,缓存下一屏,这样体验好一点

利用Date对象

其中,因为setInterval函数也是存在着延迟的,所以就需要矫正时间,关于矫正时间,我当时主要从客户端出发,但是后面想到可以利用与服务器沟通,获得时间

说了双向绑定、vue-router、vue-resource,关于对象引用的情况说了数组的两种情况下的处理(设定值和改变长度)

当时在回答这道题的时候,可能表述的不够清楚,后面自己也重新做了思考,也出了它的代码

聪少爱学堂聪少
聪少爱学堂创始人,梅州市鹏鑫网络科技有限公司CEO,09年开始踏入互联网,10年互联网行业经验,资深自媒体人,自媒体优秀导师,咪挺微商团对营销引流顾问,业务包含:精准引流技术/代引流精准粉,专业小红书,知乎,微博代运营。
  • 38988文章总数
  • 1491133访问次数
  • 建站天数
  • 合作伙伴