2020届Android实习面经

已经实习快一个月了,突然看见电脑里之前写的实习面经(虽然这些都凉了),就拿来分享一下。
当时刚保完研呆在学校太无聊了,花了一周看了遍剑指offer,就去各种面试了,各种知识点都是面试完了才去了解到,期间也多亏牛油们的分享的面经。

小米安全中心 2019-10-23

一面 30分钟

介绍自己的两个项目

平常使用git吗

Android的四大组件

为什么service看不见界面

广播创建的方法

解释一下c++中的面向对象

c++中的构造、析构函数的作用、析构函数为什么是虚函数?

常见数据结构有哪些

如何删除链表节点

删除倒数k个元素

平时用linux吗,有哪些常见命令

最后让我问问题,我问了一下部门情况,面试官说了一下安全中心,包括很多底层的工作,说进来可以学习很多底层知识。还说我基础很好,进来应该是他来带我,当时开心的不行以为稳了,面试还这么简单。

第二天问他情况说希望找一个可以转正的来分担他工作。傻了。凉🌊

西瓜视频 2019-10-26

一面 60分钟

很惨烈,笔试题是卖股票。

微派 2019-10-26

笔试

三次握手四次挥手

c编译过程

c++指针引用

二叉树深度

操作系统页

毒药和老鼠

划线分割面

五个单调递增数组找重复的数

自己看的书

还有一题忘了

最后笔试通过,面试不想去了

小米社区 2019-10-26

一面 35分钟

自我介绍

介绍自己项目里的难点

四大组件项目里怎么用的、生命周期

四种启动方式

fragment生命周期、作用

intent的作用

自定义view,里面的方法

线程、线程池

进程和线程

抽象类和接口

泛型

很长的字符串里有字母和数字,怎么快速去除数字:stringbuilter,正则,这两个哪个快

聊一下实习情况

最后告诉我通过了,等二面

二面 90分钟

是个女面试官,这90分钟把我问傻了,把网络、Java、Android详详细细的问了个遍,最后简单问了下数据结构。当时的确网络和Android复习的不是很到位,很多没答上来,简单的题也有错误,下来题目很记不清了🤢;最后问她结果,她说优点是算法基础不错,有点前端经验,但是Android基础不行,让我回去再看看书。

最难受的一次面试。

腾讯CDG 2019-11-01

一面 30分钟

Android内存泄露

Android自定义view

百度移动生态质量部 2019-11-06

一面 20分钟

投的是测试开发,问了能不能来北京和接不接受测试岗,面试官的通话质量巨差,很多听不清。

平时使不使用adb,知道哪些命令,pm知道吗

一开始听成app,后来有说成 project manager,尴尬🤢

Android中多进程的使用方法,Android进程的通信方式,Linux中进程的通信方式,binder机制是用管道实现的吗?

知道自动化测试、智能调度...吗?

小米健康 2019-11-09

一面 20mins

问我什么时候可以面试,我说现在可以吗?他笑了😵然后让我自我介绍,又问了我在校的成绩,说是保外校肯定很厉害,晕了🙃。

介绍一下线程池的几个参数。

知道哪些Java中的容器,HashMap和HashTable的区别,是否线程安全。

知道哪些排序算法,冒泡和归并的时间复杂度。

Activity的启动周期,Activity之间切换和按home键时的生命周期变化。

介绍一下自己的项目。

最后让我问问题,我问了他是不是不是做Android,他说他是Java算法的,还说我比他大学的时候里好多了🙃然后就通过了。

二面 60mins

面试官很友善,先介绍了他自己的部分和负责的产品,然后让我自我介绍。

平时怎么学习Android的?

我说是看书和Google的官方文档,他就问我有没有关注最新版本Android的新特性。

抽象类和接口的区别,说自己的理解。

数组和链表的区别。

了解什么设计模式,手写一个自己常用的单例模式。

HashMap、HashTable和ConCurrentHashMap的区别。

HashMap的原理,ConCurrentHashMap中的锁是怎样的。

ArrayList 与 LinkedList 区别,是否线程安全。

int 和 Integer 用==来比较的不同情况。。

sychronized 的使用方法,修饰代码块时多个进程执行的情况(这个问题好像是这样,当时没有听懂他的意思)。

Android不同启动模式并举例使用场景。

Android中如何使用多线程,怎么关闭线程。

如何完成线程A完成后同时线程B开始,线程B完成之后线程C开始。

如何完成线程A和线程B都完成后,再通知线程C开始。

假如需要关闭Activity,保证下载线程继续执行。

Service的开启方式,两种开启方法的区别。

如果Service使用startService()启动,如何再进行Activity和Service之间的通讯。

说一下IntentService的原理。

广播的两种类型,为什么本地广播只能在本进程中接收到。

自定义view的绘制过程,每个过程的具体作用。

自定义view中onMeasure()和onLayout()在viewgroup和子view的调用顺序。

先开始不知道,面试官提示我onMeasure()的调用顺序并引导出onLayout()

自定义view中onMeasure中的MeasureSpec有哪些。

知道动态权限吗?

问我平常使用模式开发,为什么。

MVC模式,简单

介绍自己的插座和体感游戏两个项目。

算法:判断链表中是否有环。

最后问了一下我有没有其他offer,大概就知道这面通过了。

三面45mins

询问个人情况和实习时间。

分别解释Java 面向对象的三个特性——封装、继承、多态

重写和重载的区别

访问控制符的种类和异同

final的使用方法及不同修饰情况下的区别

static的使用方法

finally的使用方法,try里return了finaly的代码块还会不会继续执行

死锁的产生条件和解决方法

线程池的原理和种类

多线程中sleep()和wait()的区别

介绍自己的插座和体感游戏两个项目

算法:输入一个十进制数a和2~32的整数n,将a转化为n进制数,以字符串输出。

最开始忘了使用ASCII码来转换字符,提醒后修改了一下。

最后都没让我问问题就说面试结束了,然后下线了。当天晚上在微信上问结果,说是会把面试记录给老大看,1~2周内可能联系终面😨凉凉。

滴滴

一面50mins

Java面向对象的特点,着重讲多态,以及重载和重写

Java注解

Java反射

Activity生命周期,弹出Dialog会不会有变化

启动方式,singleTask 可以在在多个栈中吗,singleInstance 的使用场景

Service生命周期

Broatcast的种类

算法:旋转数组的查找

二面 40mins

Fragment使用场景,Fragment和Activity之间的数据传输

handle原理,handle可以在子线程创建吗

可以在子线程直接new一个Handler,不过需要在子线程里先调用Looper.prepare(),new一个Handler后,还需要调用Looper.loop()方法。

Android生命周期,pause()stop()的区别

Android网络:http,socket

handleThread

threadLocal 原理

hashMap 原理,确定对象的索引位置

一般Object哈希值怎么确定

内存回收机制、GC的四种算法、四种引用、GC Roots包含哪些对象

虚拟机栈中局部变量表中引用的对象、本地方法栈中 JNI 中引用的对象、方法区中类静态属性引用的对象、方法区中的常量引用的对象

json、xml传递信息

git stash、stash pop、pull、rebase

地平线

一面 40mins

介绍自己的项目

Android网络操作,HTTP,Socket自己封装

新建线程的方法,自己实际中怎么用

handle用法

线程池

自定义View

Android数据持久化

Android中的JNI

人工智能的了解

git

自己解决Bug的感受

#小米##面经##实习##安卓工程师#
全部评论
😐剑指offer一周时间
1 回复 分享
发布于 2020-01-04 09:32
推荐看看《Android开发艺术探索》,很多原理都讲的非常好,面试必备书
点赞 回复 分享
发布于 2020-01-04 00:38
LZ项目是怎么找的
点赞 回复 分享
发布于 2020-02-05 19:24
是在哪里实习呀
点赞 回复 分享
发布于 2020-02-09 13:44
怎么这么多小米😂
点赞 回复 分享
发布于 2020-02-09 14:03

相关推荐

1 36 评论
分享
牛客网
牛客企业服务