我是靠谱客的博主 活力水蜜桃,最近开发中收集的这篇文章主要介绍中电十所前端面试中电十所,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

中电十所

  • 自我介绍
  • 为什么学前端,怎么学习的项目?
  • get post 区别
  • axios的底层原理,优缺点
  1. axios的特点有哪些?
    答:
    一、Axios 是一个基于 promise 的 HTTP 库,支持promise所有的API
    二、它可以拦截请求和响应
    三、它可以转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据
    四、安全性更高,客户端支持防御 XSRF

  2. axios有哪些常用方法?
    答:
    一、axios.get(url[, config]) //get请求用于列表和信息查询
    二、axios.delete(url[, config]) //删除
    三、axios.post(url[, data[, config]]) //post请求用于信息的添加
    四、axios.put(url[, data[, config]]) //更新操作

  • 输入域名到看到页面的过程
  • 那你详细说一说浏览器渲染这一部分吧(给自己挖坑,死了)
    做一下解答:
    ” 浏览器进程 “中的 ”浏览器网络线程“ 获取到返回的数据,首先会检查站点,如果站点在谷歌的黑名单上,就会提示安全风险。
    接下去进入 ”UI线程“ ,UI线程开辟一个 ”渲染进程“ ,通过IPC(inter-process-communication进程间通信)将数据传给渲染进程,渲染器进程就是要把拿到的HTML数据,包括HTML、css、JavaScript、image转化为页面。
    重点 HTML会被转化为DOM树,这个过程中,css、image等资源需要从网络中下载或者从缓存中加载,二者不会阻塞渲染进程,但是JS会!如果在解析HTML的过程中,遇到了js文件,就会停止解析,转而去加载js文件,在html解析完成之后,就获得了一个DOM树(空白的树)。接下来,根据css做样式解析(给树上颜色)。
    接下来,根据已经完善好的带样式的DOM树,生成Layout树(布局树),Layout树记录了每个标签的大小位置层级等。
    接下去主线程遍历layout树,创建绘制记录表,这个阶段被称为”绘制“,接下来就该把他们转化成pixel显示在屏幕上了。这个过程还会涉及一个页面的类似懒加载一样的分帧显示。略过,结果就是,”渲染进程“ 把合成的一帧交给 ”浏览器进程“ ”浏览器进程“ 再交给GPU,GPU给显示出来,我们就看到了页面。
    当我们顺着滚动条往下滚动时,帧就变了,上面的 ”渲染进程“ 会再发出一个新的相应的合成帧给 ”浏览器进程“ 如前所述,最后就看到了相应的新的页面部分内容

当我们改变一个元素的尺寸、位置属性时,就会重走之后的所有流程:重新进行样式计算、生成新的Layout Tree、绘制等所有流程,这叫 “重排”(reflow)
当我们改变一个元素的颜色属性时,不会改变布局,生成新的Layout Tree,但会重新计算样式、重新绘制等流程,这叫 “重绘”(repaint)

关于此问题,详见UP主:objtube的卢克儿
引申问题:为什么要避免重绘和重排?因为重绘重排以及JS的运行都在主线程,大量的重绘重排会挤占一帧内的剩余时间,造成页面卡顿。

  • 项目上线的过程
    全程用时8分钟,估计凉凉

最后

以上就是活力水蜜桃为你收集整理的中电十所前端面试中电十所的全部内容,希望文章能够帮你解决中电十所前端面试中电十所所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部