【面小易-面经10】阿里巴巴Android客户端开发实习生面试经验

简介: 又到了“金九银十”的招聘季,各位小伙伴们是不是也在忙着准备面试呢找工作呢?在接下来的一段时间里,面小易会为大家分享各种面试经验哦!请持续关注我。今天要和大家分享的是一位投递阿里巴巴Android开发实习生同学的面试经验,虽然他最终止步于二面,但是他的面试经验还是值得我们学习的,就让我们一起来看看吧。

“我是面小易,机智又聪明。面试不眨眼,Offer不手软。”

我面小易又来啦,今天要和大家一起分享的是一位投递阿里巴巴Android开发实习生同学的面试经验,这位同学的第一次面试就给了阿里巴巴,虽然最终的结果不尽如人意,但是我们要知道“打铁还需自身硬”,这位同学自己也总结了失败的原因,那就是基础不牢固。

以下为正文

一面

今天上午十点过了五六分钟接到了阿里巴巴的一面的面试电话。我简历投的是Android客户端开发实习生(内推),并且在前一天和HR电话约定了十点面试。

一面的时间是五十六分钟多一点。周围的人一面大部分都过了,按照他们的说法,大都是说的一些项目相关的东西。到了我这里,大概十分钟的项目介绍,三个关于Android的(其中两个是用Cocos2dx开发的),一个用Java写的局域网通信的小项目。剩下的时间都是问的基本知识,总结十分,六分是操作系统(尤其是内存、进程相关的),三分数据结构,一分Android的。

首先在操作系统方面,问了内存、进程间通信方式(IPC)、进程和线程的关系和区别。还问了什么是协程,但是这一点我在面试前并不知道。此外,面试官还问了什么是堆,内存泄露是怎么回事(我扯到野指针了),线程切换(我讲的是进程切换)。还问了下程序计数器,引到了逻辑地址(虚地址)和物理地址及其映射关系。然后还问了编译原理,问了编译的过程(预处理、编译、汇编、链接)。

其次在数据结构方面,先问了数组和链表的区别,又问了二叉树的深度优先遍历和广度优先遍历的具体实现以及堆的结构。

再次问了一些网络相关的问题,比如TCP和UDP的区别、用途,两者比较以及实现上的不同,并且对于这块问的比较细。之后就是Andorid内的进程通讯了,我答的是Handler,然后介绍了它的实现原理和相关的一些类。

我最后问面试官的问题是,为了能胜任这个岗位,需要着重加强哪方面的知识?面试官的回答大概是这样:首先肯定是计算机基础了,包括操作系统,数据结构,计算机网络等,然后客户端方面的话,网络编程方面、多线程方面和架构能力。整个过程感觉比较流畅,十分钟后,阿里的招聘网站上面的状态就成了一面通过,二面中。

面小易说:从整体的面试感觉来看,这位同学的一面还是比较流畅的,也能够说明他在这些方面还是做了大量的准备的,但是还是存在一些像协程这样问题的盲区,这是大家在面试之前需要弥补的。此外,一定要听清楚面试官问的问题是什么再回答,问线程切换就不要回答进程切换了。

二面

但是接下来二面就直接跪了。当天晚上七点多给我打的电话,整个过程半个小时,一点准备都没有,感觉语速有点快,上气不接下气的感觉,还是紧张。

开始是个人介绍,这块之前没怎么太准备,手忙脚乱的打开网站上的个人信息就开始说,连个人简历都没打开,云里雾里的就扯完了。面试官一开始是问我Android是怎么自学的,我说一般是购买书籍,然后遇到问题了除了看书,就是上Android开发者网站上面找官方文档的说明,或者上CSDN上搜索,之后问遇到问题怎么解决的,回答也是差不多,感觉说了一通像是没有说一样。接着是问对于Android哪块最熟悉,我说现在接触不是很深入,还是简单的用控件,学下自定义控件啥的...感觉就是从这里开始跪了。

说完Android开始说Java,又问我对Java的哪块最熟,我想起集合就张嘴说了集合,面试官于是说那我就问你你最熟悉的吧。问题1.ArrayList和LinkedList有什么区别,实现方式上有什么区别优劣(现百度,结结巴巴答上来了)问题2.对HashMap的了解,我说就是在用适配器的时候和ArrayList搭配着用过,对原理还是不太熟悉。问题3.Activity的生命周期(正好旁边就是一本书,看着说下来了)。最后一个问题就是Android的四大组件。

结束的的时候我的问题还是和一面的一样,他说根据这个面试来看,基础知识还是有点欠缺。果然十分钟后打开网站,状态变成了“待回绝”...

面小易说:能够从这位同学的二面经历看出,他的知识基础还很欠缺,甚至可以说目前的能力并不能胜任所面试的岗位的需求。因为面试官问到的问题要么就是接触不深入,要么就是了解并不多,要么就是通过搜索或者查资料回答,这样肯定的是不合格的。对于实习生而言,基础还是最重要的,“基础不牢,地动山摇”。

总结

总结,还是基础知识没有打牢,阿里的面试还是考基础居多,毕竟只是实习生面试,项目经历相差不大的情况下,肯定就是看基础了。第一次面试给了阿里,像投简历的时候的心态一样重在参与。

面小易说:希望大家能够吸取这位同学的经验和教训,在平时的学习中一定要将基础打扎实,这样才能遇到问题不慌不忙,侃侃而谈。基础真的很重要。

相关文章
|
2月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
310 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
276 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
643 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
3月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
544 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
2月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
165 0
|
3月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
238 6
|
5月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
400 11
|
5月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
215 0
|
9月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
2308 77
|
6月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
296 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡