【面小易-面经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的四大组件。

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

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

总结

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

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

相关文章
|
1月前
|
存储 安全 Java
每日大厂面试题大汇总 —— 今日的是“美团-后端开发-一面”
文章汇总了美团后端开发一面的面试题目,内容涉及哈希表、HashMap、二叉树遍历、数据库索引、死锁、事务隔离级别、Java对象相等性、多态、线程池拒绝策略、CAS、设计模式、Spring事务传播机制及RPC序列化工具等。
41 0
|
1月前
|
存储 消息中间件 NoSQL
每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”
文章汇总了京东后端开发一面的面试题目,包括ArrayList与LinkedList的区别、HashMap的数据结构和操作、线程安全问题、线程池参数、MySQL存储引擎、Redis性能和线程模型、分布式锁处理、HTTP与HTTPS、Kafka等方面的问题。
101 0
|
1月前
|
SQL 安全 关系型数据库
第三次面试总结 - 吉云集团 - 全栈开发
本文是作者对吉云集团全栈开发岗位的第三次面试总结,面试结果非常好,内容全面覆盖了Java基础、MySQL和项目经验,作者认为自己的MySQL基础知识稍弱,需要加强。
32 0
第三次面试总结 - 吉云集团 - 全栈开发
|
1月前
|
消息中间件 存储 前端开发
资深Android开发的5个经典面试题
本文首发于公众号“AntDream”,欢迎关注。文章详细解答了五个常见的Android面试题,涵盖内存泄漏与溢出、Binder机制、MVC/MVP/MVVM架构、Handler机制及Context对象等内容,帮助读者深入了解Android开发的核心概念。
31 0
|
2月前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
45 2
|
1月前
|
Java 调度 Android开发
Android面试题之Kotlin中async 和 await实现并发的原理和面试总结
本文首发于公众号“AntDream”,详细解析了Kotlin协程中`async`与`await`的原理及其非阻塞特性,并提供了相关面试题及答案。协程作为轻量级线程,由Kotlin运行时库管理,`async`用于启动协程并返回`Deferred`对象,`await`则用于等待该对象完成并获取结果。文章还探讨了协程与传统线程的区别,并展示了如何取消协程任务及正确释放资源。
23 0
|
1月前
|
NoSQL 前端开发 关系型数据库
第四次面试总结 — 嘉和智能 - 全栈开发
本文是作者对嘉和智能全栈开发岗位的第四次面试总结,主要围绕对各种技术栈的了解程度进行提问,包括数据库的使用经验、对Redis和nginx的理解以及前端技能水平。
17 0
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
28 0
|
1月前
|
存储 Java 数据库
每日大厂面试题大汇总 —— 今日的是“顺丰-后端开发-一面”
文章汇总了顺丰后端开发一面的面试题目,涵盖了Java虚拟机内存模型、HashMap与ConcurrentHashMap的区别、Spring框架设计模式、SpringBoot与SpringMVC差异、Nacos注册中心原理、Seata分布式架构、MySQL事务隔离级别、数据库死锁问题解决方法、乐观锁实现方式、HBASE底层设计、BIO与NIO区别、以及为何不使用现有开源框架而选择自建平台等问题。
19 0
|
3月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
242 0