美文网首页面试资源积累面试篇Android开发经验谈
如果我告诉你,只需要每天这样做就能进美团,你信嘛!(开发10年程

如果我告诉你,只需要每天这样做就能进美团,你信嘛!(开发10年程

作者: 程序员面试秘籍 | 来源:发表于2021-05-28 15:22 被阅读0次

一、前言

本人面试已经很久之前了,分享一下我做美团面试官的经历吧。
美团上海面试,2-1及以下美团是不社招的,校招和2-2~2-3社招一般是三面,格外优秀3-1及以上会加签面试。初面技术基础,二面业务感知和技术项目,技术设计等。三面 HR面。

初面一定要准备相对较多的基础知识,简历上的东西一定是熟悉的,自己的知识也不能落伍。会有一些简单的算法题。二面主要是项目设计,项目设计的背景,目标,执行中的问题,最后的结果都要非常清楚。三面 HR 面试还是比较大陆货,主要打探职级,绩效评价一个人的工作努力程度,岗位适配程度等。

二、面试题我们一般这样问

接下来我就详细说一下,面试官面试时最喜欢问的一些问题,分为Android知识点,数据结构与算法,java基础,项目相关。以及面试时大家需要注意的一些东西!

Android知识点

Android知识点,这块自然不用多说,肯定是面试的重灾区。去大公司面试都都喜欢问你源码、内部实现,这样的问题。所以,handler,asynctask这样常用的API内部原理必须会,面试官还经常问你看过哪些开源框架的源码,所以你得熟悉几个开源框架的内部实现,比如volley、retrofit、OkHttp、butterknife、glide。Android还是要做多项目积累经验。

学习方向给你们看一下精简版本了,需要完整版的可以找我分享 。由于简书限制网盘链接,需要相关学习笔记的可以复制我的GitHub地址,

下载获取你需要的学习笔记:复制下面GitHub链接即可
https://github.com/274942954/ByteDance-Android-Architect-learning-note/tree/master

或者复制打开链接,群文件夹自己下载:https://jq.qq.com/?_wv=1027&k=Nf77fQ97

我免费分享给你,全套系列学习进阶视频+笔记+思维脑图

数据结构与算法

数据结构与算法这部分是我的弱项,多扯两句,这部分是去大公司面试的必问问题,博主去美团、百度面试都让算法给刷掉了,所以这块很重要,要想进大公司算法是绕不过去的,虽然Android一般用不到太多、太复杂的算法。我在面试题中,关于算法这块我也写了几个,比如排序,二分查找,面试小公司,可能会让你写个什么冒泡排序,快排,二分查找,但是进大公司面试,面试官根本不问这些最普通的面试问题,他们都会自己给你出一个题,让你写出最优算法,平时多看看《剑指offer》、刷LeetCode。

算法也是我的弱项,我就不在这里侃了。数据结构,也是很重要的!常用的数据结构(ArrayList、LinkedList、HashMap)内部实现都得知道,能跟面试官侃侃而谈,还有延伸的一些数据结构你也得有所了解,比如问到HashMap都知道他不是线程安全的,那线程安全的ConcurrentHashMap,你知道内部的机制,他是怎么来保证线程安全的前提下,最大的提高读写效率的呢?还有Android特有的数据结构SparseArray等一些原理。了解数据结构内部实现其实挺好的,对编码有帮助,为了帮助大家减少面试时收集资料的时间,我已经整理好了,需要的小伙伴自取!

<算法刷题LeetCode>

<剑指offer>


关于实战,我想每一个做开发的都有话要说,对于小白而言,缺乏实战经验是通病,那么除了在实际工作过程当中,我们如何去更了解实战方面的内容呢?实际上,我们很有必要去看一些实战相关的电子书。目前,我手头上整理到的电子书还算比较全面,有关知识(HTTP、自定义view、c++、MVP、性能优化、NDK、小程序)有关知识《Android源码设计模式》、《Android开发艺术探索》、《Java并发编程的艺术》、《Android基于Glide的二次封装》、《Android内存优化——常见内存泄露及优化方案》、《Java编程思想 (第4版)》等高级技术都囊括其中。

电子版收录在了我的群文件夹里,

学习方向给你们看一下精简版本了,需要完整版的可以找我分享 。由于简书限制网盘链接,需要相关学习笔记的可以复制我的GitHub地址,

下载获取你需要的学习笔记:复制下面GitHub链接即可
https://github.com/274942954/ByteDance-Android-Architect-learning-note/tree/master

或者复制打开链接,群文件夹自己下载:https://jq.qq.com/?_wv=1027&k=Nf77fQ97

java基础

java基础这部分很重要,这个看你基本功,去大公司面试比较注重基础,所以这部分会问的比较多,jvm问的挺多,线程池这块也是重点,还有,大公司面试还会问你并发这块的知识点,比如锁机制,一些volatile、synchronized关键字用来做什么的,内部实现原理等问题,这本字节跳动内部都在看的《JAVA核心技术》可以帮你解决以上问题,面试前一点要多刷几遍!


项目相关

项目相关的问题,这部分基本都是在二面、三面上吧,这块你就跟面试官聊聊你做的项目,用到了什么技术,怎么来解决问题啥的,这个针对自己项目来说就行,就不多说了。
《Android经典项目案例开发实战宝典》

面试我们一般这样问

(一)Android基础知识点

  • 四大组件是什么

  • 四大组件的生命周期和简单用法

  • Activity之间的通信方式

  • Activity各种情况下的生命周期

  • 横竖屏切换的时候,Activity 各种情况下的生命周期

  • Activity与Fragment之间生命周期比较

  • Activity上有Dialog的时候按Home键时的生命周期

  • 两个Activity 之间跳转时必然会执行的是哪几个方法?

  • 前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。

  • Activity的四种启动模式对比

  • Activity状态保存于恢复

  • fragment各种情况下的生命周期

  • Fragment状态保存startActivityForResult是哪个类的方法,在什么情况下使用?

  • 如何实现Fragment的滑动?

  • fragment之间传递数据的方式?

  • Activity 怎么和Service 绑定?

  • 怎么在Activity 中启动自己对应的Service?

  • service和activity怎么进行数据交互?

  • Service的开启方式

  • 请描述一下Service 的生命周期

  • 谈谈你对ContentProvider的理解

  • 说说ContentProvider、ContentResolver、ContentObserver 之间的关系

  • 请描述一下广播BroadcastReceiver的理解

  • 广播的分类

  • 广播使用的方式和场景

  • 在manifest 和代码中如何注册和使用BroadcastReceiver?

  • 本地广播和全局广播有什么差别?

  • BroadcastReceiver,LocalBroadcastReceiver 区别

  • AlertDialog,popupWindow,Activity区别

  • Application 和 Activity 的 Context 对象的区别

  • Android属性动画特性

  • 如何导入外部数据库?

  • LinearLayout、RelativeLayout、FrameLayout的特性及对比,并介绍使用场景。

  • 谈谈对接口与回调的理解

  • 回调的原理

  • 写一个回调demo

  • 介绍下SurfView

  • RecycleView的使用

  • 序列化的作用,以及Android两种序列化的区别

  • 差值器

  • 估值器

  • Android中数据存储方式


    (二)Android源码相关分析
  • Android动画框架实现原理

  • Android各个版本API的区别

  • Requestlayout,onlayout,onDraw,DrawChild区别与联系

  • invalidate和postInvalidate的区别及使用

  • Activity-Window-View三者的差别

  • 谈谈对Volley的理解

  • 如何优化自定义View

  • 低版本SDK如何实现高版本api?

  • 描述一次网络请求的流程

  • HttpUrlConnection 和 okhttp关系

  • Bitmap对象的理解

  • looper架构

  • ActivityThread,AMS,WMS的工作原理

  • 自定义View如何考虑机型适配

  • 自定义View的事件

  • AstncTask+HttpClient 与 AsyncHttpClient有什么区别?

  • LaunchMode应用场景

  • AsyncTask 如何使用?

  • SpareArray原理

  • 请介绍下ContentProvider 是如何实现数据共享的?

  • AndroidService与Activity之间通信的几种方式

  • IntentService原理及作用是什么?

  • 说说Activity、Intent、Service 是什么关系

  • ApplicationContext和ActivityContext的区别

  • SP是进程同步的吗?有什么方法做到同步?

  • 谈谈多线程在Android中的使用

  • 进程和 Application 的生命周期

  • 封装View的时候怎么知道view的大小

  • RecycleView原理

  • AndroidManifest的作用与理解


    (三)常见的一些原理性问题

  • Handler机制和底层实现

  • Handler、Thread和HandlerThread的差别

  • handler发消息给子线程,looper怎么启动?

  • 关于Handler,在任何地方new Handler 都是什么线程下?

  • ThreadLocal原理,实现及如何保证Local属性?

  • 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系

  • 请描述一下View事件传递分发机制

  • Touch事件传递流程

  • 事件分发中的onTouch 和onTouchEvent 有什么区别,又该如何使用?

  • View和ViewGroup分别有哪些事件分发相关的回调方法

  • View刷新机制

  • View绘制流程

  • 自定义控件原理

  • 自定义View如何提供获取View属性的接口?

  • Android代码中实现WAP方式联网

  • AsyncTask机制

  • AsyncTask原理及不足

  • 如何取消AsyncTask?

  • 为什么不能在子线程更新UI?

  • ANR产生的原因是什么?

  • ANR定位和修正

  • oom是什么?

  • 什么情况导致oom?

  • 有什么解决方法可以避免OOM?

  • Oom 是否可以try catch?为什么?

  • 内存泄漏是什么?

  • 什么情况导致内存泄漏?

  • 如何防止线程的内存泄漏?

  • 内存泄露场的解决方法

  • 内存泄漏和内存溢出区别?

  • LruCache默认缓存大小

  • ContentProvider的权限管理(解答:读写分离,权限控制-精确到表级,URL控制)

  • 如何通过广播拦截和abort一条短信?

  • 广播是否可以请求网络?

  • 广播引起anr的时间限制是多少?

  • 计算一个view的嵌套层级

  • Activity栈

  • Android线程有没有上限?

  • 线程池有没有上限?

  • Android为什么引入Parcelable?

  • 有没有尝试简化Parcelable的使用?



    二、Java面试题
    三、高级开发技术面试题
    四、插件化、模块化、组件化、热修复、增量更新、Gradle
    五、架构设计和设计模式
    六、性能优化
    七、Android Framework
    八、Android优秀三方库源码
    九、HR面试

尾声

对于IT这行业,我只能说,别想那么多,饭是一口一口吃的,路是一步一步走出来的,你要不满足现状,而且你的城市也不能给你带来长远的发展,同时也没有好的行业来支撑你的发展或者阶段性的稳定,那么选择这行业也是不错的想法,至少能给你带来相对阶段性的稳定,前提你要学习,不学习啥也不是,不说你对代码很热爱,至少跟我一样不排斥就好。

技术这东西是长期积累下来的,不是一蹴而就的,同时也要保持学习的热情,不说每天像打鸡血似的,那有些吹牛逼了,至少出现新技术了,你要去看,去研究研究,能运用,能慢慢实践就够了,别被年龄所限制,也别被什么30-35岁转行或者裁员这那的,那不是眼前的事情,到了就再说,老话说,车到山前必有路


学习方向给你们看一下精简版本了,需要完整版的可以找我分享 。由于简书限制网盘链接,需要相关学习笔记的可以复制我的GitHub地址,

下载获取你需要的学习笔记:复制下面GitHub链接即可
https://github.com/274942954/ByteDance-Android-Architect-learning-note/tree/master

或者复制打开链接,群文件夹自己下载:https://jq.qq.com/?_wv=1027&k=Nf77fQ97

相关文章

  • 如果我告诉你,只需要每天这样做就能进美团,你信嘛!(开发10年程

    一、前言 本人面试已经很久之前了,分享一下我做美团面试官的经历吧。美团上海面试,2-1及以下美团是不社招的,校招和...

  • 美团外卖,不怕晒黑?

    你看她皮肤亮白细腻,知道为什么吗? 那么,我告诉你,因为他用美团外卖,皮肤可以不被晒黑,你信吗? 你说,我信啊,中...

  • 烤红薯

    这就是我做的烤紫薯。 这没有什么悬念,很平常嘛,但是你如果知道我怎么做的吗? 我不告诉你!

  • 微商公社|微商:你的孩子安全吗?

    导读:如果告诉你,儿童被性侵这样的事件,每天都在发生!你会信吗? 01.> > > 关于儿童性侵案< < < ​ ...

  • 高级测试必修之路

    你觉得做测试很简单?如果你这样认为,那你就错了?做测试一点儿都不简单。如果你只想做一个功能测试,那你只需要会写测试...

  • 兰博基尼,来到我身边!

    如果有人告诉你,她一夜暴富,你信吗?还是不信? 答案就是,反正我不信。我觉得你多半也不会信。 如果你持有这样的看法...

  • 难论

    你觉得它很难,你也是这样告诉自己的,所以结果不好,你就对自己说,看吧,我就说很难嘛。 但事实是,它...

  • 打车争夺战,美团的心思,滴滴的进击

    2017年12月,《财经》杂志的美女主笔宋玮在专访程维时曾问到:“你知道美团做打车的时候惊讶吗?”程维回答:“中国...

  • 人只有信耶稣才能得救,真的是神太霸道了吗?

    “你们的上帝太霸道了,只有信耶稣才能进天堂,不信耶稣就要下地狱!这是什么道理嘛!” 不知道你是否有听过这样的论调,...

  • 注意你的注意力

    除了睡觉,每天你的注意力在哪? 微信,微博,淘宝,头条,美团,视频,游戏,美剧.....还是,书籍,健身,美食,旅...

网友评论

    本文标题:如果我告诉你,只需要每天这样做就能进美团,你信嘛!(开发10年程

    本文链接:https://www.haomeiwen.com/subject/wayssltx.html