携程android开发面试题,携程android面试题,一次违反常规的安卓大厂面试经历,面试真题解析...

(一)简介

Handler机制是一套Android消息传递机制。在Android开发多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理。

在Android开发中,为了UI操作是线程安全的,规定了只允许主线程更新Activity里的UI组件。但在实际开发中,存在多个线程并发操作UI组件的情况,导致UI操作线程不安全。故采用Handler消息传递机制,是工作线程需更新UI时,通过Handler通知主线程,从而在主线程中更新UI操作

面试总结

面试大厂一定要做好充分的准备,没有准备就去面试完全是去当炮灰的,更是对自己的不负责。再就是基础真的很重要,基础,基础,基础,重要的事说3遍。

下面给大家分享下我在面试美团之前复习整理的一些面试题及解析,主要是字节跳动、阿里、腾讯、美团、拼多多等大厂常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖所有,不过也希望能对即将找工作的朋友起到一些帮助!

一、Handler 相关知识

1 、Handler Looper Message 关系是什么?

2 、Messagequeue 的数据结构是什么?为什么要用这个数据结构?

3 、建 如何在子线程中创建 Handler?

4 、Handler post 方法原理?

5 、Android 消息机制的原理及源码解析

6、Android 消息机制

05f0c935c6c3cb5ec176b0783c51980b.png

二、Activity 相关

1、Activity 四种启动模式常见使用场景

2、onNewIntent()和 和 onConfigurationChanged()

3、onSaveInstanceState()和 和 onRestoreInstanceState()

4、Activity到底是如何启动的?

5、zygote是什么?有什么作用?

6、SystemServer是什么?有什么作用?它与zygote的关系是什么?

7、ActivityManagerService 是什么?什么时候初始化的?有什么作用?

1bc2479e20ed6fe0f6820420856d9dfe.png

###由于文章篇幅限制,不可能将所有面试题以文字形式展示出来,文中为大家精选了一些面试题,有需要的朋友们可以直接到文末领取哦。

三、Fragment

1 、Fragment 和 生命周期和 Activity 对比

2 、Fragment 之间如何进行通信

3 、Fragment 的 的 startActivityForResult

4 、Fragment 重叠问题

5、Fragment回退栈管理

6、Fragment与Activity通信

7、Fragment与ActionBar和MenuItem

8、没有布局的Fragment—保存大量数据

9、DialogFragment的使用

10、Fragment的startActivityForResult

6d8797bb3e0bfdb891447fc85e473e0c.png

四、Service 相关

1 、 进程保活

2 、Service 的运行线程(生命周期方法全部在主线程)

3 、Service 启动方式以及如何停止

4 、ServiceConnection 里面的回调方法运行在哪个线程?

6e6cc05e3d6cb8cd0a6f19357bc70cfc.png

###五、Android 布局优化之 ViewStub、include、merge

1、用 什么情况下使用 ViewStub 、include 、merge ?

2、他们的原理是什么?

3、布局优化神器 include 、merge 、ViewStub标签详解

3abf44cb6cc83c4f63ff8576880ea371.png

六、Kotlin 相关

1、从原理分析 Kotlin 的延迟初始化: lateinit var 和 by lazy

2、From Java To Kotlin

3、怎么用 Kotlin 去提高生产力:Kotlin Tips

4、使用 Kotlin Reified 让泛型更简单安全

5、Kotlin 里的 Extension Functions 实现原理分析

6、Kotlin 系列之顶层函数和属性

7、Kotlin 兼容 Java 遇到的最大的 “坑”

8、Kotlin 的协程

9、Kotlin 协程「挂起」的本质

###由于文章篇幅限制,不可能将所有面试题以文字形式展示出来,文中为大家精选了一些面试题,有需要的朋友们可以直接到文末领取哦。

七、Flutter 相关

1、Dart 当中的 「…」表示什么意思?

2、Dart 的作用域

3、Dart 是不是单线程模型?是如何运行的

4、Dart 是如何实现多任务并行的?

5、说一下 Dart 异步编程中的 Future 关键字?

6、说一下 Dart 异步编程中的 Stream 数据流?

7、Stream 有哪两种订阅模式?分别是怎么调用的?

8、await for 如何使用?

9、说一下 mixin 机制?

10、请简单介绍下 Flutter 框架,以及它的优缺点?

11、介绍下 Flutter 的理念架构

12、介绍下 FFlutter 的 FrameWork 层和 Engine 层,以及它们的作用

13、介绍下 Widget、State、Context 概念

14、简述 Widget 的 StatelessWidget 和 StatefulWidget 两种状态组件类 .

八、Java 相关

1、HashMap

2、 ArrayList

3、LinkedList

4、Hashset 源码分析

5、内存模型

6、垃圾回收算法(JVM)

7、垃圾回收机制和调用 System.gc()的区别?

8、类加载过程

9、反射

10、多线程和线程池

11、HTTP、HTTPS、TCP/IP、Socket 通信、三次握手四次挥手过程

12、设计模式(六大基本原则、项目中常用的设计模式、手写单例等)

13、断点续传

14、Java 四大引用

15、Java 的泛型

16、final、finally、finalize 的区别

17、接口、抽象类的区别 …

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

9c75d848537dc4d50eb16a468524bdd8.png

fc1642caf589f12c70692a58bafe93cc.png

[外链图片转存中…(img-nRtKyrp5-1620467164726)]

标签:面试题,Fragment,Kotlin,违反常规,面试,线程,UI,Android

来源: https://blog.csdn.net/m0_57079235/article/details/116536203

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值