秋招实习面经
更多面经请移步: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 | <div class="wrapper"> |
ones - 笔试(深圳)
- InnoDB
- 创建索引
- 归并排序
- SATAII 7.2k rpm,随机访问 1KB,访问次数大约是多少
- linux 权限 755
- 数据集A波动范围大,以下算法比较合适的是 (DNN、gbdt、SVM、决策树)
- 算法题;最长重复子串,青蛙跳台阶
猫眼 - 一面(北京)
面试时间:1h多
代码题部分答案:链接
自我介绍
讲讲 vuex
跨域?jsonp实现原理?postMessage可以发送到服务器吗?
前端安全
xss
和csrf
具体是什么情况,讲一下?如何防御?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-Methods
、xxx-Headers
xxx-Credentials
这类) - 聊聊
options
请求 - 短时间内如果发送多次post请求,浏览器每次都会进行options请求检验吗(options 请求默认会有缓存)
- http缓存了解多少
- 如果不想用到强缓存,只想用协商缓存,我要怎么设置 cache-control
- 讲一下事件循环(这里我讲的有点问题)
- 按照之前你讲的,浏览器是执行完微任务就回去执行宏任务,往复一直循环,那么这样是不是就阻塞了其他的渲染进程
- 如果你了解浏览器底层相关知识,你可以从那个思路讲讲。
- 进程和线程区别
- webpack 了解吗
- 抛开一些使用层面上的,你觉得它是为了解决什么问题出来?(之前说了很多废话,但是重点就在嘴边没说出来,主要是解决模块化)
- 你谈到了 ES6的 import 和 CommondJS require,那你知道他们除了使用层面的区别,还有什么区别
- 这么想,如果在a模块引入了b模块,同时在b模块又引入了a模块,那么在
import
和require
表现又分别是什么 - 如果让你设计一个webpack你会怎么考虑
- 反问阶段