18前端实习面经+offer

  • 某厂

    • 3.16 晚上电话一面(50分钟)
    • 问题
      • 描述下原型链
      • js作用域
      • 闭包
      • 垃圾回收
      • 如何读取对象属性不在原型链上找
      • cookie一些属性
      • 浏览器缓存
      • http和https协议
      • 同源策略、跨域解决办法
      • web安全XSS CSRF怎样产生、如何防范。具体转义哪些字符
      • 你觉得的自己优点和缺点
      • 平时怎么学前端
    • 一小时后电话二面并约了写代码(28分钟)
      • 讲项目和遇到的难点
      • imutable.js实现原理
      • Promise解决了什么问题、如何使用ES5实现
    • 3.19在线写代码(60分钟共享桌面)

      • 题目一:页面内的一个input输入框,实现查询命中数组中的词,和输入过程中的autocomplete效果
      • 题目二:实现一个div滑动的动画,由快至慢5s结束
    • 3.20 电话三面(50分钟)

      • 自我介绍
      • 项目、为什么选择用react而不用vue
      • js继承
      • webpack怎样热更新
      • webpack怎样处理跨域
      • babel原理
      • pm2有哪些启动模式、常用配置项?gg
      • react的优点
      • 设计模式:观察者模式、单例模式。其它还知道啥
      • react组件间通信
      • react diff算法优点和缺点、virtualDom
      • node进程间通信。挂了怎么办
      • linux常见命令、日志。
      • 怎么学前端、上什么网站比较多

        三面问的内容应该是最有深度的了。

    • 3.21笔试(60分钟)

      • 面试官邮件甩了几道题。60分钟完成。
      • 正则判断url的正确性
      • 实现至少一种随机打乱数组的方法,计算出其时间复杂度和空间复杂度
      • 书写一次POST请求过程可能的HTTP请求报文和响应报文
      • 假设你有一个函数,产生[0, 5)之间的随机整数,每个数字概率1/5,如何使用这个函数产生[0, 7)之间的随机整数,每个数字概率1/7
      • 现在有一个基准数组 records,先要求你维护其子集 selection 数组(初始为空),维护操作包含删除和插入。

        • 插入:给定 records 数组中的一个元素,插入到 selection 中

          删除:给定 records 数组中的一个元素,把它从 selection 中删除

          现在要求你:
          实现 insert() 和 remove() 方法来实现以上操作。
          设计一个算法,保证每次维护操作后,保持 selection 数组中的元素的偏序关系与 records 数组中的保持一致,分析你算法的复杂度。

    • 3.22 电话四面(18分钟)
      • 浏览器输入URL发生了什么
      • DNS查询时怎样的
      • TCP三次握手的过程
      • http报文一些知识
      • cookie
      • CSRF
      • 职业规划

    总的来说,该前端面试覆盖的内容还是相当广的,而且非常注重基础(这应该是大厂的一贯风格)。计算机基础课程操作系统、数据结构、计算机网络必须非常扎实,然后前端css、js、框架原理源码和node都要熟悉或者有一定了解,还要对前端的新发展有一定了解。

    • 3-28 HR面

      漫长的等待终于来了HR面。HR面的时间不长。

      • 自我介绍。
      • 愿意来深圳工作吗?
      • 父母做什么的
      • 自己的优点和缺点
      • 非科班为什么选择了前端

      聊天还是很愉快的,基本上按照自己的情况真实说出来就行了。

    4-2 录取通知

    下课上课的时候,看见看到是深圳那边的电话来了,马上就跑出了教室,是导师打电话告诉自己实习被录取了。当时真的巨开心(当然后面还是好好努力争取转正)。

    4.4 HR电话正式发放offer

    一切苦尽甘来吧,前端之路漫漫长,仍需继续努力。

你可能感兴趣的:(前端面试)