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

  • 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届找工作求助阵地##我的实习求职记录##我的实习日记##我的求职思考##得物#
全部评论
面试官是个戴眼镜的,在飞书视频面的是吧,问的问题基本一摸一样
2 回复 分享
发布于 2023-06-02 20:35 湖北
嗯…150一天八点下班周末还要上班…还没房补餐补…
1 回复 分享
发布于 2023-06-08 20:44 江西
得物有前端暑期实习,我在官网上没看到啊
1 回复 分享
发布于 2023-06-02 12:49 江苏
他也在我的出游大计开始前约了我 去长长见识吧
点赞 回复 分享
发布于 2023-06-13 14:08 湖南
问的一样,关键是他说8点下班。
点赞 回复 分享
发布于 2023-06-04 23:35 安徽
……现在都要求实习生周末加班了吗?
点赞 回复 分享
发布于 2023-06-01 22:30 吉林
一直问原理这是我没想到的😥
点赞 回复 分享
发布于 2023-06-01 22:15 江苏
mustache都上了,还行
点赞 回复 分享
发布于 2023-06-01 21:19 上海

相关推荐

面了这么多大厂,也是有了一些经验。有深度的简历是你不仅有技术,还有解决问题和创造价值的能力。1.要从“项目功能”思维转向“系统”思维:不要只写“我用了Vue+Element-UI做了一个后台管理系统。”要思考并尝试写出:i.性能:我如何优化万级数据表格的渲染性能?(虚拟滚动、分页策略、Web&nbsp;Worker)ii.工程化:我如何封装高复用组件/工具函数,提升团队开发效率?我如何配置CI/CD流水线或代码规范?iii.架构:我如何设计状态管理?模块间如何解耦?是否有更好的数据流方案?iv.难题解决:我遇到了什么技术难点(如大文件上传、实时协同、复杂动画)?如何调研并解决了它?2.追求量化,哪怕是小项目:即使是一个课程设计或个人项目,也可以尝试量化。例如:“通过Tree&nbsp;Shaking和懒加载,将初始包体积从&nbsp;2MB&nbsp;减少到&nbsp;800KB”;“通过索引优化,将某个复杂查询的响应时间从&nbsp;2s&nbsp;降到&nbsp;200ms”。深挖一到两个技术点,形成“技术亮点”:不要泛泛地说了解XXX。熟练XX3.选择一个方向深挖,比如:性能优化:深入理解浏览器渲染原理、网络协议,并能在项目中实践(如预加载、缓存策略、渲染优化)。前端工程化:深入研究Webpack/Vite插件机制,能为自己团队定制插件或构建流程。4.找到自己的创新点:当发现现有工具无法完美满足需求,或过于笨重时,不要将就。尝试:写一个适合自己的工具函数库、封装一个更适合业务场景的组件、基于开源项目进行二次开发或定制插件。这个过程本身就是深度学习的体现,也直接成为简历上的闪光点。5.像产品经理一样思考业务:在做项目或实习时,多问几个问题:这个功能是为了解决用户的什么痛点?成功的指标是什么?我的技术方案是否是最优解?有没有数据可以验证效果?主动去寻找项目中的痛点、挑战,并用你的技术知识和钻研精神去解决它、优化它,并将这个过程和结果清晰地表达出来。这就是简历“深度”的来源。
有深度的简历长什么样?
点赞 评论 收藏
分享
评论
7
44
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务