秋招实习面经

更多面经请移步:https://www.nowcoder.com/profile/464647589/myDiscussPost

个人校招面经

有些可能写的不全,没有及时总结(这是个坏习惯),有的只是总结了下个人回答的不太好的部分,仅供参考。

阿里一面(杭州)

面试时长:20min 左右

  • 自我介绍
  • cdn 原理
  • dns解析 原理
  • 如何寻找最近一级的节点

腾讯一面(深圳)

面试时长:20min 左右

  • 自我介绍
  • http状态码
  • 输入url,到页面渲染经历了什么
  • diff 算法
  • koa 洋葱模型

易的网络科技有限公司公司(厦门)

面试时长:30min

  • 展示下你的项目
  • 介绍一下你最有成就的项目
  • 了解跨域吗?有什么方法可以跨域
  • 项目中用到的 axios,有用到拦截器吗?
  • 后端如何进行鉴权,换句话说 token是怎么传输给后端的

厦门升迅信息科技有限公司

面试时长:30min左右

  • MVVM 是什么
  • Vue 和 jQuery 区别在哪里
  • Vue 生命周期函数
  • Vue 3 了解吗?和 Vue 2有哪些不一样的地方
  • localStorage 和 Vuex 区别
  • 有 java 基础吗
  • 想来厦门发展吗
  • 什么时候可以来厦门

广州市网讯信息技术有限公司

面试时间:30min左右

  • 自我介绍
  • 有做过微信端开发吗
  • 有做过移动端开发吗
  • 跨域方法、jsonp原理
  • 看你项目有些是后端,准备做后端吗
  • 职业规划
  • 什么时候可以来广州
  • 期望薪资
  • 反问

阅文集团 - 笔试(上海)

  • 在一段时间内只允许一个进程访问的资源,称为 临界资源(选一个:共享资源、独占资源、临界资源、共享区)
  • 以下不会显示的是
    • <span hidden></span>
    • <style style="display:block;">body{}</style>
    • <input type=" hidden" name="token">
    • <template>文本</template>
  • 字母K所在ASCII表中十六进制是4B,则二进制 1001000 字符是
  • 对称算法有什么
  • css属性不支持负值的是
    • padding
    • vertical-center
    • margin
    • letter-spaceing
  • hive 关键字
  • setTimeout、Promise 相关执行顺序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="wrapper">
<div class="inner"></div>
</div>

<script>
var wrap = document.querySelector('.wrapper')
var inner = document.querySelector('.inner')

function click() {
console.log('click')

setTimeout(function() {
console.log('setTimeout')
}, 0)

Promise.resolve().then(function() {
console.log('promise')
})
}

wrap.onclick = click
inner.onclick = click
</script>

ones - 笔试(深圳)

  • InnoDB
  • 创建索引
  • 归并排序
  • SATAII 7.2k rpm,随机访问 1KB,访问次数大约是多少
  • linux 权限 755
  • 数据集A波动范围大,以下算法比较合适的是 (DNN、gbdt、SVM、决策树)
  • 算法题;最长重复子串,青蛙跳台阶

猫眼 - 一面(北京)

面试时间:1h多

代码题部分答案:链接

  • 自我介绍

  • 讲讲 vuex

  • 跨域?jsonp实现原理?postMessage可以发送到服务器吗?

  • 前端安全

  • xsscsrf 具体是什么情况,讲一下?如何防御?

  • class Foo {
      name = 'Foo'
        a() { console.log(this.name) }
        b = function() { console.log(this.name) }
        c = () => console.log(this.name)
    }
    
    let f = new Foo()
    let b = { name: 'bar', a: f.a, b: f.b, c: f.c}
    b.a()
    b.b()
    b.c()
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    - ```js
    // 下面代码会输出什么,如果有问题,怎么改正。最少两种方法
    for (var i = 0; i < 3; i++) {
    setTimeout(function () {
    console.log(i)
    }, i * 100)
    console.log(i)
    }
  • var vue = {
      $on(event, callback) {
        // 开始敲你的代码
      },
      $emit(event) {
          // 这里也一样 
      },
    }
    
    // 监听
    vue.$on('msg', function (a) {
      console.log(a)
    })
    vue.$on('msg', function (a, b) {
      console.log(a, b)
    })
    // 触发
    vue.$emit('msg', 1, 2)
    vue.$emit('msg', 1)
    
  • 手写出栈入栈(不能使用数组)

有鱼智能科技 (深圳)

面试时间:30min

  • 自我介绍
  • 上拉刷新、下拉加载 如何实现的,难度在哪
  • 如果遇到那种用户一直反复刷新的,应怎么做性能优化?防抖节流(面试官说这只是一种,还有别的,没赶上问)
  • html 布局 垂直居中
  • css 画一个三角形、圆形
  • 看你简历有node项目,那你说说跨域方法?CORS是怎么实现的?请求头(没说上来具体叫啥)
  • 你说跨域请求投值是 *,那这样可以携带cookie吗?(不能,只能设置指定的域,而且还需要withCrendial,前后端都需要配合)
  • 如何实现继承:原型链、构造函数、组合继承、es6 extends
  • this指向问题
  • es6了解哪些
  • Promise底层如何实现?generator 怎么用?
  • Proxy 有了解吗?
  • webpack 有做过配置吗?本地库替换为cdn、sass、less
  • vue computed和watch 有什么区别?
  • vue 传值方法有哪些?父传子、子传父、兄弟组件传值、vuex、sessionStorage、localStorage
  • sessionStorage 能跨页面使用吗?localStorage用在哪些地方?
  • vuex 用过哪些方法?
  • vue 可持续化组件是用的哪个?keep-alive
  • 做过的性能优化
  • 如何设计移动端和PC端共用一套页面?媒体查询,面试官提示后更愿意听到rem
  • 还有什么想问的

微医(杭州)

面试时间:45min

  • 自我介绍,包括自己所做的一些项目
  • vue 双向数据流了解吗?(这里理解错了,v-model 只是语法糖)
  • vue 数据流和 react 数据流有什么区别
  • 设计模式这块了解吗,比如观察者模式、发布/订阅模式这些区别是什么
  • 跨域了解吗,jsonp 原理和缺点,CORS设置的请求头是什么?除了 Access-Control-Allow-Origin ,还有什么(当时思路走偏了,应该还包括 Access-Control-Allow-Methodsxxx-Headers xxx-Credentials 这类)
  • 聊聊 options 请求
  • 短时间内如果发送多次post请求,浏览器每次都会进行options请求检验吗(options 请求默认会有缓存)
  • http缓存了解多少
  • 如果不想用到强缓存,只想用协商缓存,我要怎么设置 cache-control
  • 讲一下事件循环(这里我讲的有点问题)
  • 按照之前你讲的,浏览器是执行完微任务就回去执行宏任务,往复一直循环,那么这样是不是就阻塞了其他的渲染进程
  • 如果你了解浏览器底层相关知识,你可以从那个思路讲讲。
  • 进程和线程区别
  • webpack 了解吗
  • 抛开一些使用层面上的,你觉得它是为了解决什么问题出来?(之前说了很多废话,但是重点就在嘴边没说出来,主要是解决模块化)
  • 你谈到了 ES6的 import 和 CommondJS require,那你知道他们除了使用层面的区别,还有什么区别
  • 这么想,如果在a模块引入了b模块,同时在b模块又引入了a模块,那么在importrequire表现又分别是什么
  • 如果让你设计一个webpack你会怎么考虑
  • 反问阶段