当前位置: 首页 > 面试经验 >

得物前端|暑期实习|面试

优质
小牛编辑
88浏览
2023-06-01

得物前端|暑期实习|面试

  • 40min
  • 自我介绍
  • 项目介绍
  • 项目遇到的困难以及是怎么解决的
  • 手写代码部分
	// 1.手写call(当时没写出来)
      Function.prototype.mycall = function (thisArg, ...argArray) {
        thisArg = thisArg != undefined && thisArg != null ? Object(thisArg) : window
        // 使用this绑定规则中的隐式绑定,
        let fn = this
        // 让fn中的this指向thisArg
        thisArg.fn = fn
        let res = thisArg.fn(...argArray)
        delete thisArg.fn
        return res
      }
// 第二题,力扣70,爬楼梯
var climbStairs = function(n) {
    let dp = new Array(n);
    dp[0] = 0;
    dp[1] = 1;
    dp[2] = 2;
    for(let i = 3; i <= n; i++){
        dp[i] = dp[i - 1] + dp[i - 2];
    }
    return dp[n]
};

// 第三题,不用Set在O(n)时间复杂度的情况下实现数组去重
// 口撕了用map实现
  • 讲讲Vue的数据劫持
  • 后面深挖了挺多原理的:(被问死了)
  • 1.vue是怎么监听字符串的变化的,为什么无法监听数组和对象的属性变化。
  • 2.vue怎么把模板解析成AST,具体有什么方法。讲了切割token流的方法,问我还有什么方法(这块拷问了很长时间),怎么遍历的巴拉巴拉
  • 3.怎么去获取节点的属性呢
  • Webpackloaderplugin的区别和作用
  • Git里面mergerebase的区别
  • 没回答好,大概这么说吧
  • mergerebase都是合并历史记录,但是各自特性不同:
  • 1.通过merge合并分支会新增一个merge commit,然后将两个分支的历史联系起来其实是一种非破坏性的操作,对现有分支不会以任何方式被更改,但是会导致历史记录相对复杂
  • 2.rebase会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交,主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交
  • 怎么用git rebase解决代码冲突(git rebase --continue
  • 实习时间
  • 能否接受工作地点在杭州,一天150-200
  • 能否接受周末加班
  • 有没有其他offer
  • 希望在实习的过程中收获到什么
  • 有无自己封装组件库的经历
  • 怎么接触前端的,怎么学习的
  • 你觉得你和其他人相比突出的优势
  • 总结,这是在我出游大计之前几小时的面试,当时已经迫不及待想出去玩了,就随便面面,没想到被狠狠拷打了原理,直接寄。而且面试官后面这个问法感觉去了也是当牛马,还好挂了

#23届找工作求助阵地##我的实习求职记录##我的实习日记##我的求职思考##得物#
 类似资料: