奔三路 - 你30岁前的学习路!

奔三路学习网

当前位置: 主页 > 前端面试通 > 题库 >

记淘宝和滴滴的两次前端面试

时间:2017-12-15 11:46来源:未知 作者:admin
阿里 (天猫) 一面 由于一面是电话面试,主要问了好多项目的问题,如何解决问题的。 比如问其中一个项目,查询多字段对应处理的问题,sql语句怎么拼的,你的自定义配置是怎么回

阿里 (天猫)

一面

由于一面是电话面试,主要问了好多项目的问题,如何解决问题的。

  • 比如问其中一个项目,查询多字段对应处理的问题,sql语句怎么拼的,你的自定义配置是怎么回事。
  • session 和 cookie 的区别
  • 使用 redux 和 mobx 的区别
  • 什么是 bfc
  • node了解多少,用过吗
  • 算法怎么样
  • 好多问题,有点忘了,就是各种知识点... 其实百分之八九十能答出来,他也觉得不错,让我后面好好准备,架构方面,原理方面。

二面

面对面

  • 介绍一下你的工作历程(经验)
  • 我们找一个产品或者项目具体聊聊,让我自己说。
  • 介绍一下项目,技术栈,我是不会问的。
  • 你用过 vue, react。你觉得他们有什么区别。
  • 说一下你是怎么用的 redux
  • 我自己提到了通常放在 container,他问了一个 connect 怎么做到注入 state 的。我就说 connect 是一个高阶组件,注入进来的 store,通过 state 维护?他又问那是怎么实时 render 的?我说 connect 里面应该有 监听 store 的 changes 吧。最后就说没看过 react-redux 的源码,只看过 redux 的源码。
  • 看了我的一篇博客,问了一个 this.children 是实例还是 class
  • react router 的 hash ,history api 有什么区别,我说了一些表层的区别,url 的不同,实现的原理不同。他继续问还有什么内部的不同吗,我就说不了解了。
  • mobile 端有接触吗,我说做的不多,主要还是 pc 端吧,我说你可以提问。问了一个viewport的,如果 width=device-width,iphone6 上页面宽是多少,plus 是多少。如果 viewport 里设为 width=375,plus上会缩小还是放大。

总结

让我自己去聊项目,去考察我的组织、表达能力,以及沟通能力。而且这也最大程度上能了解到,关于这个项目,你自己思考了多少,主导程度。然后考察主要使用的技术栈,了解的深度如何。然后就是他们业务常用的点。刚面完,自己感觉其实还可以,因为都能回答出来,但是可能深度还不够吧。天猫的要求还是比较高的,而且面试官是从杭州过来专门面试的,也有很多候选人同时面试,只能说明自己在这里面还不够出色,不能脱颖而出。

滴滴

一面

  • 简单介绍一下自己
  • 上来就是一个数组的构造函数上提供了什么方法,然后我就一顿说,副作用的,增删改的,map的
  • indexOf和findIndex的区别,我说没用过 findIndex
  • 写了一道题,是关于作用域的题。
    function fun(n, o) {
      console.log(o);
      return {
        fun: function(m) {
          return fun(m, n);
        }
      }
    }
    fun(0).fun(1).fun(2);
    let fn = fun(0).fun(1).fun;
    fn(2);
    fn(3);
    
    这种题好好看看一般能答出来。
  • react 中的某个组件嵌套很深,怎么传递 props,很不错,之前整理过。
  • redux 和 mobx 的区别。我就从实现的原理,使用方式,结合 react 等方面阐述了一下。
  • 你刚提到了 observer,这觉得它们是怎么实现的。redux(listerners),mobx(get,set) 的方式都说了一下。
  • observer 是什么模式。
  • 还了解其他的设计模式吗。我他妈一激动把面向对象说出来了,这当然不是设计模式了,是编程思维。
  • js 模拟一个并发
  • 实现两个 setTimeOut之后再做什么。1.原生实现一个串行的队列。2. 用 promise 去封装一下,然后用 promise.all/generator/async.
  • 算法,问我快速排序,说一下它的原理,我说忘了。
  • 问 es6 主要用那些新语法,我说了几个,箭头函数,解构赋值,const 声明等等... 他说最常用的不应该是 class 吗...
  • es5 实现一个继承,我差点给他写四五个。刚学 js 的时候整理过 link
  • es6 怎么判断一个数组? isArray 啊。 [].isArray ? 我说 Array.isArray(),类上的静态方法。
  • css 清除浮动用什么,我说就两种,一个是 css 树形 clear,一个触发 bfc。
  • css3 动画有什么,怎么用。就是考察 transition,translate,animation 啥的。
  • less 中的 & 代表什么意思。这个倒没关注打包后的代码,想了一下应该是上级作用域的选择器...
  • 自动化工具用什么,我说打包的话就用 webpack,其中又有各种配置,预处理,编译啥的。配置文件自己写过吗,我说写过。
  • 搭建过 react 项目的架子吗,当然。
  • 最后一个问题是, function fun() {} 的原型指向哪里 ? Function.prototype

二面

  • 顺了一下我的履历,问这次为什么打算跳槽,再上家公司时间也不长,期待一个什么样的工作。我说希望有一个技术都比我牛逼的团队。
  • 假如说团队里的大部分人技术都不如你,怎么办。我说那也挺好,我可以发挥我的长处,做一个技术 leader 的角色。又问那如果公司不给你一个 leader 的级别呢... 我就说那也挺好的,你可以成为一个重要的角色,不可或缺的人。
  • 如果你作为一个 leader,你需要什么样的下属。 我说一个不可或缺的人,一两个技术比较好的。其他不需要那么技术好,只要能胜任工作就行了。
  • 你觉得你是容易相处的人吗
  • 看你是信息与计算科学的,算法应该不错,手写一下快速排序吧。
(责任编辑:admin)
顶一下
(7)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
发布者资料
史密斯 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2017-11-24 11:11 最后登录:2018-09-02 11:09

关注奔三路