面试题准备--html
最近准备找工作,贮备点面试题
1、对html5语义话的理解
html5的语义化指的是用正确的标签包含正确的内容,比如导航栏nav,里面就应该包含导航条的内容,标签语义化的好处是结构良好、便于阅读,方便维护,也有利于爬虫搜索
2、html5的新特性
- 首先就是语义化标签,比如header,footer,nav,aside,article,section;新增表单元素,如email、url
- 音视频元素,video,audio的增加使得我们不需要再依赖外部的插件就可以往网页中加入音视频元素
- 新增api,获取用户地理位置的windo.navigator.geoloaction
- websocket协议,可以让服务器端主动推送数据到客户端
- webStorage本地存储,sessionStorage和localStorage持久化存储在客户端,localStorage只要用户不主动删除,就不会消失,sessionStorage浏览器关闭就清除;这里再说一下cookie,cookie是存储在浏览器端,并且随浏览器的请求一起发送到服务器端,有过期时间,到了时间就自动消失,cookie只有4kb,Storage有8m,同时多个页面之间通信也是用这3个,还可以用url传参和webworker。
- 缓存,html5允许我们自己控制哪些文件需要缓存,哪些不需要
- web worker,这个是运行在浏览器后台的js程序,他不影响主程序的允许,是另开的一个js线程,这样在进行复杂且耗时的操作时就不会阻塞主线程了
3、 浏览器的渲染过程
- 首先获取html,构建dom树
- 然后根据css构建render树,render树中不包含定位和几何信息
- 最后构建布局树,布局树含有元素的定位和几何信息
- 重构:浏览器的重构指的是改变每个元素外观时所触发的浏览器行为,比如颜色,背景等样式发生了改变而进行的重新构造新外观的过程,重构不会引发页面的重新布局,不一定伴随着回流
- 回流:指的是浏览器为了重新渲染页面的需要而进行的重新计算元素的几何大小和位置,回流可以理解为渲染树需要重新进行计算,一般最好触发元素的重构,避免元素的回流;比如通过添加类来添加css样式,而不是直接再DOM上设置,当需要操作某一块元素的时候,最好使其脱离文档流,这样就不会引起回流了,比如设置position:absolute或者fixed,或者display:none,等操作结束后再显示。
4、优雅降级和渐进增加
- 优雅降级指的是一开始就构建功能完好的网站,然后再慢慢兼容低版本的浏览器,使得各个浏览器之间的差异不要太大
- 渐进增强是指在基本功能得到满足的情况下,对支持新特性的浏览器使用新特性,带给用户更好的体验

浙公网安备 33010602011771号