首页 > 笔经面经 > 一年半经验前端社招——拼多多(已面完hr)

一年半经验前端社招——拼多多(已面完hr)

头像
你可以回去等通知了 #拼多多#
编辑于 2020-03-31 01:43:13 APP内打开
赞 6 | 收藏 17 | 回复5 | 浏览4196

前言

在鹅厂也呆了一年多了,业务一般般,而且很忙(晚上10点+,每天不定时随时oncall)。希望能换个平台寻求更好的发展和更高的技术视野,也希望能找到轻松一些的工作,所以出来看机会了。个人选择的原则:满足工作生活平衡、付出收益平衡、业务未来可观三者之一。近来有一批面试,整理完每一篇后,会持续更新《一年半经验前端社招》系列的文章

下面的题目,都会标明每一题的性质,也会给出一些参考思路

  • 描述:对概念、过程的描述,纯理论性问答题为主
  • 举例:说出应用场景,或者是自己团队实践的情况
  • 伪代码:写代码,但不需要跑起来,甚至可以随便写伪代码,主要目的是描述思路
  • 编程:真正的写代码,需要跑起来,有测试用例,要看到效果

hr面的话,是一些日常、项目回顾(技术细节少说)、职业规划、为什么跑路、为什么选择这边、目前薪资和职级、期望薪资。hr面基本类似,后面会出一个hr面专题

公司面试难度评估:✭✭✭✩✩

1面

pdd用的是他们自己家的面试系统,该有的功能都有,和牛客类似,web-ide体验稍微差一些。在此说一句,还是牛客nb啊!

  1. react16新生命周期,有什么变化【描述】
    两个static、一个didcatch捕获错误的、一个getsnapshot
  2. react16之前的那些不好的生命周期怎么过度到react16的新生命周期【描述】【举例】
    getDriverStateFromProps替代componentWillReceiveProps,加上逻辑对比上次state和props来决定state。willupdate换成getSnapshotBeforeUpdate,willmount直接写成初始state(react16的state不先写出来是null,你需要先在class组件里面写一下state = {...}
  3. componentWillReceiveProps用到了this,getDriverStateFromProps也要用,怎么办【伪代码】
    把this.xxx存到state里面,第二个参数是state,里面有xxx(有点挫,懂的人应该都有同样的感受吧,如果是函数组件,一个useRef保存一下即可)。另外的方法,如果和内部变量无关,把它抠到class组件外面去
  4. 编程题:['aaafsd', 'aawwewer', 'aaddfff'] => 'aa'(ide没有调试功能,也不能打开控制台,我只能写好了让面试官去运行。无调试,靠想象)【编程】
  5. 编程题:['aa/bb/sd', 'aa/bb/wwewer', 'aa/bb/ddfff'] => 'aa/bb'(无调试,靠想象)【编程】 接上题改一下,不用一分钟即可解决
  6. 怎么理解ts【描述】
    类型检查、ide友好提示、文档、利于维护
  7. ts的type和interface什么区别【描述】
    经典问题,网上可搜,主要是列举出两者的特点,对比一下
  8. ssr怎么实现,你们怎么做【描述】【举例】
    将动态渲染逻辑做到后端去,并把最终html结果直接返回。我们这边是数据动静分离+部分ssr直出,重要的数据ssr,比较慢的接口还是放前端
  9. 你们有没有统一构建的cli,怎么实现【描述】【举例】
    基于react全家桶,ts、eslint、埋点上报、sw都可配置,根据配置生成代码模版,开箱即用
  10. 你们项目有ci吗,怎么做,提交的时候会做什么事情【描述】【举例】
    通过接入公司内部某ci,配置yaml文件,每次监听git hook,并作出对应的行为如安装、lint、部署、搬运、生成change log等等。提交的时候,检查lint、修复autofixable的问题,存在修不了的问题报错,提交失败
  11. e2e测试、自动化测试【描述】
    概念性问题,网上容易搜到
  12. git rebase什么作用【描述】
    概念性问题,网上容易搜到

一面的面试官很友好,虽然戴口罩,但也可以感觉到满满的笑容。面试过程中,我的问题还没问够,他说你可以问2面面试官

2面

面试官说系统有问题,开不了摄像头,于是加了微信,微信电话+系统在线写代码结合。不得不说,pdd这个系统很严格,我拖一下窗口就说作弊警告,然后接了一下面试官微信电话又作弊警告,面试官说问题不大,不慌。面试官很严格,全程一本正经,虽然没看见人,但强大的气场让我有一点心凉的感觉

  1. 项目介绍【描述】
  2. 项目难点【描述】【举例】
    一定要拿出最熟悉最自信最能体现自己的项目,这一块是确定面试表现的关键环节。面试中这里可以问个半小时以上。包装假项目的、吹牛的,到这里基本就可以区分出来了。还有项目比较浅的,到这里如果进入尬聊或者冷场,很可能就挂了的。反正我是可以保证自己掌控主动权的,让面试官跟我思路走
  3. 实现一个redux【编程】
    10几行经典redux,途中会顺便问一下函数式编程、纯函数、副作用这些,网上搜“函数式编程”即可知道这些概念了
  4. 如果是用ts写,怎么写【编程】
    改成ts版本,如果比较熟悉redux+ts的,很快写出来。如果不太熟,熟悉泛型也可以根据表现,很快写出近似的。我说我没有ide提示,不能保证裸写没问题。面试官说没事,只是看看你ts熟悉程度

最后

pdd钱给的很多,算是top水平的了,base低的可以去pdd搞一波,快速提升base和pkg。但是pdd单休,平时加班很晚,项目节奏很快很紧凑,所以还是看个人取舍吧。我的话,因为pdd在上海就不考虑了,hr表示也理解。

我自己没有搭建个人网站,一般就用用别人的平台发发文章,看见牛客也有博客功能了,后面会看看。掘金和github可以搜 lhyt 找到我文章和个人沉淀

更多模拟面试

5条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

热门推荐