Android开发复习两个月面试美团,Offer舔到手了吗?
suiw9 2024-11-17 15:46 18 浏览 0 评论
前言
这是我17年的经历,觉得还挺励志的,希望能帮助到一些正在迷茫的同学。
是去美团送外卖了?有配电瓶车吗?
答:亲,有配的哦,开起来贼顺滑。啊呸,说啥了,咱进的是正儿八经的技术部门
咸鱼的现状
时光回到2017年2月初,当时刚过完年回到上海,此时的我已经毕业一年半了,和大多数咸鱼一样,上班就是CRUD,下班就是看剧、玩游戏(英雄联盟、手游都玩)。
当时我的工资一个月到手就5k出头,但是因为在甲方驻场开发,加上差补餐补有接近8k,还包住。每到周末几个小伙伴一起打牌、一起搞情、一起洗脚,日子过得很是滋润,当时其实挺满足的。
咸鱼的自我救赎
让我萌生想跳槽的根本原因已经忘了,想了很久没想起来,可能是受其他小伙伴的影响吧,有了这种想法后就开始准备起来了。
刚开始只是每天下班后躺在床上看别人的博客学习一些东西,一般是22:30看一小时左右,当时就看些比较基础的知识,就是类似于:Fragment相关、Activity相关、Service相关等等这类比较基础的知识。
想跳槽的想法有了之后便一发不可收拾,如果说刚开始每天晚上看1小时只是在试探,那么半个月之后我便全力投入面试准备了。
当时工作上的事情不是很多,每天花个两三个小时基本就能应付了,所以其余的上班时间我都拿来准备面试了。
准备面试的方式主要通过看别人的博客、看源码,内容主要是Android核心知识和 Android面试题。
从二月初准备到了三月底,这期间我主要干了以下几件事。
1.看面试题
这期间我看了很多套 Android 面试题:
很重要的一点,看题要带着理解、带着思考去看,将题目与实际开发的内容结合去理解,这样很容易就记下来了,死记硬背效果不好。
还有看面试题不能只看一次,需要反复看,就像你高中准备考试那样。看完这些面试题后,我能很自信的在我简历写上了:
- 具有扎实的Android基础, 熟练掌握Android下的四大组件以及它们之间的数据传递、五种常用布局并能灵活的运用。
- 熟练掌握Android常用的系统控件,具备自定义控件的开发能力,能够利用系统控件及自定义控件完成常见UI界面的绘制,手机屏幕的适配。
对于flutter这听着就高大上的东西,当时我能做的就是带着理解把下面这几道题目背的滚瓜烂熟,在此之前我压根就不知道flutter。
- 在flutter里streams是什么?有几种streams?有什么场景用到它?
- 简单说一下在flutter里async和await?
- future 和steam有什么不一样?
- 在什么场景下使用profile mode?
- 列举在flutter的状态管理方案?
就这5道题目,不能再多了。在当时的面试中无数次被问到,我都能很自信的答出来,帮我在面试官心中加了无数的分,估计面试官还以为我对flutter有所研究,整个人的逼格顿时就上去了。
对于背面试题,我只能说两个字。
2.源码初探
在看完上面的面试题后,已经能应付很多问题了,但是好像还缺了点什么?没错,就是能让你装逼的源码。当时我选择了常用集合的源码,当时我这菜比也只能选这个了:Hook、Transform、Binder、Handler 等等,基本都是边看源码、边对着别人的博文跟着一行行的学。
看完这些源码后,我把它们全写到简历里去了,因为这是当时我觉得自己为数不多的亮点了。
- 深入学习过Hook、Transform、Binder、Handler 等常用集合的源码。
自己深挖过(例如看过源码)的知识点被问到时,一定要抓住机会表现,让面试官感受到自己的深度,这些都是加分的点。
3.项目准备
除了技术知识外,项目也是必不可少的一环,但是不需要准备很多,只需要挑2-3个你最牛逼的需求点准备就行了。我当时找了很久,就找了这么几个很 low 的点:
- 使用TabHost控件,实现功能界面切换
- 继承SQLiteOpenHelper类,实现功能数据存储
- 使用Cursor查询数据信息呈现界面
- 自定义Aaapter,呈现信息及提交数据
- 重写onResume方法更新界面数据
第2和第3点其实就是来凑数的,打扰了。
还记得当时做这个需求的时候还挺痛苦的,做了好久。但是真正到了需要用的时候。
这也是我很想传达的一点,项目中遇到难题时千万不要总想着退缩,这些解决难题的过程、解决的难题,都会让你快速成长和受用终身。
这些内容就是我开始面试前的全部准备了,从2月初到3月底,差不多准备了1个半月,当时的简历在现在看来,不是一点点 low啊,但是当时已经是我的极限了。
咸鱼修炼出山
准备好了之后就是疯狂投递简历了,各种知名的招聘网站都要去投,也没有什么挑选的说法(唯一可能就是尽量选互联网公司,还有就是像阿里腾讯这种大公司,咱是不敢投的),只要是招2年Android的投就完事了。只要能给个面试机会,咱就得谢天谢地了。
很多很多的投递都石沉大海,但庆幸的是在海投之下,还是拿到了不少面试机会,当然大多都是听都没听过的公司。
偶尔收到一些稍微有点名气的公司面试邀请时,心里真的乐开了花,可以对着这封邮件反复看好几遍。
面试之前给自己定了个目标——13k,每次hr问我时我也就讲13k-15k,高了不敢喊,心虚,觉得自己就是个垃圾,根本不值这个钱...
从3月底面试到了4月底,总共面了20来个公司。基本是每天2个面试,上午下午各一个。早上室友还没起床,我就已经出门了。
早餐都是在三林东地铁站附近的巴比馒头解决的;午餐就在面试公司的附近找家麦当劳解决。那段时间每天在路上奔波的时间至少四五个小时,但是完全不觉得累,整个人对未来充满了希望。
也多亏了这一个月的面试时光,我走过了上海的很多地方:漕河泾、张江高科、唐镇、人民广场、陆家嘴、中山公园,之前在上海呆了2年去过的地方还没我面试期间去的多。
差点FirstBlood
第一天下午面了链家网,当时面了两轮技术面,每轮两个人,除了一些技术问题外,问了很多场景题,比如:用户来链家网看房,怎么推荐合适的房子?
这些都是我没准备过的问题,当时只能随机应变了。还好我靠着自己的聪明才智(一顿瞎扯)混了过去。现场两轮技术面应该是过了(至少也应该是个备胎),当时通知我总监不在,晚上进行电话面。
我还记得当时出来时心里贼高兴,总监面不就是吹吹牛逼吗,感觉就要起飞了。
总监面一开始也如我所想,就问些:“平时工作之外都干些啥啊?”,“有在学习什么技术吗?”这类的,结果我自己作死提了个在学音视频,当时我确实在看这个,但是还是一知半解,结果被问了几个问题就凉了。当时觉得自己是个傻吊,想喂自己吃屎,可能错过了自己最好的机会。
如果当时链家发offer,只要不是侮辱性薪水,我是必去的。其实就算是侮辱性薪水,只要不是太过分,我估计还是会舔着去的...
几次尴尬的经历
面试有时候就跟碰运气一样,运气好点,问的全是会的,运气差点,两句话就被轰出来。
有一次和三个同事去陆家嘴参加招聘会(当时还是蹭的他们的面试邀请),来回两三个小时的车程,面试2分钟就结束了,真是充电5小时,通话2分钟。当时我们还互相调侃说,见识了繁华的陆家嘴(下图就是当时拍摄的),也不枉此行了。从此以后,我再也没参加过招聘会。别问,问就是记仇。
还有一次去面一家地产公司,当时面试官正在小房间里面另一个人,看到我到了就把我也叫进去了,我当时心想:还有这种操作。然后面试官就问了我两个问题:
(1)RecyclerView和ListView的区别。
(2)前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法?
当时我没答上来,然后就被轰出来了。
冥冥中注定
运气总是守恒的,有一些运气不好被秒杀的经历,必然也会有一些运气好拿到 offer 的。现在回想起来,当时能进美团真是冥冥中注定的,有无数次我都已经差点入职其他公司了,但是最终因为各种阴差阳错,最终都擦身而过。
谷米实业:1轮笔试,2轮技术面试。技术负责人比较看重逻辑思维能力,让手写代码,还问一些智力题。给的税后11k,由于五险一金的问题没去。
飞牛网:背靠大润发,当时觉得很高大上,给的税前13k,我当时都在看房子了,最后由于一些原因没去成,具体啥原因我自己也忘了...年纪大了,记忆力差的很。
1药网:创始人是1号店的创始人,当时也很想去的一家,给的税前13k,当时已经接了offer准备去了,结果通知面的部门没有hc了,临时要我去加面另一个部门。
当时加面了两轮,第一轮是部门技术老大面,可能是由于之前已经通过了其他部门的面试,有些问题没答出来,老大也很耐心的引导我,看得出来还是比较喜欢我的。
第二轮的直属上级看起来比较忙,就随意的问了一题。没错,就是那道我还专门水了一篇文章的题目:死锁的四个必要条件?
显而易见的,这道题目对于当时的我来说太难了,而且也没法瞎掰,我装模作样的思考了一会后,尴尬的说了不会,老大还安慰我说没关系。尽管加面发挥的一般,但是最终还是给我发了offer(我一度怀疑是不是那个老大对我有什么企图)。不过由于自己觉得在直属上级面时发挥的太差了,最终决定不去。
现在看来自己当时不仅菜,还作死。
幸运女神的眷顾
拒了1药网后,选择已经不多了,就剩2个未面试的:平安医疗和美团,并且上海自己能投的基本都投完了,当时决定如果最后这2个没满意的就到深圳去(都跟父母和深圳的同学打好招呼了)。我不是一个相信运气的人,但是这次幸运女神确实眷顾了我,让我抓住了最后一根稻草。
进美团并不是一帆风顺的,拿到面试资格都费了好大劲,当时自己的简历太普通了,大概率入不了美团hr的法眼,但是我还是厚着脸皮投了很多部门,有些部门还投了很多次。终于,在我的死缠烂打下,有一位善良的hr给了我一次机会,这是我进美团的第一位贵人。
可能有同学有疑问,为什么要重复投一家公司,甚至是同一个部门?
答:每个公司都有很多部门,每个部门的hc数和招人标准都不一样,即便是同个部门,如果hr不同,标准肯定也不一样。重复投相当于是在碰运气,努力让更多的hr看到我们,努力让hr在不同的日子里看到我们,兴许hr今天心情好就给我们个面试机会了。
3月底开始面试的,到面试美团的时候已经4月底了,这面试的时间里,我们不能荒废了学习,还是要持续不断的复习和学习。当时我就在这1个月的时间里学了:OkHttp、性能优化、Jetpack高级教程,而且在面试美团就用上了...,你敢信。
美团1面的小哥是我的第二个贵人,这个老哥贼实在,就对着我简历写的专业技能一个个的问,真的把我写的每一个点都问了...
咱这么老实的人,写在简历上的都是比较有把握的,因此这个小哥的问题我基本全答上了。不仅过了1面,而且可以确认小哥给我的评价很高(因为后面入职发现我比其他同学的定级高一级)。
美团2面就是主要问项目了,我又把我那蹩脚的项目拿出来讲了一遍,面试官问的很细,把整个项目从头到尾细聊了一遍,如果没准备好可能会扛不住,最后还给出了一些他的建议(其实就是装一波逼)。
还有就是简单的问了几个技术问题。Hr 面就比较简单了,一般是介绍当前的业务,问我对业务是否感兴趣啊,平时有没有在学习等等。对于这些问题,舔就完事了,把握好舔的尺度,不要舔的过于浮夸一般都莫得问题。
不过也会有一些送命题,例如:能接受的底线薪资,如果低于该薪资会放弃本公司的机会。
我当时是这么回答的:“底线薪资:无,由于对贵公司的前景比较看好及相信贵公司会给出一个合理的薪资,本人将考虑贵公司给出的任何薪资”。现在回头来看这个回答,舔的还算凑合,有一些细节在里面。
就这样,我不可思议的拿到了美团的offer,薪水也超过了我的预期。
进大厂的诀窍
经过这几年的摸爬滚打,我发现进大厂确实有一些诀窍,对于和我一样背景一般的同学,只要你抓住了诀窍,进大厂不是梦。
1)一定要提前准备,至少准备个一个月,网上的面试题多看看,对于那些高频题目,带着理解去学习,实在不能理解的就背下来,大家高考的时候不都是背过来的。
2)大厂通常有很多部门,每个部门的hc数和招人标准都不一样,即便是同个部门,如果hr不同,标准肯定也不一样,重复投简历可以增大我们拿到面试机会的概率。同理,重复面试不同的部门,也可以增大我们进大厂的概率。
3)大厂经常会布局新业务,新业务需要快速启动入场,hc通常会有很多,因此招人的标准会稍微降低,这个时候是个绝佳的机会。我当时进的就是个新的业务部门。
写在最后
可能有人会觉得我进入美团太幸运了,是小概率事件,不值得参考。
答:进入美团确实有运气成分,我自己也是这么觉得的。但是在大厂混了几年后,我发现这真不是小概率事件,很多人都是这么过来的,好多同学都是面了N次才进的大厂。
有时候,选择比努力更加重要,机遇比奋斗更加重要。但是,机会只留给有准备的人。我们只有时刻准备着,才能在机会到来的时候,去抓住它。
我很幸运的是,当我准备好的时候,机会来了。从此以后,我变成了一个相信运气的人。
我相信,越努力,越幸运。
最后,在这里我也分享一份干货,由大佬收录整理的 Android学习PDF+架构视频+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
如果你需要,可以【私信】我获取。
相关推荐
- 俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)
-
发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...
- 如何强制所有流量使用 HTTPS一网上用户
-
如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...
- https和http的区别(https和http有何区别)
-
“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...
- 快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别
-
什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...
- 简述HTTPS工作原理(简述https原理,以及与http的区别)
-
https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...
- 21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)
-
HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...
- 一次安全可靠的通信——HTTPS原理
-
为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...
- 为什么有的网站没有使用https(为什么有的网站点不开)
-
有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...
- HTTPS是什么?加密原理和证书。SSL/TLS握手过程
-
秘钥的产生过程非对称加密...
- 图解HTTPS「转」(图解http 完整版 彩色版 pdf)
-
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...
- HTTP 和 HTTPS 有何不同?一文带你全面了解
-
随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...
- HTTP与HTTPS的区别,详细介绍(http与https有什么区别)
-
HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...
- 一文让你轻松掌握 HTTPS(https详解)
-
一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...
- 如何在Spring Boot应用程序上启用HTTPS?
-
HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...
- 一文彻底搞明白Http以及Https(http0)
-
早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)