一次前端面试小结

上海某互联网公司的初级前端岗位面试小结,希望对你有所帮助。

面试过程

  1. 问:自我介绍以及平时是怎么学习前端的?
    答:正常回答即可。

  2. 问:看了你写了一篇关于 Vue 和 React 的文章,请举例说明一下二者的差异?
    答:

    1. 组件:React组件即函数,在函数内部是JS部分,return 的是HTML部分;Vue我使用的是单文件组件,其由HTML模板、JS、CSS构成。
    2. Props:React子组件通过作为函数参数传递进来的 props对象 拿到父组件传递的外部属性 ,Vue 的子组件通过构造选项 props 拿到父组件传递的外部属性。
    3. state:React 通过 useState 声明和初始化数据并拿到 state 和 setState,通过setState更新状态到视图,Vue 通过 data选项声明数据,修改数据直接更新到视图上。
  3. 问:讲讲为什么 Vue 修改数据可以直接更新到视图上?
    答:Vue 会对在 data 选项里声明的属性通过 defineProperty 方法将属性修改为 getter和setter 类型,Vue 通过 getter和setter 类型监听数据的读取与写入,每当数据变动时 Vue 就会重新渲染组件。

  4. 问:现在如果有一个data数据 { a:123 } ,现在这个 a 被异步的更改为 456 ,现在要求当 a 变更为 456 执行一段代码请问怎么实现?
    答:可以通过 Watch 选项监听数据 a 的变动,然后执行对应的代码。
    问:这确实可行,如果不用 Watch 呢?
    答:。。。
    问:你想一想 Vue 的异步API
    答:哦,可以用 nextTick() 方法去获取数据,然后判断 a 是否等于 456 再去执行对应代码。

  5. 问:Vuex用过吗?聊一聊你的理解。
    答:Vuex是Vue项目的全局状态管理工具,它有几个核心概念分别是:store:存储状态的容器;state:状态;mutation:同步改变状态的方法;getter:store的计算属性;action:异步改变状态的方法;模块:将 store 进行模块化管理。

  6. 问:你对 ES6 有了解吗?聊聊 let 和 var 的区别。
    答:

    1. let 声明的变量在块级作用域内,而 var 声明的变量在函数作用域内。
    2. let 不可以重复声明,而 var 可以重复声明。
    3. let 不存在变量提升现象,而 var 存在变量提升。
      具体可以参考我先的文章:JavaScript中var let const的区别
      问:有如下代码,请写出控制台结果。
    {
       var a = 1;
       let b = 2;
    }
    console.log(a)
    console.log(b)
    

    答:分别输出:1、报错
    问:那吧console提上去呢?

    console.log(a)
    console.log(b)
    {
       var a = 1;
       let b = 2;
    }
    
    

    答:undefined、报错

  7. 问:ES6 还有其他了解的吗? Promise了解吗?
    答:了解的。
    问:阐述一下你对Promise的了解
    答:(这里本人将Promise是什么、三种状态、回调函数里的resolve、reject的作用、以及三个实例方法.then .catch .finally 和两个静态方法 .all .race进行了阐述)具体的内容参考我写的这篇文章:JavaScript 异步解决方案 Promise 全解析
    问:try catch 和 Promise 的 .catch 有什么区别?
    答:try catch 也是用来捕获错误的,Promise 拥有错误冒泡功能,虽然.then返回的是一个新的对象,但是在.then后面.catch仍然可以捕获到最开始的那个Promise对象的错误。(我不确定这样回答是否正确,面试官也没说什么)

  8. 问:宏任务,微任务了解吗?
    答:了解的(然后我画了张图,蓝色块表示宏任务队列,橙色表示微任务队列,执行顺序是先执行当前所在横行的同步任务,再执行所在横行的微任务,再执行下一横行的宏任务)


    宏任务与微任务

    问:Promise 返回的是宏任务还是微任务呢?
    答:Promise 返回的是微任务?
    问:Promise 为什么返回微任务。
    答:Promise 表示异步操作的返回结果 -> 当浏览器拿到结果肯定想第一时间处理 -> 加入微任务队列比宏任务处理速度快 -> 所以加入微任务队列。

  9. 问:当前有一个 父div 和 子div,在 子div 上有一个 button 绑定一个点击事件,当button 被点击请问发生了什么?
    答:button被点击 -> 子组件事件触发 -> 父组件事件触发 这是事件的冒泡机制
    问:事件除了冒泡还有其他机制吗?
    答:还有捕获机制,addEventListener默认是冒泡机制,可以通过将第三个参数改为true 更改为捕获。

  10. 问:你在Vue 项目和 React项目分别踩过的坑有哪些?(这个问题最好提前准备,我是现场想了一会再说的)

    1. Vue 项目在 TS 开发中由于Vue2.0的模板内JS代码没有类型声明 -> 导致拿到的数据是 any 类型 -> 结论:Vue2.0目前对TS支持不好。
    2. React 是函数式编程,当你的state是某个对象并且要更改其某个属性时,setState需要将就对象先用...展开,在更改对应属性值。
  11. 问:接着开始问项目相关的问题,你的UI组件项目popover组件的具体怎么实现的?简单的讲一下。
    答:(这个回答根据具体项目而异,具体回答内容这里就不赘述了)

  12. 问:你项目中遇到的最棘手的问题是什么?
    答:(这个问题最好提前准备,答案根据具体项目而异,也不赘述)

经验总结:

  1. 如果面试问题比较复杂,你可以先说:让我稍微想一想,不用急着回答。
  2. 有些问题最好提前准备一下,比如说:项目中最难的问题以及解决方案,遇到哪些坑等等。
  3. 基础知识还是十分重要的,面试官很多问题会基于你提到的概念再进行拓展,你最好对你说的每一个技术名词都有一定了解。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355