京东android社招面试经历

1、怎么实现多线程?

2、线程间怎么通信?

3、handler机制;

4、handlerpostpostDelay是怎么做的?

5、有序广播和无序广播的区别?

1BroadcastReceiver所对应的广播分两类:普通广播和有序广播。

2)普通广播通过Context.sendBroadcast()方法来发送。它是完全异步的。 所有的receivers接收器的执行顺序不确定。因此,所有的receivers接收器接收broadcast的顺序不确定。这种方式效率更高。但BroadcastReceiver无法使用setResult系列,getResult系列及abort系列API


3)有序广播是通过Context.sendOrderedBroadcast来发送。所有的receiver依次执行。 BroadcastReceiver可以使用setResult系列函数来结果传给下一个BroadcastReceiver,通过getResult系列函数来取得上个BroadcastReceiver返回的结果,并可以abort系列函数来让系统丢弃该广播让,使用该广播不再传送到别的BroadcastReceiver。可以通过在intent-filter中设置android:priority属性来设置receiver的优先级。优先级相同的receiver其执行顺序不确定。 如果BroadcastReceiver是代码中注册的话,且其intent-filter拥有相同android:priority属性的话,先注册的将先收到广播。

4)有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。


6、Activity生命周期;

7、启动模式以及各种启动模式下的startActivityForResult

8、android 7.0 8.0 9.0的新特性

9、讲一讲android的动画

10、looper和线程是怎么对应的

11、service生命周期、onStartCommand的返回值有什么作用

12、所有的view都不可以在子线程更新吗

13、java 三大特性

1)封装:封装指的是属性私有化,根据需要提供settergetter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别。封装是为了增强安全性和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员。

2)继承:继承是指将多个相同的属性和方法提取出来,新建一个父类。Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法。 子类可以重写父类中的方法,命名与父类中同名的属性。继承是为了代码复用。

3)多态:多态可以分为两种:设计时多态和运行时多态。设计时多态:即重载,是指Java允许方法名相同而参数不同(返回值可以相同也可以不相同);运行时多态:即重写,是指Java运行根据调用该方法的类型决定调用哪个方法。多态目的是为了增加代码的灵活度。


14、注解了解吗

15、四大组件

16、反射说一下

17、java的引用

18、讲一讲垃圾回收、gcroots是什么?

19、加密了解吗

20、httphttps的区别

1https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

2http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。

3httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

4http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


21、接口和抽象类的区别

#面经##社招##京东##安卓工程师#
全部评论
这个是社招?
1 回复
分享
发布于 2020-12-22 15:12
请问这是几年工作经验呢?
点赞 回复
分享
发布于 2020-12-25 19:11
阿里巴巴
校招火热招聘中
官网直投
t4 t5吧,还行
点赞 回复
分享
发布于 2021-01-10 19:01
没有算法吗
点赞 回复
分享
发布于 2021-04-13 08:31

相关推荐

2 38 评论
分享
牛客网
牛客企业服务