2015年阿里移动客户端校园实习面试

作者分享了参加阿里巴巴校园实习在线笔试的经历,包括笔试内容、面试流程及感受。面试涉及C/C++与Java的基础知识对比、JVM内存管理、Android图片加载优化、数据结构等技术问题。
   4月2号,我参加了阿里巴巴的校园实习在线笔试,记得阿里巴巴考的很全,包含了很多计算题,有概率,还有数列N项和吧。反正选择题时间很紧张,结果最终我还是有三,四道选择没做吧。被系统自动收卷了。接下来是附加题,有碎片化,进程通信,还有一个应该是应用快速启动不卡顿。最终网络状况不好,我也不知道自己有没有提交上,所以心中对于阿里的笔试一直没有期待。让我意想不到的是在4月8号晚上我的简历状态变成了待安排面试,我心中有点激动吧,第二天收到确认的短信和邮件,我选择了离我比较近的城市–合肥去面试。

4月20日上午第二场,候场准备面试时。就听到帮我订简历的人说鲁东大学,汗。。。。没人知道很正常。11点我人生中的第一次面试在合肥海汇假日酒店5楼开始进行了,有点紧张,自我介绍还没说完被面试官打算了,说了几句就开始面试了吧,第一个问题问我学了C和Java说一下new和molloc有啥区别,我。。。。。这个很常见的面试问题被我答 的不好,面试官提示我说他们使用的对象不同啊,汗。。。接着,Java中软引用和弱引用的区别,我吧啦吧啦的说了在内存充足时调用了一次gc软引用是不会被回收的弱引用会被回收,然后jvm内存回收,内存泄露,危害,答得一般,很菜了。他说问Android的题目吧,一个应用需要加载1000张图片,如何做到特别流畅,说一下你的优化方案,我说1分页请求,2,listview的优化abc,3是从网络获取吗?那就lrcache,disklrcucache,最后再从网络获取的缓存方案,他问我还有个最重要的呢?汗。。。答了半天,,,你这样做不到一下子到那里很流畅 啊。。。。Android 组件通信,我说1接口回调,2service,3Handle+Thread,4EventBus,然后他说我们的项目也用eventbus了,然后聊了一下eventbus,能解耦和,但是订阅不明显,说要打算采用一种新的函数式程的框架,我一听这不是前两天挺火的RXJava RXandroid么?我说是RXJava吗?面试官在纸上写了RXX,敲电脑搜了一下,是的,说jdk也用1.8,lambda,相应函数式编程,终于有点轻松了,他说咱们聊点数据结构吧,写一个二叉排序的算法吧,我拿过纸笔,就纠结了我只听我二叉排序树和二分查找啊,一会没写出来,然后又问了一个问题吧就出去了,刚出门口就有人告诉我去楼下等着二面吧。我不敢相信,第一我答得不好,第二竟然一天三面,到了吃饭的时间了,一面面试官都开始吃饭了,阿里给我一份盒饭还是不错的。刚过12点多点,系统竟然报号我去面试,二面面试官,先给我介绍了一下他的自己,然后让我自我介绍,然后第一个问题看个1000图片加载吧,差不多是和一面一样,然后问我看我listview源码么?我当时就崩溃了。无奈啊。。。。没有,然后让我写一个缓存框架。。。写一下volley的功能模块,文档结构。。。。jvm垃圾回收算法,操作系统,cpu调度,进程调度,各种调度算法,文件,io崩溃中,我没准备过啊,http和https有什么区别,我说https更安全,怎么实现的更加安全。。。。各种无奈啊,回家好好补基础,数据库索引和Linux内核问我,我说没学。就没深入的问。最后让我提问,我还没问呢,他就问我你觉得你能过吗?真的彻底。。。。。

总结一下吧:好好学习基础的,多多练习,深入的学习,不要水过地皮不湿,秋天,希望不会被虐的这么惨。奋斗,加油!

阿里(在线笔试:选择40分钟+简答题80分钟):

选择题(20题单选):前几题是概率题, 然后是C++特性!又是C++!几题智力题,UC打开Tmall经过的协议,二叉树的深度范围,两个有序数组a和b,找出一个在a另一个在b数组的和的最大值的最佳算法复杂度

简答题(3题):

1.如何加快App的启动速度?

2.客户端开发不同于服务端开发的一个典型背景是,我们的程序将会运行在大量不同的设备上,带给我们很多底层执行环境上的约束,例如Android生态中典型的碎片化问题。有的团队为此只适配主流机型,有的约束开发可以使用的API,有的干脆只为iOS平台开发。请在平衡用户体验与研发成本之上,站在App设计和研发的角度,提出你的对策。

3.对于“卡顿”(特指不流畅动画),分析卡顿机理,并提出优化方案。

**项目名称:** 基于Vue.js与Spring Cloud架构的博客系统设计与开发——微服务分布式应用实践 **项目概述:** 本项目为计算机科学与技术专业本科毕业设计成果,旨在设计并实现一个采用前后端分离架构的现代化博客平台。系统前端基于Vue.js框架构建,提供响应式用户界面;后端采用Spring Cloud微服务架构,通过服务拆分、注册发现、配置中心及网关路由等技术,构建高可用、易扩展的分布式应用体系。项目重点探讨微服务模式下的系统设计、服务治理、数据一致性及部署运维等关键问题,体现了分布式系统在Web应用中的实践价值。 **技术架构:** 1. **前端技术栈:** Vue.js 2.x、Vue Router、Vuex、Element UI、Axios 2. **后端技术栈:** Spring Boot 2.x、Spring Cloud (Eureka/Nacos、Feign/OpenFeign、Ribbon、Hystrix、Zuul/Gateway、Config) 3. **数据存储:** MySQL 8.0(主数据存储)、Redis(缓存与会话管理) 4. **服务通信:** RESTful API、消息队列(可选RabbitMQ/Kafka) 5. **部署与运维:** Docker容器化、Jenkins持续集成、Nginx负载均衡 **核心功能模块:** - 用户管理:注册登录、权限控制、个人中心 - 文章管理:富文本编辑、分类标签、发布审核、评论互动 - 内容展示:首页推荐、分类检索、全文搜索、热门排行 - 系统管理:后台仪表盘、用户与内容监控、日志审计 - 微服务治理:服务健康检测、动态配置更新、熔断降级策略 **设计特点:** 1. **架构解耦:** 前后端完全分离,通过API网关统一接入,支持独立开发与部署。 2. **服务拆分:** 按业务域划分为用户服务、文章服务、评论服务、文件服务等独立微服务。 3. **高可用设计:** 采用服务注册发现机制,配合负载均衡与熔断器,提升系统容错能力。 4. **可扩展性:** 模块化设计支持横向扩展,配置中心实现运行时动态调整。 **项目成果:** 完成了一个具备完整博客功能、具备微服务典型特征的分布式系统原型,通过容器化部署验证了多服务协同运行的可行性,为云原生应用开发提供了实践参考。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值