• 2019.02.19前端面试五家后总结


    为了测试过去的一年的成长,出去面试五家公司(3家创业saas公司,一家上市公司,一家跨境电商),

    新的一年,要继续鞭策自己成长。

    前端面试注意几个方面:

        1. 沟通能力

        2. 基础知识深度

        3. 解决问题的实际能力

        4. 知识边界

    1. 沟通能力:

    对问题的视角阐述是否准确容易理解。

    2. 基础知识深度知识点考察:

    2.1 执行上下文:

      执行上下文分为二个阶段(编译阶段,执行阶段)

     (1)编译阶段包括:变量对象(vo),作用域链的确定,this指向的确定。

      变量对象的组成: 1.创建arguments  》2.检查函数的声明并创建属性 》 3检测var声明并为创建属性赋值为undefined,遇到相同的属性跳过

      编译阶段的变量对象的属性是不可访问的,只有等到执行阶段才能访问。

      

     (2)执行阶段包括:变量的赋值,函数的引用,其他代码的执行。

      活动对象(ao)和变量对象(vo)的区别:都是相同的东西,只是处于执行上下文的不同的生命周期,活动对象处于执行阶段在当前函数调用栈的栈顶。  

         

    2.2 闭包:

      什么是闭包?

      闭包的用途?

      闭包和匿名函数的区别?

    2.3 模块化:

      es6的module和common.js以及amd,cmd模块化的区别?

    2.4 vue生命周期:

      创建前后(el挂载点用不了),挂载前后(el,data都能使用),更新前后(虚拟dom的算法),销毁前后(销毁后钩子函数不起作用)

      父子组件的怎么传值?

      嵌套路由怎么实现?

      vuex怎么使用,由哪些组成,action是干什么的,与mutation区别?

    2.5 异步的promise,async,await:

      怎么避免回调地狱?

      promise是什么?有哪些状态?

      事件循环的同步,异步,微任务,宏任务的区别?

      async返回什么?

      await在等待什么?

      await在等待到结果后又要做什么?

    2.6 http1.0,1.1,2.0的协议,请求响应报文,三次握手

      短链接和长链接的区别?

      connection的keep-alive是什么?

      http2.0的特点,怎么理解多路复用?

      请求和响应报文的组成?

      输入一个url后发生什么(url是否有缓存》dns解析url为ip》tcp连接,三次握手》服务端的响应》浏览器的渲染》绘画》显示)

      强制缓存和协商缓存理解?

    2.7 使用axios怎么解决跨域问题?

      proxyTable的原理?

      http-proxy-middle中间件?

    2.8 webpack配置问题

      你的项目的entry有多少个?

      webpack-merge了解吗?

      是否使用过对象存储来处理图像?

      听过数据万象吗?

      怎么优化多页面的打包速度?

    2.9 面向对象的问题

      es6类的静态成员和动态成员的区别?

      重点考察多态和类型的设计,比如说mixin和decorator

    2.10 基础函数的考察

      map,reduce,filter,forEach, every, some

      splice,slice,parseInt,concat,join

      ['1','2','3'],map(parseInt)  为什么是 [1 ,NAN, NAN]?

    2.11 基础的算法

      冒泡,快速,插入,归并算法,回文,数组去重

      什么是链表?

      如何实现一个hash算法?

      归并排序的复杂度?

    2.12 前端常见的设计模式

    2.13 进程和线程的区别,什么是线程同步?

    3  解决问题的能力

    • 组件接口的设计(比如设计一个表单组件/picker) 基于react或者vue
    • 针对项目业务逻辑提具体的问题(比如怎么维持app用户的登录状态)
    • 具体的工具(webpack,gulp,git)考察具体的知识点,怎么解决冲突
    • 前端方向的把握,nodejs和typescript的学习情况
  • 相关阅读:
    cURL(wget)—— 测试 RESTful 接口及模拟 GET/POST/PUT/DELETE/OPTIONS 请求
    docker 第一课 —— 从容器到 docker
    docker 第一课 —— 从容器到 docker
    多类 SVM 的损失函数及其梯度计算
    软RAID 0的技术概要及实现
    用 Linux blkid 命令查找块设备详情
    常用命令
    Ubuntu---samba(安装、配置、使用)***
    系统常用命令
    在64位的UBUBTU 服务器 ***
  • 原文地址:https://www.cnblogs.com/kevoin/p/10405874.html
Copyright © 2020-2023  润新知