工程化

初级

前端web页面性能的指标有哪些?

  • 白屏时间(Time to First Byte,TTFB),从发起页面请求到浏览器收到来自服务器的第一个字节的时间。较低的 TTFB 通常意味着更快的加载时间。
  • 首次内容渲染时间(First Contentful Paint,FCP),浏览器首次将页面的实际内容(文本、图像等)渲染到屏幕的时间。这是用户可以看到实际内容的时间点。
  • 首次有意义渲染时间(First Meaningful Paint,FMP),用户认为页面开始有意义渲染的时间。这通常是用户可以开始与页面进行交互的时间。
  • 页面完全加载时间(Page Load Time),页面上所有资源都加载完成并准备好交互所需的时间。
  • 可交互时间(Time to Interactive,TTI),页面加载完成后,用户可以开始与页面进行交互的时间。这包括 JavaScript 执行完毕、事件监听器绑定完成等。

webpack的原理是什么?

从一个入口文件开始,分析整个文件的依赖树,然后不同的文件通过不同的loader,最后打包成一个js bundle

页面白屏如何优化,如何加快启动时间?

  • 延迟加载,懒加载,图像懒加载(一般要用库,手写的话要清楚滚动细节)

reabse原理

Reset就是简单的设置head,放弃的commit分为三种:

  • mixed,清除到add前
  • soft,清除到soft前
  • Hard,完全删除

Rebase是未merge到master前,自己版本回退,平常就是这么用,但其实际意思是变基,但一般也用不到。 revert是已merge到master,新提交的回退

前端页面如何预加载

  • 提前加载后续需要的内容 (preload and prefetch)
  • 提前解析域名(DNS Pretech & Preconnect)
  • 预先渲染要加载的页面(prerender)
<link rel='preload' href='font.woff2' as='font' type='font/woff2' crossorigin>
<link rel="dns-prefetch" href="https://fonts.googleapis.com/"> 

例如用link加载一个字体

项目面

设计一个权限系统

设计一个秒杀系统

HR面

对未来有什么规划?

  • 希望做一些有挑战性的事情,对于技术上来说,有两个方向自己比较感兴趣,全端和canvas

个人优点是什么?

  • 我感觉我自驱力比较强吧,因为我总是希望在每个需求都做出一个亮点,如果一个需求过于简单,实在没什么可优化的地方, 那么我就倾向于写一个文档,然后做团队分享,这个也算是一个亮点吧。比较喜欢做难的事情。喜欢有挑战性的东西。
  • 性格相当稳定,不会生气

个人缺点是什么?

  • 可能会比较容易紧张吧,比如说当众演讲之类的可能会比较紧张,我一般盘手串缓解
  • 我感觉我可能会比较钻牛角尖吧,比较轴,比如说排查bug时如果排查不出来会一直排查下去,如果当时休息一下或者转而做其他事情,或许也会有灵光一闪就找到解决bug的方法了
Last updated on