5月份,京东 Android开发面经分享!

Posted 涂程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5月份,京东 Android开发面经分享!相关的知识,希望对你有一定的参考价值。

作者:程宇

前言

5月面经出炉了!

笔者从学校毕业开始就从事android工作,现已有5年左右了,之前一直在一家中型互联网公司工作。本想利用金三银四的面试季跳槽一波,于是在四月初离职。

但计划赶不上变化,因为家中有点小事给耽搁,所以推迟到了4月度开始投简历,事后过来一个星期收到了面试通知。下面就是我的一个面试过程。

京东面试过程

【一面】

1、基本的数据类型有哪些?

2、String、StringBuilder、StringBuffer的区别?

•String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间

•StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量

•StringBuilder是可变类,速度更快,单线程操作字符串,但线程不安全

3、Fragment是什么,使用场景和生命周期

4、说一下Context和内存泄露

5、线程创建的方法?

6、Activity的启动模式和适用场景?

7、ViewPager用过吗?然后扯到了它和Fragment联合;

【二面】

1、自我介绍

2、介绍一下项目经历,项目中遇到最大的问题是什么?怎么解决的?

3、用过什么第三方库吗?说一下Glide Picasso有什么区别?

4、如果让你自己设计图片框架,该怎么操作?

5、内存泄露和内存溢出说一下

(1)内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。

(2)内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。

6、内存溢出的原因及解决方法:

(1)内存溢出原因:

①内存中加载的数据量过于庞大,如一次从数据库取出过多数据;

②集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;

③代码中存在死循环或循环产生过多重复的对象实体;

④使用的第三方软件中的BUG;

⑤启动参数内存值设定的过小

(2)内存溢出的解决方案:

①第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)

②第二步,检查错误日志,查看“OutOfMemory”错误前是否有其 它异常或错误。

③第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。

7、垃圾回收机制说一下?

8、有什么想问我的吗?

【三面】

1、自我介绍

2、你对京东的了解有多少?

3、为什么选择离职?是上一家公司不好吗?

4、你期望的薪资是多少?

5、有什么想问我的吗?

感想

整体来说,这次面试感觉还不错,毫无难度,我对自己的发挥和表现还算比较满意吧。

可能是因为基础知识掌握较好,目前阶段还够用吧,但还是需要进一步向下探究,了解底层实现,学习优化机制。

面试官的一句话让我印象深刻“面向用户编程,不能局限于实现功能,还要为用户体验持续优化

前面说过,希望对大家有帮助,那么肯定不能没有真题的答案啦~

最后

笔者在面试前,从网上收集了一些 Android 开发相关的学习文档、面试题、Android 核心笔记等等文档,进行了复习,在此分享给大家,希望能帮助到大家学习提升,如有需要参考的可以直接去我 GitHub地址:https://github.com/733gh/Android-T3 访问查阅。

以上是关于5月份,京东 Android开发面经分享!的主要内容,如果未能解决你的问题,请参考以下文章

Android春招面经(18届应届生,双非)

2021金九银十新鲜Android面经:爱奇艺/B站/某安/京东/货拉拉/喜马拉雅/得物,面试真题分享

迟来的6月份字节跳动面经(Android 客户端)

Android 面经分享阿里大佬的 5年 Android 开发的求职之路

Android 面经分享阿里技术专家的 5年 Android 开发的求职之路

Android 面经分享阿里技术专家的 5年 Android 开发的求职之路