阿里淘天-暑期实习-前端面经

3.19 一面 60min

自我介绍

项目:

每个项目都问了:介绍一下做了什么,有什么难点和值得分享的点

主打项目大致问了一下具体技术实现

八股:

js:

原型是什么?原型链是什么?说说自己的理解

为什么会出现原型、原型链?(不会)(面试官告诉我是类,用于继承和封装【不确定现在记得还对不对】)

闭包了解吗?(js学的不好别问js了)

Vue:

数据绑定的原理?

v-model的原理?

考虑过优化吗?有哪些可以优化?(图片懒加载,还提到了我的项目的一个优化)

(因为在我的本地,就共享屏幕给面试官看了)

(面试官还说看看源码)

平常怎么debug的?有用一些工具吗?(没有)他建议我去了解一下

CSS:

说一下盒子模型?

怎么做水平、垂直居中?

BFC 了解吗?是解决什么问题的?(不会,面试官告诉我是解决外边距折叠的)

有哪些动画?(说了缩放旋转、移动、关键帧,面试官问还有吗)

sass,less 了解吗?css 工程化?(不会)

(问我是怎么写类名的,看看项目源码)

安全性相关(我说只知道HTTP和HTTPS)

HTTP:

GET 和 POST 的区别?

笔试题一道:(另发一个做题链接)

输入一个list,要求输出tree

// 完成 convert(list) 函数,实现将 list 转为 tree
/**
 * @param list {object[]}, 
 * @param parentKey {string}
 * @param currentKey {string}
 * @param rootValue {any}
 * @return object
 */
function convert(list, parentKey, currentKey, rootValue) {
}

  
const list = [
  {
    "id": 19,
    "parentId": 0,
  },
  {
    "id": 18,
    "parentId": 16,
  },
  {
    "id": 17,
    "parentId": 16,
  },
  {
    "id": 20,
    "parentId": 17,
  },
  {
    "id": 16,
    "parentId": 0,
  }
];

const result = convert(list, 'parentId', 'id', 0);
const tree = {
  "id": 0,
  "children": [
    {
      "id": 19,
      "parentId": 0
    },
    {
      "id": 16,
      "parentId": 0,
      "children": [
        {
          "id": 18,
          "parentId": 16
        },
        {
          "id": 17,
          "parentId": 16,
          "children": [
            {
              "id": 20,
              "parentId": 17
            }
          ]
        }
      ]
    }
  ]
}

console.log(JSON.stringify(result, null, 2), 'result')

面试体验:

虽然我很菜但是体验很好。因为面试官很好。一直夸我的项目做的不错,极大地修复了昨天被鹅厂二面锤烂的信心,给孩子哄成胚胎了

笔试我js写不出来,说了思路,他觉得没问题,问我要不要下了面试自己写,一个小时后他来看

如果进了,我将成为阿里死忠粉

全部评论
后面约二面了吗?
点赞 回复 分享
发布于 04-15 18:45 四川
mark一下笔试题
点赞 回复 分享
发布于 04-09 21:13 天津
旦爷,我俩一个部门一个岗位的,我前天晚上一面现在还没消息,你流程有推进了能t我下不
点赞 回复 分享
发布于 03-19 21:58 上海
佬,方便问下哪个部门的吗
点赞 回复 分享
发布于 03-19 20:13 广东

相关推荐

评论
5
29
分享

创作者周榜

更多
牛客网
牛客企业服务