面经(百度,头条。。。)

杭州有赞

一面(16分钟)

  1. 实习经历,技术栈
  2. let,const
  3. 盒子模型
  4. 跨域,cors简单请求和非简单请求

二面

  1. 快排
  2. url的解析
  3. vue父子通信,双向绑定
  4. webpack考察,输出到同一个文件
  5. vue和jquery的比较……
  6. 性能优化

隔了很久三面

聊骚

hr面,貌似挂了

便利蜂一面过

  1. 跨域后callback的访问(也就是个作用域问题)
  2. 盒子模型和box-sizing
  3. 正则表达式,trim
  4. 事件的绑定
  5. https(中间的公钥私钥)
  6. this作用域
  7. 串行bind是否有作用。妈蛋没回答起
  8. 对象的检测(除开null)
  9. 数组的多种方法
  10. 单页应用原理(pushstate和hashchange)
  11. ajax源码,传输数据的格式(表单格式和json格式)
  12. http的请求报文格式

cvte

一面

  1. 针对项目考查vue-router和vuex原理
  2. let和const,讲解下暂死性死区
  3. 讲解下原型
  4. 说一下闭包
  5. 快排的原理
  6. bfc

二面

面到晚上10点50分钟,挂

  1. 写一个diff({name: ‘aa’}, {name: ‘bb’})类似的算法,一个递归写了20分钟
  2. vue的优点
  3. service worker
  4. 最近了解什么新技术
  5. position
  6. http缓存,if-modified-since和if-none-match的优先级

ofo

一面(40分钟)

等通知中

  1. 自我介绍
  2. vuex状态管理的方式,全局与局部状态以及怎么获取
  3. vue和react的区别
  4. 盒子模型
  5. 定位
  6. 浮动
  7. bfc
  8. 垂直水平居中
  9. es6了解多少

    console.log(1);
    new Promise(function(resolve, reject) {
        console.log(2);
        reject(false);
        setTimeout(function() {
            console.log(3);
            resolve(true)
        },0)
    }).then(function() {
        console.log(4);
    },function() {
        console.log(5);
    })
    console.log(6)
  10. less和sass用过吗?

  11. 写过node吗?没有,了解过
  12. 学过npm包吗?没有
  13. 说一说webpack配置,loader具体
  14. 特长爱好,与人怎样沟通

二面

  1. 了解在公司实习学到的东西,很具体的说了一下
  2. 然后基本没问什么东西

结果给了sp很诧异

京东一面(30分钟,卒)

  1. 说说实习,技术栈
  2. 用flex实习三栏布局
  3. 模块化规范,seajs打包的时候什么什么的具体忘了,反正没回答起
  4. vue组件复用
  5. cdn缓存了解吗?公司有用cdn吗?不知道。。。
  6. 浏览器缓存
  7. ajax整个过程
  8. vue父子组件通信

饿了么大前端

一面

9.18 10:30。比我先去的面试者站着坑让我等了30分钟, 进去有实习经历呀?我们加快点速度吧。。感觉有点水。

  1. apply/call/bind用法,bind链式有用吗,apply传对象报错吗
  2. 判断对象
  3. 哪些类型有toString方法
  4. arguments转换成数组
  5. 类数组
  6. 往body里插入节点
  7. 写个算法,求数组元素连续乘积最大值
  8. http结构
  9. http缓存
  10. 学信息安全呀,说说https

二面

面试官看了我的github,我的代码那些都看了。问了几个相关问题,给了点建议,感觉面试官算法挺强的

三面

  1. 原型链
  2. 关于function

    new function() {
    return 'aaaaa'
    }
    //得到的实例是什么
  3. 跨域
  4. css module原理

后面的忘记了,估计挂了

好未来

一面

  1. 手写圣杯布局
  2. 关于bfc及形成条件,并出一道题
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        html, body{
            height: 100%;
            width: 100%;
        }
        .left{
            float: left;
            width: 100px;
            height: 400px;
        }
        .right{
            overflow: hidden;
        }
        .right::after{
            display: block;
            content: "";
            clear: both;
        }
        li{
            float: left;
            width: 60px;
            height: 60px;
        }
    </style>
</head>
<body>
    <div class="parent">
        <div class="left">

        </div>
        <ul class="right">
            <li>12</li>
            <li>12</li>
            <li>12</li>
            <li>12</li>
            <li>12</li>
            <li>12</li>
        </ul>
    </div>
</body>
</html>

问题:为什么right的高度也变成了400

  1. 手写promise的简单实现
  2. 手写bind的实现
  3. 实习公司使用的技术栈
  4. 聊了聊服务器端渲染
  5. 循环引用解决方案

二面

  1. 操作系统,进程,线程,协程。进程间的通信
  2. 如何不借助第三个变量交换两个变量的值。操作系统的堆栈和数据结构的堆栈区别
  3. 计算机网络,流量控制,拥塞避免
  4. https和http的区别及https的过程,rsa算法大概
  5. http缓存,验证过程。etag的生成,后端怎么取etag和怎么生成
  6. 介绍xss,及防范。及具体使用
  7. cookie中http only和secure属性
  8. 手写数组去重unique,考虑各种类型。
  9. 数组的判断方法
  10. 异步流程控制
  11. vue-router的原理,及history模式
  12. vue虚拟dom的原理
  13. vue的双向绑定机制
  14. webpack热更新原理

面试官加了我微信,聊了,申请sp本来想去的。。。

百度

一面

  1. 手写三栏布局,并要等高
  2. 解决兄弟元素margin-bottom和margin-top的折叠问题
  3. 写个深拷贝
  4. 实现以下函数从1打印到10,log只可以调用
let log = (callback) => {
    log.count = log.count || 0;
    log.count++
    if(callback && typeof callback == 'function') {
        setTimeout(() => {
            console.log(log.count);
            callback();
        }, Math.random()*count*1000)
    }
}

//这下想到的方案
function doIt() {
    new Promise((resolve) => {
        if(count !== 10) {
            log(resolve);
        }
    }).then(() => {
        doIt();
    })
}
doIt();
  1. 用map实现reduce(不会)
  2. 对实习公司项目的剖析
  3. 原型链
  4. 关于继承

二面

  1. 垂直水平居中
  2. 异步流程控制
  3. Promise.all
  4. p 的状态是啥

    var p = new Promise((resolve, reject) => {
        reject();
    }).then(null, (err) => {
    
    })
  5. 了解sass和less吗?
  6. webpack的配置,写过plugin吗?loader的作用?install过哪些包
  7. 解释原型链
  8. 解释作用域
  9. 数组reduce怎么实现(不会)。
  10. margin和padding的区别。
  11. 从后端返回三个英文段,统计所有单词出现的次数。
  12. 模块引入机制

三面

  1. 自我介绍
  2. 手写,n长的数组,里面是不重复的从1到n+1的数,乱序。计算缺少哪个数。
    先将arr排序,然后前后相减。
  3. 剖析个人心理及性格。感觉回答的不好。

!!!!!等了三周通知过了

网易

一面

  1. 根据简历上写的问,没写代码
  2. 解释bfc
  3. 说说圣杯布局
  4. 说一下公司实习学到了什么
  5. 讲一下你写的轮播,怎么封装,暴露哪些参数
  6. 写一个快排

二面

  1. 如果让你实现日期组件,你怎么实现,思路
  2. call和apply的区别
  3. 如果一个元素旋转45度,那他的y轴会变吗
    意思就是旋转45度后,再设置top,这个试了是不会变的

        function isEqual(arg1, arg2) {//不能判断像new Boolean这种还有regexp还有date类型
            var flag = true,
                _toString = Object.prototype.toString,
                len1 = Object.keys(arg1).length,
                len2 = Object.keys(arg2).length;
            if(arg1 === arg2) {//string, null, undefined, number
                return true;
            }
            if(_toString.call(arg1) !== _toString.call(arg2)) {//一个对象一个数组
                return false;
            }
            if(len1 !== len2) {
                return false;
            }
            for(var key in arg1) { 
                if(arg2.hasOwnProperty(key)) {
                    flag = isEqual(arg1[key], arg2[key]);
                }else {
                    return false;
                }
            }
            return flag
        }
  4. 页面间的通信

  5. slice和splice的区别
  6. 淘宝放大图怎么做

hr面

。。。。

头条

一面

  1. 说说bfc
  2. 清除浮动
  3. 实现三行布局
  4. http缓存
  5. 以下执行效果

    var dat = new Date();
    for(var i = 0; i < 5; i++) {
    setTimeout(function() {
    console.log(Date.now() - dat, i)
    }, 1000)
    }
  6. 单点登录怎么做
  7. 字符串排版
    要求,[‘this’, ‘is’, ‘my’, ‘favorite’, ‘food’],输出一个数组,包含的字符串最长为n,并且右对齐。如n为8,输出[’ this is’, ’ my’, ‘favorite’, ’ food’];
  8. 函数节流

二面

  1. 一个项目有很多页面, webpack怎么设
  2. setState异步吗
  3. 性能优化
  4. 函数节流
  5. 统计一个字符串中出现最多的字母
  6. rn的优势
  7. headless chrome和phantomJS的对比
  8. 一个list view,往下划dom节点越来越多,怎么优化

三面十五分钟送走

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值