写点什么

5 个月前,如果你没有不屑于刷这份《字节内推,独家发布

用户头像
Android架构
关注
发布于: 11 小时前

First:


  • 最近都做了哪些工作?

  • 遇到了什么印象深刻的问题。A:会顺着你介绍的项目问下具体实现。

  • 推送消息有富文本么?

  • 热修复了解么,用的什么?

  • apk 包大小有限制么?怎么减少包大小?

  • 工作中有没有用过或者写过什么工具?脚本,插件等等

  • 比如:多人协同开发可能对一些相同资源都各自放了一份,有没有方法自动检测这种重复之类的

  • 写过 native 的底层代码么

  • view 的绘制熟悉么,介绍下

  • gc 相关的算法

  • anr 是因为什么产生的,怎么排查

  • 界面上的话,有什么优化措施么?比如列表展示之类的,平时遇到过内存问题吗,怎么优化的?

  • 平时用过哪些设计模式?


**S


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


econd:**


  • 介绍下最近一年主要做了什么工作

  • 会对简历上突出的技能进行详情的询问:

  • 比如:音频合成的具体步骤,以及遇到的一些问题和细节处理。

  • 会根据面试发散一些问题,问到,seek 方法播放到末尾后重新播放会有一些卡顿的不流畅问题,怎么避免,从交互设计或者技术角度。(个人表示没怎么关注这种)。

  • 项目团队多少人,怎么分配工作

  • 线程之间怎么通信的?

  • app 的架构是怎么样的,并且为什么这样,有什么优缺点?

  • 算法熟悉么?给了一个二叉排序树,出了一个给定节点找到它的下一个元素(指的是大小顺序的下一个)的算法题。

  • 为什么找工作,自己的优势是什么


Third:


  • 技术问题不再局限于简历,可能根据简历和回答情况渐进并扩散。

  • 感觉各个技术面试官之前并没有沟通,可能会问到类似的问题

  • 介绍下自己主要负责的工作

  • Activity 的生命周期有哪些,知道 onRestart 么,介绍下

  • savedInstanceState 知道么,干什么用的,什么时候有值,什么时候为空,平时是怎么用的

  • View 绘制熟悉么,介绍下,能说下是实现原理么?

  • 平时用过什么开发工具,分析工具?

  • ANR 是怎么回事?怎么查?Service 会引起 ANR 么?

  • Activity 的启动模式有哪些?栈里是 A-B-C,先想直接到 A,BC 都清理掉,有几种方法可以做到?这几种方* 法产生的结果是有几个 A 的实例?

  • 有什么工具可以看到 Activity 栈信息么?多个栈话,有方法分别得到各个栈的 Activity 列表么

  • 都熟悉哪些命令?知道怎么用命令启动一个 Activity 么?

  • SharedPrefrences 的 apply 和 commit 有什么区别

  • java 里带 $的函数见过么,是什么意思

  • MD5 是加密方法么,Base64 呢

  • 有博客和 github,主要是写的什么?有哪些关注

  • android 8.0 有哪些新特性

[](

)京东面试题

[](

)一面(京东)


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


2、String、StringBuilder、StringBuffer 的区别?


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


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


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


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


4、说一下 Context 和内存泄露


5、线程创建的方法?


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


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

[](

)二面


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架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
5个月前,如果你没有不屑于刷这份《字节内推,独家发布