腾讯-全栈开发-1面
2020/03/20 21:30-11:00
在上次后台开发一面挂了以后,今天抱着侥幸心理改了投递为Web前端开发。但结果来面的是应用开发(现在叫全栈开发)。其实都无所谓了,Web前端开发和全栈开发哪个来今天都是挂。
面试开始:
面试官先跟我聊项目,我说了很多关于业务和需求方面的东西,这些他还是挺满意的。
但是聊到技术上的时候,我就可以慌张了。
确实最近没再看校车项目,里面一些实现也忘了差不多了。难点如何解决的也不记得了。所以说以后一定要养成记录和写blog的习惯,要是当初做校车项目的时候遇到的难题及解决办法记下来,现在五分钟翻翻我就能应付面试了好吧。
其中问到许多前端技术问题,比如:
现在小程序23000人,如果扩大到200万人,前端该如何设计;
小程序的调试(这个真的要抽死自己,为什么写这些久的小程序还在用打印的方式debug,下次我再用打印的方式debug我就吃屎!!!!!); -》 这里也侧面反映了我“只管解决当前问题而不管实现以及有没有更好方法”的学习态度,真是犯了学习的大忌了。
微信用户状态的管理机制(看,又是想着放个按钮可以获取openid就好了,具体底层流程一点也不知道,该!!!)
H5的渲染与小程序有什么不同(由此更能看出我现在这开发水平吃不了前端这碗饭,而且想吃这碗饭也补不回来,还是搞算法吧);
校车数据分析的实现细节(后面一定要把这个算法补回来,补不回来就别吃算法的饭了!!!!)
不过今天这个前端面也让我看清了自己,确实我那点简单玩意儿是不能够让我吃前端开发(后端开发也是)这碗饭的,还是好好准备算法岗的内容吧,还有一线生机。
做题:
1.长度为N的数组,由小于N的数组成,找出其中重复的数,要求时间复杂度为O(n),空间复杂度为O(1)
没什么好说的,刷题没刷够。
2.一个公司有很多员工,也有主管,每天员工和主管都需要签到,但主管可以用签到机确认有多少人上班,也可以按员工ID顺序或签到顺序打印出上班的员工,还可以找出倒数第n个上班的员工是谁。
要求:请用OO的方法分析和实现;所有操作的时间消耗和空间消耗越低越好,其中排序算法时间复杂度不能超过O(nlogn),极端情况下也不可以退化为n^2
考核点:(1)能不能找到这里的对象(2)员工和主管可以是继承关系(3)每个对象都会有什么方法(4)员工能做什么,主管能做什么如何实现控制(5)排序算法如何实现的用什么排序是否满足时间复杂度的需求以及是否用了很低的空间消耗(6)用什么数据结构表达签到信息
这道题确实没见过这么考啊。。。还得用面向对象去写,一开始面试官还要求用typescript写,但牛客上不支持,就让我用javascirpt写。
看吧,这么一搞就露马脚了,就我那点小程序写几个函数的三脚猫功夫,连javascript怎么写个类都不会还想吃这个饭?
逼不得已问面试官可不可以用python写,最后python也写的漏洞百出编译不通过,再次厚着脸皮要求在本地编译器写,最后还是没能完成,这是太丢人了。。。我这得是菜到什么程度了都。。。
总结:
1.确实没法吃开发这碗饭,无论前端还是后台,还是好好准备算法吧。
2.把校车和Quests的算法搞出来,一定要由项目可讲!!!!
3.面试官人很好,指出了我的问题:业务分析能力很好,但是技术岗主体还是技术,不能本末倒置,目前基本功不扎实。非常感谢面试官在我这么菜的情况下还面了我这么久,还给我指出问题,虽然我也知道自己的问题在哪,所以赶紧接着刷题啊啊啊啊啊!!!!不摔得痛了怎么知道自己是个辣鸡!
原文地址:https://www.cnblogs.com/olajennings/p/12536261.html