Android凉了也要看的面试题,2020年5月美团Android面试真题(三面+HR)+解析!

Stella981
• 阅读 512

前言

我隔一段时间都会出去面试一次,面试的目的不是为了找到好的工作,而是知道自己的优缺点是什么?知道市场需要什么样的人?同样,面试你的也是同行,这样也能够碰撞出不同的思想。当然,遇到好的机会那是再好不过了。试想?如果你一直待在一家公司,都不知道外面的情况如何的话,那是很可怕的,至少我这么认为。如果您同意这样的观点,不妨接着往下看,让我们一起研究面试过程中需要具备的知识。下面是我亲生经历的一次面试,这里写出来给大家分享,更多的是总结面试中遇到的问题以及以后学习过程中的方向。只有这样才能和社会接上轨迹。

我面试的是美团,这家公司还算不错的,至少在我印象中还是挺好。技术面试一共是三面+HR。下面做一个总结
Android凉了也要看的面试题,2020年5月美团Android面试真题(三面+HR)+解析!

第一面

一面面试官的思维非常跳跃,经常我说到一半的问题,突然询问其他相关问题,然后回答完再继续之前的说下去,有些许不适应这个节奏。顺序可能不太对。

1.类的加载过程,Person person = new Person();为例进行说明。

2.JVM相关知识,GC机制。

3.类的加载器,双亲机制,Android的类加载器。

4.Android中进程的级别,以及各自的区别。

5.插件化原理。

6.集合框架,list,map,set都有哪些具体的实现类,区别都是什么。

7.concurrentHashmap原理,原子类。

8.volatile原理。

9.Binder机制。

10.View的绘制流程,事件传递机制,Handler异步消息机制。

11.Interger中的128(-128~127),这里考的是常量池的概念,这个没回答上来。

12.线程池的相关知识。

13.Handler机制,HandlerThread实现等等。

14.LRUCache算法是怎样实现的。

就这样第一面基本结束。一共问了14个问题,其中美团的手写算法在业界算是比较出名,很多小伙伴可能卡在手写算法上。然后就是一些Android和Java的细节性东西,这些基础内容只要有1年经验的都基本能说出个一二三。

第二面

**面试官可能没注意我是海外党有时差,凌晨四点来了通电话约时间,还好顺利的约到第二天上午~
二面面试官感觉专业了很多,问问题也比较灵活。有时候会有点像在怼的打断然后追问,但是有答得不好的地方也会很耐心的引导
**

1.写个快速排序

2.生产者消费者伪代码(因为和面试官思路不同加上紧张,代码反反复复改了很久,面试官也一直在写代码引导我)

3.顺带讲了一下wait() await()这一系列方法

4.如何用数组实现队列(直接说抽象的环,但面试官一直在引导细节如何更优化,比如怎么判断队满,决定插入位置怎么省去if…感觉面试官真的很耐心)

5.如何用数组实现栈

6.弱引用,有什么用?有没有用过?

7.如果写一个库中存在的类,包也一样,会怎么样?

8.提到类加载要确保类的唯一性,怎么确保?

9.三次握手,为什么要三次

10.TCP怎么保证可靠

11.如果包乱序到达会发生什么

12.进程和线程的区别

13.追问进程之间为什么会相对比较独立?电脑上看起来运行着很多进程,是怎么隔离的?

14.如果一个进程需要一直读写内存,会影响其他进程吗?(这里我开始结结巴巴瞎说了…面试官安慰了一下)

15.知道几种单例模式的写法?有什么优缺点

16.Hashmap原理

17.扩容具体是怎么做的?原本的元素要怎么放进新数组?

第三面

1. 自我介绍

**2. 项目(项目怼了挺久的,一直深挖。建议大家要非常熟悉简历上的项目,一些细节也要注意到,这个环节差点被怼哭

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
卡尔 卡尔
3年前
JS 手撕-经典面试题
引言首先出这篇文章,一方面是为了记录巩固我所学的知识,明白面试的高频考点。不鼓励大家背题的,初衷是希望总结的一些面试题能帮助你查漏补缺,温故知新。这些题并不是全部,如果你还想看得更多,可以访问,目前已经有552道大厂真题了,涵盖各类前端的真题,欢迎加入我们一起来讨论~函数call语法:fn.call(obj,...args)功
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
浩浩 浩浩
3年前
Android面试回忆录:Serializable 都这么牛逼了,还要Parcelable有何用?
话说最近公司在招聘一批至少5年开发经验的Android开发工程师,我也是忙开了花,激动得不行呀。虽说我面试过的技术开发至少50人以上,但这还是第一次开始面试Android,此时犹如大姑娘上轿,还真是头一回呀!所以非常非常非常用心地准备了良久,然后满怀激动地开始了我的Android面试官角色。无奈,面试后的感觉,均是开发效率听起来很牛
Wesley13 Wesley13
3年前
AI面试刷题版
(1)代码题(leetcode类型),主要考察数据结构和基础算法,以及代码基本功虽然这部分跟机器学习,深度学习关系不大,但也是面试的重中之重。基本每家公司的面试都问了大量的算法题和代码题,即使是商汤、face这样的深度学习公司,考察这部分的时间也占到了我很多轮面试的60%甚至70%以上。我去face面试的时候,面试官是residualnet,s
Wesley13 Wesley13
3年前
2018春,在实习面试过程中遇到的一些问题
在面试一家位于东单的公司的时候,遇到了这样一道关于IP地址的程序题。当时思路卡在了选用一种什么样的容器,既能够存储int型变量,又能够存储“."。今天在做PTA的程序设计题时,醒悟过来,可以使用scanf来处理这个”.”。具体用法是://如何忽略掉时间格式中12:35中的“:”。include<stdio.hi
Stella981 Stella981
3年前
Dubbo 支持哪些序列化协议?
面试题dubbo支持哪些通信协议?支持哪些序列化协议?说一下Hessian的数据结构?PB知道吗?为什么PB的效率是最高的?面试官心理分析上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少要知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。接着
Stella981 Stella981
3年前
Golang之如何(优雅的)比较两个未知结构的json
这是之前遇到的一道面试题,后来也确实在工作中实际遇到了。于是记录一下,如何(优雅的)比较两个未知结构的json。假设,现在有两个简单的json文件。{"id":1,"name":"testjson01","isadmin":true}{"isadmi
Wesley13 Wesley13
3年前
Java开发5年,四面美团(多线程+redis+JVM+数据库),终拿offer!
前言Java开发五年多.投递阿里、腾讯、头条、美团、京东等各互联网公司的高级Java岗位,最终得到了美团的面试机会,并成功拿下美团高级Java岗的offer。美团Java岗四面,前三面都是技术面,第四面是HR面,下面是面试题!!(https://oscimg.oschina.net/oscnet/32c0493300cffbf6eb6f42