(文章很长,不想看面经的朋友能够直接到最后看总结)
我这篇文章并非简单的描述一些面试中的题,或者总结一些技术知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让你们更加全面的去看待工做、跳槽和生活(从个人角度,固然确定有不合理的地方,你们借鉴就好)前端
在字节跳动的两年时间中见证了抖音从百万日活到2.5亿、团队从10人到100多人的过程,技术上不一样时期的选型以及迭代、沉淀和更替。项目上经历了一个工程到模块化再到组件化最后插件化,深入理解项目不一样阶段和不一样体量的时候技术框架的选型。流程上不一样阶段不一样的方案,一直在探索最大的效率的协同开发。产品上从不断试错到稳步发展的过程,也就是数据驱动业务的过程。java
字节跳动是一个伟大的公司,优秀的同事真是数不胜数,我在其中只是一个菜鸟,仰望各类大佬,无论是从技术方面仍是作人作事的方面都学到了不少、成长了不少。在抖音的两年十分感谢个人同事、领导对个人帮助和提携,尤为是亨惠、火火老师、马老师、夏老师、将军、若雷、乐华、龙博等等一群大牛,还有漂亮的pm小姐姐佳鑫,和帅气的设计师冬冬,只能说我是何其的幸运,可以和一群优秀的同事一块儿共事、见证一款伟大app的崛起。android
此次面试了如下几个公司(不是面试顺序):Airbnb、快陪练、探探、猿辅导、趣头条、脉脉、动动、瓜子二手车、伴鱼、最右、BIGO、音娱、快手、小红书、美菜网、微软、亚马逊、Ihandy、饿了么、爱奇艺、右划。c++
其中面试没经过的是:脉脉(一面挂),其余的公司都到了hr面谈薪资,美菜网、音娱、动动、猿题库等公司hr开诚布公的跟我说给不了我要的价钱,虽然技术面评价不错,我也明白,因为拿到一些offer后,我对不太想去的公司会要的比较高,我本身都以为确定不会给。微软和亚马逊有另外的状况,由于当时已经基本肯定拿到Airbnb的offer加上眼睛由于上火长了针眼,特别疼,就直接拒绝了。可能有同窗发现了,为何此次我没有去BAT去试试(百度、阿里、腾讯),百度的确没有投递,阿里和腾讯不是我不想去,实在是太慢了(多是我没有走内推,而是在boss投递的缘由),基本上是投递后一个月后才告诉我简历经过去面试。git
为何要跳槽,这个问题必定要思考清楚,由于跳槽的成本实际上是挺大的,在一家公司积累的不只仅是人脉还有对当前行业以及业务的熟悉度,新进入一家公司,一切须要从头再来,须要快速的证实本身,尤为是技术人员,还有就是对新环境和代码的熟悉,这些都是成本,因此在跳槽前,必定要想好,为何要跳槽。其实马爸爸有一句经典的话“要么钱没给到位,要么心委屈了”,说的很形象,我这里再细说一下:程序员
那么跳槽的核心就是利益最大化,固然这里说的利益,不只仅是薪资福利,还有本身的职业规划。github
做为技术人员,我大概总结了下面三个方向,其实哪一个方向都是大有可为,关键仍是要看本身。web
做为一个再也不年轻的程序员来讲,已经不能忽略薪资和福利,再也不像刚毕业的同窗,只要能成长、只要平台好,薪资什么的不重要。其实每一个阶段都有本身的侧重点,我大概对薪资、平台、成长排了个序(本身的观点)面试
上面是本身不成熟的见解,从自身的一些经验出发的,仅供参考。算法
这是最辛苦的阶段,你不只要把平常的工做作好,还要开始着手准备刷题、基础知识准备以及高阶知识的准备,除此以外我还对英语进行了一些准备,因为无论是想去外企、出国以及看英文的文档,英语都是必不可少的,英语在咱们的平常生活中也愈来愈重要,咱们要,整个阶段大概持续了4个多月。其实每一次跳槽,都是对这几年工做的一个梳理和总结,虽然你们都明白“面试造火箭、进去拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一辈子产力,只要有优秀的人才,那么造出的火箭才可能“一飞冲天”。对于我的而言,若是公司里同事优秀的人,那么你确定也不会差,咱们确定更但愿和优秀的人一块儿共事。
个人方式仍是以前的老套路LeetCode+《剑指offer》,虽然老,可是效果很是不错。这个过程不只是个脑力活仍是体力活,因为不能再公司刷题,我通常的选择方式是在晚上回到家后,因为公司常常加班,我一般到家是10:00-11:00期间,先锻炼半个小时(一会再聊这个事情),而后刷题半个小时到一个小时。固然也能够在上下班的路上抽时间看看题。
LeetCode,刷了300+的题,这里的刷并非指仅仅只刷一遍,我来回刷了四遍,手写了一遍(写了200多道),保证我看到题目或者相似的题目,我能第一时间想出最优的解题思路。《剑指offer》,这本书真的很棒,总结的很到位,以及每一个阶段的思路写的都很详细,我是百看不厌,大概50+题,多看几遍,这能作到触类旁通。
因为面的Android岗位,须要准备一些Java和Android方面的知识,有不少的文章都会去介绍怎么去复习基础的知识或者进阶知识,或者是阅读一些经典的面试数据,例如任玉刚的《Android开发艺术探索》,都是很是不错的。你们能够根据网上的文章和一些数据梳理一个本身的知识体系,将一个一个知识点造成点再到面,这样能更加深入的理解,并且有本身的侧重点。
简历的重要性就不言而喻了,怎么样写好简历是个技术活,固然若是你有很好的背景(学校或者公司),那么无论你怎么写,基本上都不刷掉你,咱们做为通常的人仍是须要下一番功夫的。拿个人简历做为例子,大概有如下几个部分:
其实这个过程对于大部分同窗来讲是不用准备的,因为我此次想去外企试试,并且,英语在咱们的平常生活中也愈来愈重要,不管是看英文文档、电影、外出旅游,都成为了必不可少的一种技能,因此我在2018年中旬就开始准备学习英语了,我学习英语的方式有下面三种
“身体是革命的本钱”,这句话我本人十分承认,就算你技术世界第一,若是身体很差,那么也是空谈,我一直坚持着健身,基本上天天早上半个小时和晚上回到家半个小时,跟着Keep来作运动。
天天早上半个小时和晚上回到家半个小时,跟着Keep来作运动。周六日,若是没事,游泳2个小时,将近4千米。前一段时间体检,个人尿酸太高,这是是因为肉类、豆制品以及海鲜吃的过多(字节跳动的伙食真是太好了,天天各类肉类,每次都忍不住要多夹一些),并且不运动,我这个就纳闷了,我天天都在坚持运动呀,医生告诉我,我作的是无氧运动,会产生肌酸,和尿酸还会产生竞争关系,因为都是经过肾来分解,中间也有大概半年中止了游泳,因此我就克制吃肉了,并且又恢复了游泳,过了1个月检查,就减下来了。
你们必定要挤出时间来锻炼,身体好才能工做有精神,并且身体是本身,必定要珍惜。
因为时间的缘由,有一些面试题记录的不是很是的详细,可是大体是这些,可能会漏掉一些题。这篇总结与2017年面试总结同样,我并不会给出答案,一个是由于,面试太多,细节实在记不住,并且有些题也有可能记错,有时候一天最多面试了4家,从早上10点到晚上9点一直在面试,我连续面试一周后,直接上火了,眼睛长了个针眼,肿的老大了。二是由于,我这篇文章主要目的并非带你复习Android的相应知识点,并且每一个人都有本身的侧重点。
“求其上者得其中,求其中者得其下”,按照这个原则此次面试我就大胆的面试架构师或者可以带人的职位,因此不少问题都是架构的考虑和知识的广度以及本身的思考,这些回答很大程度上是开放题,相信你们都有本身的想法和看法,我就不班门弄斧了,真的是由于抖音发展的太快,见识了太多的问题和优秀解决方案,因此只要本身用点心,能够学的地方仍是不少的。
仍是先填我的信息表格,其实我不太喜欢这种方式,一上来就是我的的详细信息,你又没有给我发offer,我也没决定要来,并且还没技术面。不过既然来了就要尊重公司的办事方式,我只简单写了一下我以为能够告诉公司的我的信息。而后作了一份笔试题,一道算法和一些网络方面的知识,不难。快陪练总体的环境并非很好,环境很嘈杂,并且我是在门口面试的,很乱。
一面
二面
三面
设计一个上传日志的大小,涉及到,性能、文件大小、怎样压缩、时机、TopK问题等
聊了聊在字节跳动作的事情
总结
是一家创业公司,给的薪资仍是挺不错的,可是因为是996,没有加班工资,多出来的钱可能就是加班工资吧,后面听hr说公司正在打算取消996
是经过脉脉上网红马映怡推荐的,马映怡以前在字节跳动,今年4月份到了探探,在脉脉找到了我,正好我有出去看看的意向,就约了时间去面试,探探的办公环境仍是比较好的。
一面
二面
三面
cto面试
四面
此次主要是聊一下我将要作的工做,以及让其余面试官再次了解一下我,由于评级比较高,因此须要谨慎点。
总结
总体来讲探探发展仍是不错,尤为近两年要上市(和陌陌签了对赌协议),环境也不错,管三餐,加班不严重,双休,工资也给力,可是也是因为近两年要上市,因此要作的东西仍是比较多和急,须要你有必定的能力。很尴尬的是在给我offer的第二周,探探就被Android市场下架了。
我是在boss投递的猿题库的Android开发岗位,结果hr小姐姐把我当成了server开发,先进来一位server的童鞋,让我写了一到算法题(二叉树的镜像),而后看看个人简历问我,是否是面试android的,我说是,她尴尬的说我是server面试官,而后赶忙与hr沟通,调整成为Android。猿题库面试应该是有硬性的时间指标,应该是每一轮面试都要差很少1个小时,而且会出1~2道算法题。
一面
二面
三面
总结
效率并非很高,并且并不主动,多是跟我要的薪水过高有关系,后面经过询问才知道,技术面试是经过了,可能字节跳动原本薪水就很高,我再跳过来,猿辅导考虑到个人工做年限和年龄,会倒挂一大批人,因此只能平薪过来,并且这样知道我确定不会来,就没主动跟我说。
整个面试环节整体来讲还能够,可是就是效率不高,也多是我运气很差,我是4:10到猿题库的,而后在前台等了20所分钟,hr才来,说了刚才在电话会议耽误了,这个理解,而后等待面试又等了10多分钟,来了server的面试童鞋,写了道算法题,从新调整到Android面试,又等了15分钟,真正Android面试开始在5:10左右,面试完成后基本到了8:30了。对本身的表现基本满意,就是很久不手写代码,有点生疏,写的比较慢,大多数问题和答案都获得了面试的承认,对一些知识点没有复习到,其实我是这样认为的,并非全部的问题或者知识都须要知道,你只须要有1~2个方面了解的很透彻,获得面试官的承认就行。
一面
二面
总结
趣头条北京位于海淀,位置不靠近地铁,须要步行一段时间,总体的环境也通常,不过效率挺高的,在面试完的次日就给我发offer了,面试流程也相对较少。对趣头条的营收模式看的不是很清楚,相似发钱看新闻,可是如今头条也再作这个,趣头条可以搞得过头条是个问题,若是没有增加点,那后期的转型是什么?
ps:从我拿到offer到如今已经一个多月了,股价从10美金跌倒了5美金,也就是说,我若是来趣头条,个人期权已经退水了一半,瑟瑟发抖,看来期权什么的仍是很虚呀。
瓜子二手车真的是太远了,从海淀到工做地方将近花费了2个小时,并且还不在地铁附近,还须要坐公交。
一面
二面
三面(总监)
四面(VP?)
总结
瓜子二手车是众多二手车中作的还算比较好的公司,如今像优信、人人二手车好像都不是很好了,就是太远了,公司附近也没有地铁站,就算是公交站还须要走2千米,可是面试官感受仍是比较有水平的,后期的hr跟我谈也是诚意满满,整个团队在我来看,仍是一个想作事情的态度。整体来讲hr仍是很是真诚的,想去的朋友能够考虑考虑。
笔试
一面
二面(伴鱼的架构师)
三面
感受伴鱼的面试目的是问倒你,不少次讨论问题,我说你有什么见解或者正确答案的时候,面试官就让我回去本身上网搜一下,或者给出的方案,经不起个人推敲,我问上两三个问题,面试官反而有点语塞,感受很奇怪。
笔试题
一面
二面
总结
整体来讲面试流程中规中矩,可是面试官的问题并非很全面,更加关心的是本身的关心的领域,对于我提出的问题(大前端和flutter),看法也仅仅是须要对新技术保持必定的敏感度,从公司产品来看,尤为是4月份出过一些事故,dau跌的很是厉害,好像只有100w+的日活,办公环境也通常,后面hr让我去跟cto再谈一轮,由于考虑到各个方面的因素,就直接拒绝了。
BIGO是YY旗下的一个公司,目前刚刚收购了一个海外的直播产品,并且未来会把业务放到北京,仍是想作一些事情,员工福利也是不错的。因为如今主要的人员仍是在广东,前两面都是电话面试
一面
二面
三面
总结
BIGO一二面仍是偏基础的知识,并无很深或者很偏的问题,三面面试官是以前腾讯的大佬,面试更多的我作过的项目讨论和架构的问题,以及其余方面的一些问题,总体感受仍是比较好的,hr小姐姐是广东人,说话的声音很好听,也很真诚。
主要作的日本的直播产品,好像是A轮,公司并不大,创始人好像也是头条出来的,各类福利制度和头条进本相似。
一面
二面
总结
是A轮创业公司,面试技术是经过了,最终卡在薪资,可能我要的过高,公司可能以为依照我如今背景,性价比不高,就没谈下去,后面跟其余公司聊的时候,又了解了一些这个公司的状况,拿完年终奖后,不少人开始跳槽了。
一面
二面
三面(业务线负责人)
四面(Android负责人)
五面(相似VP级别)
总结
小红书的装修真是豪,办公环境特别棒,可是面试流程有点多,足足面了5轮,不过整体来讲技术仍是很不错的,不管是广度仍是深度,是一个值得加入的公司。
一面
二面
三面
四面(交叉面)
总结
整体来讲面试体验仍是不错的,三面面试官对于职业发展和新技术的看法都是很是深入,也给与了我不少建议。
一面
二面
总结
美菜网真的是好乱呀,面试人感受有几十个,如今美菜网扩张这么厉害吗?我面试的时候我旁边的哥们也在面试,真的是很嘈杂,不过面试官的基础还不错,看过一些源码,可是并无问到什么特别好的点,对整个新技术的看法和对个人建议(通常会问面试官一些对于新技术例如flutter见解,和对个人一些建议)感受不是很深。跟hr谈完后就离开了。
一面
二面
总结
此次面试的是爱奇艺TV端奇异果,并非爱奇艺移动端app,由于我仍是想作app,二面以后,我就跟面试官说了个人想法,就不必聊下去了,就直接走了。
一面
二面
二面面试官是facebook回来的,面试风格的确和以前的面试官讨论不同
三面
总结
整体来讲面试官的技术仍是很厉害的,二面面试官的背景很好,思路也独特,有点外企风格。三面面试官比较注重算法,和解决问题的思路。整个面试流程真的是不太友好,三次面试去了三次,并且前两次都是在茶水间,一直说会议室订不到,环境特别嘈杂,并且前两次都是临近饭点,茶水间送饭更是杂乱,感受快手效率和环境有一些混乱(我的面试感受),可是不可否认快手在2018年的成绩仍是很好的,尤为是直播的营收甩抖音直播几条街。
在大多数互联网公司内(除了外企),到了HR面,基本上已经定下来,正常的聊聊就能发offer了,只要别太“个性”,或者三观异于常人就能收到offer,大致就是一个积极乐观的态度。有几点须要注意下:
讨论
我会讨论几个话题,固然都是从我认知出发,并不必定对,欢迎你们一块儿探讨。
面试过程其实大部分时候是,面试官或者公司是主导方,大部分的节奏是跟着面试官走,可是我以为面试其实就是一个相互探讨的过程,不只是公司在选择你,你也在选择公司、之后工做的同事和leader。因此我此次面试中,更多的是和面试官探讨,也会反问面试官一些问题,不只仅是最后面试官说能够问他几个问题,在面试过程当中就会询问一些,优秀的面试官会跟你探讨,而且讨论出一个合理的方案或者正确的答案,整个过程很是愉悦,相互都学习到了,可是有一些面试,则不太友好,问道的问题老是说本身回去百度一下,这个很让我无语。
此次最大的收获就是跟60多位面试官的交流,更加让我认清我本身,认清本身的长处、短板和之后的规划,和对作人作事的见解,在这里真诚的感谢60多位面试官。
对于这个话题,从我自身的角度而言有一些感触,从2018年开始互联网就一直有寒冬的说法,各大互联网开始裁人、缩减HC甚至对码农的年终奖下手(辛辛苦苦一年,就期望年终奖~),固然最近确实环境有一些波动,可是远没有网上传的寒冬已至那么严重。
从个人面试结果来看就知道,互联网并非寒冬,只不过是更加理智,对全部的面试者来讲要求的更高,因此咱们更加要注重自身能力的培养,这并非说咱们要全身心的投入到刷算法,背理论知识等,咱们更加注重本身的理论知识怎样可以为公司、产品带来更大的价值,从软实力方面来讲,不只要把事情作好,更要作好向上管理和向下管理。
我的建议:想好为何要跳槽,无脑跳是最很差的状况,若是必定要跳槽,最好的状况是骑驴找马,不要裸辞,跳槽需谨慎!!跳槽需谨慎!!跳槽需谨慎!!
个人答案是重要,我就是学历的受益者,只要投递出的简历都会邀请面试(除了一些对工做年限限制很是严格的企业,hulu)。固然,在互联网的圈子中,核心是你自己的技术,可是有多少人的技术能达到逆天或者很是牛逼的地步,若是你是这样的人,啥都不用说了,可是我以为绝大部分的程序员都是普通人、日常人,不要说什么3年之后公司就不看学历了,学历是一生的事情,那些高考可以碾压你的人,出了社会只要他们愿意,照样能碾压你,你努力,你拼命,别人也不会睡大觉等你,因此,能提高本身的学历,仍是要尽可能提高的。
“大公司拧螺丝、小公司独当一面,进步更快”,我不太认同这句话,固然具体状况具体分析,每一个人的状况不一样,可是我仍是以为你们能去大公司仍是尽可能去大公司,缘由我总结了如下几点:
镀金,这一点我相信大部分同窗都是赞同的,我就不赘言了。知识的深度和积累,在大公司你能学到的东西更深和更加系统,并且能够有时间本身去思考和学习,尤为对于工做时间不长的同窗。和优秀的人一块儿工做,大公司碰到优秀同事的几率更大,像我这样的普通人其实都是在模仿和学习,正是因为身边有了优秀太多的人,才会有危机感,才有机会跟着他们去学习,学习他们怎样学习、怎样思考问题甚至怎样为人处世。在华为中有到鑫和李桥,在抖音中,有夏老师、江老师还有乐华大佬等等,太多人,我从他们身上学到太多的东西,有一些能让我受益终身。
选择一样是很是重要的,选择的首要前提是你要有不少机会,否则你都没机会怎么选择,在不少机会摆在你面的时候,必定要认真思考,不要冲动,想好本身须要的,多听别人的意见,最后本身决定。咱们不能保证每一次选择都是正确的,可是能保证咱们是不后悔的,遇事要冷静,多思考。
这里说的选择不只仅是选择去哪一个公司,从事什么方向,还有与什么样的同事工做,选择什么样的leader,甚至是生活中的事情,网上说一我的要有一些成就,须要具有下面几点,我以为很是的对:
其实这个话题对我来讲有一些困惑,“工做是为了更好的生活”,这句话是很是正确的,可是做为一个没有背景、父母帮你付不起首付的普通人来讲哪里来的享受生活,惟有不断努力、不断的进步才有更好的物质回报,北京是全中国的人才汇集地,在工做的三年中,我不敢有一丝的懈怠,由于身边比我条件好,能力比我强,年龄比我小的人太多了,不论在哪里资源的分配都是二八原则。有不少身边人说我是苦行僧,不懂得享受生活,太无趣,的确我不否定,可是我知道惟有这样,我才能为个人父母、爱人以及之后的孩子撑起一片天,反过来说,这些又是个人动力。感慨有点多了,这个话题全看本身,我满意目前的一个状态。我的拙见,你们看看就行。
感谢你们能耐着性子,看完我啰哩啰嗦的面经,以上仅是我的的观点。感受两年稍纵即逝,在这两年中成长了不少,感谢全部帮助过个人人。
在这里我也分享一份本身收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助你们学习提高进阶,也节省你们在网上搜索资料的时间来学习,也能够分享给身边好友一块儿学习
若是你有须要的话,能够点赞+转发,关注我,而后加入Android开发交流群(820198451)免费领取