byodian's blog

第 22 周 - 用五天时间做了一份面试题

这是个人的第一篇周总结。

为什么要写周总结?

记录遇到的问题和解决思路,提高 debug 能力和工作效率

在生活和工作中,我们会遇到很多问题,有些很棘手,有些很常见会多次重复出现,将这些问题和解决思路作为日志记录下来,通过不断地反思和总结,我觉得这样做可以提高我们解决问题的能力。当时隔很长时间同样的问题再次出现时,我们可能早以忘记了解决思路,但如果我们有记录问题的习惯,通过查阅之前的笔记,我们就可以快速解决这类问题。

尽量减少过量碎片化信息造成的烦恼

我喜欢编程,大部分业余时间我也会投入到编程的世界里,在这个过程中,我习惯把接触到学习和工具资源收集起来,久而久之就会产生大量零散信息。我常常使用多个 telegram 频道保存不同分类的信息,比如 Awesome Toolsneovimfrontend development,但是一股脑收集起来的东西,如果不去学习和使用,最后都会变成垃圾,还徒增烦恼。

所以对于这些资源,我定期通过过滤处理,将一些有价值的内容按照不同的主题分类整理,尽量减少信息堆积,避免过量零散信息占据大脑,减少碎片化信息带来的焦虑心情。

这就是我建立 workflows 频道的原因,这里面会是一些按照不同主题整理的资源。

记录生活,优化工作

记录主要事件使用的时间,反思有可能造成工作效率低下的问题,不断优化工作流

工作

用五天时间,完成一份面试题

面试题一共四道题,分别是:coding、前端性能测试和优化、如何调试和判断是否有内存泄漏(前端异常监控)以及如何做跨端开发?

  1. coding 题需要使用 Vue3 和 TypeScript 从零搭建一个脚手架项目,我之前工作中经常搭建脚手架,这部分还比较容易,麻烦的是在这之前没有 Vue3 的使用经验,TypeScript 只懂基础知识,也没有在项目中使用过。好在我能读懂英文文档,做 coding 题可以边学边做,所以这道题用了三天相对比较长的时间。

    • Vue3 提供了大量的 API,代码写法上比之前的版本更加灵活,如何声明响应式数据,就有好几种写法。所以使用 Vue3 还是要首先搞清楚这些 API 的使用场景,尽快掌握一些最佳实践的方法。

      推荐 可组合的 Vue - Anthony Fu - VueConf China 2021 视频,它介绍了关于编写可复用可组合的 Vue 函数的最佳实践与技巧。

    • Vue 多种组件通信方式,还需要通过项目再实践一遍。通过这次面试,我发现自己对文档以及常用工具的掌握不够熟练,像 Vuex 状态管理的 subscribe API 之前都没有关注过,惭愧。

    • Vue 单页面应用全局状态持久化保存,比如登陆信息的:

      尽量避免在路由守卫 beforeEach 中执行这个操作,因为这会导致在每次路由变化的时候,都会重复执行相同的操作,影响性能。我们可以使用状态管理的 subscribe API,在入口文件 main.js 中订阅全局状态的变化,然后将获取的全局状态保存到 localStorage 或者 Cookies 中,这样只需要执行一次类似操作。

  2. 对于前端性能优化和异常监控,之前工作接触的比较少,通过这次机会阅读了大量的文档,只能说大概了解了一些技术术语,对背后的细节还需要好好理解,将来我会在业余项目中将性能优化和异常监控尽可能多地使用起来。

  3. 在封装组件的时候,对 HTML 表格和表单 CSS 和 相关的 HTML 属性的运用不够熟练。这两个模块在未来需要重新学习一遍。

个人博客第三次改版

第三次博客改版,使用 eleventytailwindcss 搭建博客,选择 PostCssesbuild 作为构建工具。

博客模块:

关键词

Workflow

使用 vim 编辑器编写中文文档的体验非常差,这是因为使用最频繁的 vim 命令操作,在中文输入模式下,无法使用。所以使用 vim 编写中文,需要频繁地切换输入法,容易打断写作思路。

工具

前端性能优化

生活

  1. 端午节聚餐

    好基友在嘉兴出差,趁假期来杭州跟我吃了一顿饭。巧的是,三年前也是这个时间,他来杭州时我离职正在找工作,而这次我的情况跟上次一摸一样,也是离职正在找工作😂

  2. 烧烤

    用办信用卡送的烧烤锅,在家做了一顿烧烤。大块的肉实在不好烤熟,所以下次得买一把剪刀。

  3. 看剧 - Netflix 剧《Lincoln Lawyer》

    影响比较深的台词,如何做一个简明扼要出场白:“讲明道理,埋下伏笔,引出疑问,使其保持好奇心。”