去一家倒一家?也不知道这次字节顶不顶的住哦!双非“扫把星”的Android面经分享!

前言

我是双非本科15年毕业的,毕业之后就一直在做Android相关方面的开发工作,到18年经历了两家创业公司,一家工作了不到半年老板就跑路了,一家工作到18年初,因为运营不当倒闭了(一度怀疑自己是不是去哪家公司就得哪家倒闭)。

至今的这家公司虽然撑住了,但是两年才给我涨了500块钱。于是便只身来到深圳寻求发展,因为之前待的小公司不是老板跑路,就是公司倒闭,或者就是老板抠,所以这次就想找个大公司,稳定一点,有完善的晋升机制,再者大公司技术底蕴也比较强,想多学习学习,提升自己。自1月份底,交接完工作裸辞,到3月16号拿到字节offer,历时1个半月,以下是我的个人跳槽心得和面经,分享给大家,希望能给准备跳槽的同学一些帮助。

想先说的

社招与校招不同,没有固定的招聘季。因此如果你对某些类型的岗位感兴趣,最好长期关注对应岗位。就拿我自己来说,虽然说我是从1月份底才裸辞准备面试,但其实我在2020年12以及1月份在职的时候,就一直在关注各大厂的JD,并对自己做技术复盘,查漏补缺,然后破釜沉舟的去裸辞跳槽的。

所以认真阅读岗位JD,对比自己与JD的优势与短板,提前想好面试官问到你的短板时应该如何回答,是一个非常“应急”的小技巧。社招简历中也要尽可能明确的列举出自己的工作或项目经历,以及自己在项目中扮演的角色和做出的贡献。

面试前的准备

在面试开始前,需要做大量的准备工作,而这个过程恰恰是最容易被很多人忽略的。现场面试的话需要提前打印好几份简历带上,认真仔细的阅读招聘简章,了解公司的产品和所在行业,总结好自己对公司的看法和对行业了解,以及一段简短但最能说明自己特点的自我介绍。最重要的是阅读自己的简历,总结自己的优势和不足,简历中可以作为话题展开的切入点需要提前思考好可能的问题和回答。

面试环节

一般大厂的面试环节包括不少于3轮的技术面试,以及HR面试,对于在校生来说应该还会有笔试环节。我这里就主要分享一下技术面试环节的心得技巧。 10多场面试下来,一般第一轮技术面多以基础考察为主,后面的面试依次增加考察的角度和深度(例如技术深度方面、项目管理方面、个人发展方面等)。但每一轮的面试主要都是几个固定的环节:自我介绍、项目经历、提问回答、代码考核,体贴一点的面试官还会在结束前给你提问的机会。

自我介绍

在面试开始时几乎都会让做自我介绍。建议这个过程不要用太长,最好是用几句话能简单说明自己的特点最为重要。其实多数面试官在面试开始前应该已经浏览过你的简历了,之所以还让你做自我介绍的主要目的是让你挑出几个关键词,即我们一会聊什么,这是个引导面试官到你擅长领域的好机会,千万不要浪费。

技术面试的面试官主要是一些比较资深的工程师,而工程师中其实有相当一部分群体是属于性格内敛型的,这就是为什么你需要在简历里列出可能作为话题展开的关键词。所以想告诉大家的是,其实你是可以通过简历内容、预期的问题和准备好的回答来控制整场面试的走向。通过良好的节奏把握,你可以更好的将自己的优势展示给面试官。但这里不要本末倒置,最重要的因素当然还是自己的真才实学。

项目经历

在聊到项目经历时,面试官也可能对你之前的一些领域有不了解的地方,这个时候你能够用清晰的方式将你的内容表达给对方,那么在表达能力方面你一定是加分的。此外,在面试过程中表现出的积极、主动、好学、自省等正面情绪一般都是有利,毕竟大家都喜欢和积极、有正能量的同学一起工作。

在面试过程中如果面试官问到了一些涉及前岗位保密的范围,你是可以直接向面试官说明情况的。假如自己身上存在竞业协议,那么也是需要尽早告知面试官的。

问答环节

问答环节中,面试官会抛出一些准备好的问题,这个过程中是硬实力的考核,以及你的临场应变能力。除了做好自己的知识储备以外,也要思考面试官问你问题的目的是什么,有时可能是考察你的专业技能,有时可能是考察你分析问题的思维方式。另外部分面试官还会有打破砂锅问到底的精神,将某个点挖掘到很细的粒度,这个过程不用紧张,以自己的所学能回答正面回答就是了。

一般即使回答的不全面也没有关系,将你自己知道的部分回答出来就行,面试官有时也会引导你做出回答。 如果话题被引导向了你不熟悉的领域,你可以正面表示这个领域不熟悉,你对哪些哪些领域比较熟悉或有自己看法。虽然这样的转场有些生硬,但也好过你和面试官都陷入尴尬的境地。

代码考核

现场代码考核可能是面试中最担心的环节了,所以在这里我也会多唠叨几句。首先被人盯着写代码就会不自在,另外假如一紧张某些API记不清了又不能现场去查。事实上现场写代码非常困难,正常水平也可能在当时紧张的心态下只能发挥出一小部分。

在这里我要分享一个我的小技巧。 拿到题目不要着急写代码,首先要做的是分析题目,先说思路,先说思路,先说思路。这点真的太重要了,你不张口面试官想引导你都不知道从哪引导。如果思路对了,那恭喜你保底分有了,可能对于许多同学来说实现它只是时间问题了。

假如思路错了,面试官可能会在当时就试图引导你到正确的方向上,横竖不亏。 另外除了口述思路外,如果现场有白板、纸笔,都可以作为你描述思路的方式。有时你通过合理的抽象方式将问题分析出来,并展示出你分析问题提出解决方案的过程,可能带给面试官的好感甚至高于解出这道题。

代码考核一般不会直接丢给你一个特别难的问题,这样的题目往往是有多种解法的。因此不要慌,如果一时紧张想不出最优解(这太正常了),那咱们就先从最简单最笨的办法入手。放心,面试官会一步步引导你优化你的解法的。你如果上来就一声不吭的给出最优解,面试官反而可能怀疑你是不是刷过这道题。

总而言之,在编码过程中保持与面试官的沟通,一边敲代码一边解释自己为什么这么做。遇到记不清的函数或API不要慌,直说这个地方记不清了,面试官可能会提醒你,或者忽略这个地方。毕竟在将来的工作中,没人是在完全隔绝外界的条件下写代码的。

关于刷题

从我的角度来说,我是鼓励同学们刷题的,这也是我在裸辞后1个半月里所做的事情,针对自己的技术“漏洞”去“补习”。我认为刷题是一种快速提高编码能力以及解决问题能力的方式,只要你在刷完题之后能够做到完全理解,那这就是属于你的知识。但临时一两天抱佛脚刷题是不可取的,只是因为短时间的刷题很难深入理解,带来的效果实在有限。还是希望同学们长期保持刷题与不断学习的习惯。

关于面试结果

一般情况下面试官是不会当场给你面试结果的,主要是因为面试官要综合考虑你的表现,或结合前几面的情况考虑。很多面试官都会在面试结束前给你一个提问的机会,这个过程中你可以问团队的业务、涉及的技术等你希望了解的内容。

而这时如果你向面试官提问希望获取来自面试官的评价和建议,那么面试官往往会复盘一下你的表现,对于你的表现出的优势和薄弱点进行评价,通过这个评价你可能能分析出面试的结果。但说到提问,千万不要浪费这样的好机会,提前准备好你的问题,一个好的问题相信可以给面试官留下更深的印象。

每一次面试都是一次提升

通过这次跳槽,其实我觉得面试的过程并不是面试官想要难住你,而是想在非常短的时间内对你有所了解。面试是一个双向了解的过程,让面试官了解你,也让你了解将来面对的工作。在这个过程中,持续的沟通是必要的。而通过不断沟通,不断的发现并弥补自己的短板,就能使你逐渐变得强大。不论面试通过与否,认真复盘自己的每一次面试,总结自己在面试中表现的好或不好的点,每经历一次面试都是对自己的充实。

最后

虽然最后的结果是拿到了字节的offer,但其实这个背后已经经历过了10多次的碰壁。其实到现在我也一直在想,自己是不是只是刚好撞上了字节的“招聘红利”而已。其实写下这篇文章分享,也一直在想对于大家到底有没有借鉴意义?还是就真只是我自己的个人YY。

行吧,该说的都说了,不该说的也说了,如有不足,那就负重前行吧。这篇文章如能让你有所收获,我倍感荣幸;没有收获的朋友,那只能说句抱歉了!最后的最后想把一份大厂面试题集分享给有跳槽想法的同学,内容非常的全面,一共1599页的pdf。

=


预祝大家都能拿到自己心仪的offer,有需要这份面试题资料的同学,点击这里自取便是!

猜你喜欢

转载自blog.csdn.net/Android_567/article/details/115336922