android面试准备
在android开发人员面试准备系列的上一篇文章中,我们讨论了如何在您首选的公司进行面试 。 它涵盖了如何构建简历,突出显示您的项目和申请流程。
在这篇文章中,我们将看看下一步,即准备面试。 我们将看看一些android开发人员面试问题 ,这些问题非常常见,最有可能被问到。
Android开发人员面试有两个方面:
- 领域知识:本部分旨在测试您对Android开发的知识。 根据您的资历,这包括一些标准的android开发面试问题和一些情境问题。
- 数据结构和算法:本部分测试您在DSA中的基本知识。 这部分的难度级别完全取决于面试官/公司。 许多公司更加专注于领域知识,并使DSA相当容易。 尽管有些公司可能更关注DSA,而不是域名。
因此,让我们看看如何准备进行一次android开发面试。
您很可能会收到公司人力资源部有关安排面试的电话/电子邮件。 这是您可以把握公司重点所在的时候。
您可以提出诸如“面试的重点是什么?”,“面试将持续多长时间(如果日历邀请中未包含此信息)”,“将重点放在DSA上”之类的问题。 这些问题的答案可以揭示有关公司面试过程的很多信息。
通常,人力资源部会联系访问员以获取这些问题的答案。 如果答案主要集中在DSA上,那么您必须为DSA问题做好充分的准备。 否则,您可以假设它会更轻一些。
接下来最好的事情是转到Glassdoor ,查找以前所有的面试问题。 这些都是由真正的候选人发布的,是了解公司面试过程的最佳场所。
如果您想更进一步,请列出所有常见问题,并为DSA问题或android开发人员面试问题做好充分准备。
您可以做的另一件事是,与曾在该公司工作或现有员工的LinkedIn上的人员建立联系。 与他们讨论面试过程和难度水平,他们一定会为您提供指导。 我从未见过有人拒绝帮助某人进行面试的请求。
面试官可以提出很多问题,但也有一些标准问题。 我已经看到大多数采访都是从这些问题开始的。 而且,如果您能够正确回答这些问题,它会给您留下深刻的第一印象。
在对Android开发的实习和工作进行了多次采访之后,我创建了一个列表,列出了非常频繁出现的15个问题(如果您觉得我应该添加一些问题,请在评论中提及):
- 活动生命周期:如果在活动A的顶部启动了活动B,则将调用什么生命周期方法。
- 片段生命周期:基本片段生命周期,弹出活动时的片段生命周期。
- 视图生命周期:视图的基本生命周期。 onMeasure和onLayout之间的区别。 invalidate()和requestLayout()之间的区别
- 解释不同的活动启动模式。
- RecyclerView和ListView之间的区别以及两者之间的区别如何。
- 解释MVVM体系结构。 比MVP好吗?
- 解释线程,处理程序,循环程序和处理程序线程(为此问题准备示例)。
- 什么是服务? 有哪些不同类型的服务以及它们之间的区别?
- Android中的内存泄漏。 它们如何发生? AsyncTask如何导致内存泄漏及其预防方法。
- APK如何编译? APK编译过程。
- OnStart与OnResume
- onSavedInstanceState的用途是什么,何时调用?
- Kotlin vs Java哪个更好,为什么?
- 有关Singleton模式的问题及其缺点是什么? 如何解决?
- AndroidManifest.xml的用途是什么? 什么是意图过滤器?如何声明它们?
这些是迄今为止我遇到的最常问到的面试问题。 一些公司还喜欢给候选人一个任务,一个小的应用程序。 然后,您必须专注于:
- 代码质量
- 建筑
- 将最佳做法用于变量命名约定等。
您使用的库无关紧要,将根据代码的质量来判断您。 此外,公司不希望您创建最漂亮的UI。 所以不要担心!
如果您很好地准备了上述问题,您将很有可能在面试中表现出色。 当然,这不是一个详尽的清单,我相信没有人可以准备一个详尽的清单,但这是一些标准的android开发人员面试问题,肯定会以一种或另一种形式出现。
当您开始很好地回答问题时,您会注意到难度级别将上升。 即将到来的问题将变得困难。 不要惊慌 这实际上是一个好兆头,表明您已经确定了基本问题,并且已经提高了面试官的头脑!
面试官会尽力让您陷入一个问题,并在找出问题的解决方案时看到您的方法。 主动与人交流并告诉他们您的想法很重要。 提出问题以清除对该问题的任何疑问/未知。
如果您已经精通DSA,则可以轻松破解此部分。 但是,如果您不是只为准备面试而准备,那么在准备本节时就必须精明。
您不能在一夜之间掌握DSA,甚至一周都不可以! 但是通过一些明智的准备,您会比随机浏览GekksForGeeks问题更好地了解这一部分。
首先,您必须准备该公司最常见的DSA问题列表。 您可以按照以下方法准备列表:
- 转到该公司的玻璃门页面。 在面试部分中,根据您的工作角色过滤问题。 在我们的案例中为“ Android开发” /“ Android开发者” /“移动开发”等。如果这些都不可用,则可以过滤SDE 1,2,3等。无论您要申请什么。
- 快速浏览问题,并注意在文本编辑器中最常出现的问题。
- 转到GeeksForGeeks并搜索该公司的面试问题。
- 当您用尽这两个网站时,您可以进行简单的Google搜索,看看是否有可信的东西出现。
有了问题列表后,就可以开始为它们做充分的准备。 您可以自己尝试解决问题,但是由于时间有限,请不要回避查看解决方案。
虽然这可能无法帮助您成为DSA的专家,但本文并非如此。 您将不会在一周的时间内擅长竞争性编码。 这需要大量的工作和时间。
但是,如果您在整个大学/职业生涯中都更加关注Android(例如我),那么这是为面试准备数据结构和算法的最佳方法。
虽然我在大多数采访中都没有看到这一轮,但肯定有人问过。 因此,如果在完成所有android开发人员面试问题和DSA问题后,您仍然还有一些时间,可以看一下系统设计。
系统设计的一些典型问题包括:设计推送通知系统,设计类似聊天应用程序的WhatsApp,设计用于推送通知管理的SDK(android),设计TinyUrl,twitter,uber等…
再一次,只有在为以上两个部分做好准备之后,才应专注于此。 特别是如果您是新手,因为不太可能针对新手进行系统设计。
这是android开发人员面试准备系列的第二篇文章。 我们讨论了如何准备android开发人员面试问题,来源问题以及检查面试重点。
希望这篇文章对您有所帮助,并使您的面试阶段更加轻松。
android面试准备