2020年面试及入职新公司的痕迹

一直想把前段时间的面试题好好总结记录下来,之前都是零零碎碎的,但总是为自己找了各种理由各种借口。一直没能很好地付出实践,今儿必须要弄出来的了。不能老是让种子发芽而不去照顾,那样会乱长成了杂草了。

面试题

webpack

  • 优化
    • 生产跟开发分为不同的配置项
    • 使用 css 插件,将css从js提炼到 css 文件下,同时进行压缩
    • 生产环境取消 devtool ,避免可以看到源码

JavaScript的一些技术

  • 预加载/懒加载
  • null/undefined 的区别
  • 数组,哪些修改原数组
  • 攻击xss
  • 跨域
  • 回调地狱
  • 设计模式
    • 单例模式 实现私有属性,原理通过拦截禁止访问
  • 堆栈
  • 前端缓存用过哪些
  • 如何渲染大型数据
  • ts 泛型
  • mvvm

vue

  • 虚拟DOM
  • 性能优化
  • nextTick原理
  • AST抽象语法树
  • data为何是函数
  • 实现双向数据绑定机制
  • 如果不使用 vue 大型项目如何形成现有的模式,数据路由如何处理

算法

  • 二分法
  • 求一个数字不能被整除后的所有被除数的集合
      /**
      * @description: 将传入的数字进行整除到不能有小数位置,并返回被整除的所有数据的数组
      * @param {number} num 正整数
      * @return: number[]
      */
      function calc(num) {
        // 执行的范围在 2 ~ num 之间
        let number = num
        const list = []
        for (let i = 2; i < num; i++) {
          // 此时可以退出
          if (number < i) break
          if (number % i === 0) {
            number = number / i
            list.push(i)
            i = 1
          }
        }
        return list
      }
    

进公司后的状态

虽然进了一家号称几千人的上市公司,前端上百人。但这些其实与个人并没有直接关系,学习的依旧学习,不学习的依旧不学习。而且业务压身,会被迫更专于业务,而无法实时有效地进行学习。这点怕是短期内无法得到解决了。
经过两个月的磨练,也在这说点自己的心得吧

  • 不管身在何处,都应该保持好奇心,都应该让自己的思想付出实践。比我之所以能进入这家公司,正是因为我在上家公司,强迫自己把经常用到的组件业务进行封装,而这是自主地,不在公司的需求内。但这成为了销售自己的一个亮点。正好进入这家公司,一来也是主要负责搭出框架等,虽不完善,但好歹有了结果
  • 前端不应该只在乎自己的一亩三分地,对前端的代码上线等前后都应该有所了解,比如接口第一次走数据库,后来的有可能走的是Redis,跨域可以通过Nginx代理,等等。这些可以让你在跟后台撕逼时有了本钱,不然相当被动
  • 主动再主动,不能被动地等,特别是需求不明确时,要一而再再而三地追问
  • 备注,文档涉及到与其他交互时,这些最好明确清楚
  • 要求自己,不管公司有没有要求,对自己的要求不能降低,eslint,代码规范都要自我约束
  • 积极汲取新公司的知识,不懂就问,不管是新老员工,以结果为导向,不用担心让他人贬低,其实这是一个双向的过程,你可以快速了解你的同事的功力如何,虽然也要承担一定的风险
posted @ 2020-09-26 15:11  木石心  阅读(147)  评论(0编辑  收藏  举报