当前位置: 首页 > Web前端 > HTML5

程序员口述:工作三年是如何转投美团的?

时间:2023-04-04 23:53:21 HTML5

前言我叫王小润(昵称)。我是一个狂野的前端从业者。在一家小公司工作了三年,偶然拿到了美团的offer,顺利跳槽到美团外卖部。接下来,正文从这里开始~3年前,我高中毕业,进入了一个编程培训班,然后自学了课程,主修计算机科学与技术,然后顺利拿到了北航的文凭。培训班毕业后,我来到了杭州。在杭州这个充满电商情怀的地方,每个人都对自己的未来充满希望,《猎场》的郑秋冬就是这样,我也是。虽然我的家庭条件不是很差,但还是希望通过我自己的努力,我可以实现我最初的梦想,当CTO,甚至财务自由。来到杭州,我更加明白,要想在杭州取得成功,就必须在别人看不到的地方更加努力。很快,我被杭州一家创业公司面试,招聘前端工程师,在19楼做本地生活平台项目,月薪5K,双休。一开始我们公司的PHP老大让我做专题页面的图片裁剪,其他页面的前端制作,以及公司官网需要的js交互功能的实现。另外,我们老板还给了我一本关于PHP开发笔记的书让我学习,因为我们公司网站后台使用的框架是ThinkPHP。那个时候,前端页面切完之后,我会拿着PHP开发笔记去研究它的面向过程编程,时不时的向老板请教一些问题。那段时间,我觉得自己成长了很多。从前端页面到后端模板,再到网站的一些操作和编辑,锻炼了自己的能力。有时候周六周日也会在猪八戒网上接一些私活,外包项目,赚点外快,顺便巩固一下业务知识。还记得,来到公司一周后,我渐渐发现身边的同事每天下班都没有要走的意思。当时我们公司一位从北京回来的前端用他的职场经历告诉我,下班晚走半小时是一种工作态度。尤其是作为一个职场新人,想要在公司发展,提升自己的技能,就必须比别人更加努力。于是,那天之后,我慢慢的成了我们公司里最早来的,最晚走的。那段时间也是我技术进步最快的一天,这些细节我们老板都看在眼里。时间过得很快,转眼到了杭州的第二年。功夫不负有心人,一年后,我成功将薪资涨到8K。在小公司呆久了,你会发现公司业务发展的瓶颈。可能是你那时候架构太小,感觉遇到了技术瓶颈,很难慢慢升职。那时,我在一家小公司打零工,总羡慕大老板的光环。因为当时美团的发展太快了,我早就垂涎三尺了。听朋友说在美团做前端开发工程师是一件很幸福的事情。单从硬件来说,标配的MacBookPro15、人体工学座椅、27英寸外接显示器就足以让人羡慕不已。然后在软件方面,似乎你可以做任何你想做的事,只要你能对你所做的事情负责。比如用polymer做一个UI框架。比如我前两天刚用flux+react+express搭建了美团工程师站,主站(美团团购)准备用react开发一些组件来替代目前的方案。美团的前端是个“大前端”,全栈在这里似乎也不是很稀奇。学长们都很好,虚心学习会学到很多东西。而且,美团有比较好的分享培训机制。每个人都是讲师。还有一个美团图书馆。好像主流的技术书籍都能在那里找到,现在馆藏书籍近4000本。内部办公室基本上是基于云的。可以申请美团云主机,随心所欲。听朋友描述,那段时间进大厂成了我所有的幻想和噩梦。我知道大厂最重要的是基础知识扎不扎实。为了进大厂,我很努力。从亚马逊买了经典的《JavaScript高级程序设计》,俗称小红书。每天背着背包,在上下班的地铁上,一页一页的看JS海拔。就这样,我来回看了三遍这本书,期间也接触了一些流行的前端框架和构建工具。终于,在看到美团的招聘信息后,我勇敢的迈出了第一步。当时我参加了美团点评部的面试。部门前端技术栈是Vue,后端用的是Node。过了一面,等了两个小时去采访第二面,然后叫我回去等消息。通常,我就是这样挂断电话,毫无疑问。后来才知道是美团一次把所有的面试都做了。所以以后如果有童鞋要参加美团面试的话,最好计划四个小时的面试。先聊聊吧~1.简单的自我介绍和对我的大概了解。面试官人很好。他先问了接下来的几个项目和用到的技术,他会把我所了解的大概概括一下。了解,比如webpack的单页多页切换,webpack的按需加载,webpack的一些配置,问你有没有看过vue源码,我说一个vuewatch,一般问我框架,发现自己对框架不是很熟练,安慰我没关系。2.承诺原则这个面试官最让人佩服的一点就是,他不会问你不懂的东西。一开始他问我promises,发现我用promise的不多,自然就说没关系,换了个方式问你,howkind。然后让我用原生js写一个回调函数。其实就是问一下promise的原理,用js写一个。3.Thispointsto这是面试官写的异常冗长和令人费解的thispointingquestion。可以百度js这个自己指向面试题。看了几题就没有问题了。需要注意的是,还有exams,argument,apply(null)。以后想想再写4.bind和functioncurrying就是写一个bind,这本红皮书函数进阶(22章)有:1functionbind(fn,context){23returnfunction(){45returnfn.apply(context,arguments);67};89}可以看出。但是bind的用法,return一个函数,可以传递的参数你还是得了解一下。这里的参数涉及函数柯里化。都是手写的代码,最好写工整,因为我写过一些,面试官让我写完整,明明说要看我代码写水平5.==,isNaN,typeof在问这个问题之前。一个数据类型,这里是不可见的,看你知不知道es6的新类型,symbol。说完符号,自然会问这个类型有什么用。然后写了一大堆typeof的题输出,isNaN,==,这是基础题。6.知道什么是http请求头吗?这个可以说很多。聊了几句,就主动说起跨域请求头和之前项目中用到的cors,就和他聊了一会儿。其实面试就是主动表达自己,把自己知道的说出来,不然几个request头说详细不详细。如果你问详细的问题,人们会感到困惑。最好把话题引到你知道的地方。7.问了css,问了cssboxes并画了,清除了floating和bfc,两列布局。8.说了一大堆,就是想测试一下我的防抖面试。问完我想问的问题,我直接的问题还有另一面吗?答案是肯定的,介绍了一会儿美团点评,说后台是node。貌似要求是前端也要有背景知识。双方的问题明显比一方要深入得多:1.自我介绍,问项目。我问了很多关于这个项目的问题。当时有个支付行为项目,问了很多安全问题。我对此一无所知。第一个是失败的。然后问了下其他的项目,包括websocket。2.node的EventEmitter是用js实现写的,但是可以看出代码不规范,面试官说看起来很乱。不过大概还好吧,我也指出了几个问题,让我修改一下。(稍后完善)3.虚拟dom其实vue中是有jsx的,jsx是react的特性之一。虚拟dom与代码优化有关。下面说一下DOM的正常运行。在浏览器中,分为渲染引擎和js引擎。现在浏览器核心一般都是渲染引擎(生成渲染树),因为js引擎越来越独立了(所谓的v8引擎?)但是在js中获取dom元素的时候,要经过渲染引擎,所以两个线程之间的数据交换自然会很慢。所以在前端优化中,总是需要考虑减少dom操作。包括获取dom元素变量进行存储。jsx将dom元素转化为存储在内存中的数据结构。js很快,dom的运行也很快。但是,也有缺点,这是目前的认识。4.路由的实现原理饿了么,不懂。.5.Node文件流,java映射机制(我记不太清了)?饥饿的。.6、数组法map和reducer有什么区别?饿了么7.进程和线程的区别终于知道了,这分明是想问你js的运行机制。先介绍一下进程和线程。浏览器是一个进程。JS虽然是单线程,但是浏览器是多线程的,V8引擎也是多线程的。比如有渲染线程和处理请求线程。然后说说任务队列,eventloop。理解不深,不敢多说。8.树遍历前序、中序、后序。这就是我所知道的,显然我应该写一篇,但我不会。也很明显,面试官心里已经过了我,所以也没多问。9.问KMP的算法??反正我不知道。最终,第一次大厂面试之旅以失败告终。后来开始疯狂刷前端面试题,为下次进大厂做准备。就这样,我坚持每天早睡早起,把闹钟定在早上4:30。我相信闹钟无法唤醒沉睡的灵魂,但梦想可以。俗话说,叫醒你的不是闹钟,而是梦。这句话虽然俗,但是很俗,我喜欢。对于胸怀大志的人来说,行动是一种自发的行为,而不是一种冲动。过了无数个日日夜夜,我又去美团面试了。本以为这一次可以有把握了,结果却是一败涂地。我不甘心,我一直认为成功就是站起来比跌倒多一次。于是,在老板的影响下,我开始写技术文章,发表在各大博客平台,开始运营公众号,写下自己的一些职场感悟,增加自己在圈内的影响力。通常,跑步和锻炼可以让自己保持强壮。当一个人走投无路时,走到哪里都是前进的方向。即使前方刮着风雨,我依然义无反顾,因为只有走在泥泞的路上,才能留下清晰的脚印。这只是三件事。前端开发的第三年,我又义无反顾地参加了美团平台和酒旅事业群的面试。在这次面试中,我其实...后记是的,现在我已经顺利拿到美团的offer,并且顺利加入了美团外卖事业群,从此成为一名光荣的美团外卖骑手,我们公司还为我配备了一个电子车。这就是我加入美团的故事。声明欢迎转载,转载请注明出处和作者,并保留声明。作者:润图青年来源:http://www.cnblogs.com/runnin...除特别注明外,本博客文章均为原创,转载请注明出处。未经作者同意,必须保留此声明,并在文章页面显着位置给出原文链接,否则保留追究法律责任的权利。想更加了解我吗?欢迎关注我的微信公众号:润图哥的前端之路