b站二面

2024.04.16
17:00
自我介绍
kotlin了解吗?不会。。
集合hashmap、arraylist这些集合的遍历方式?为什么这样遍历,,,我只会for循环,,然后for循环遍历过程中能插入和删除之类的吗?。。
多线程安全问题,为什么会出现多线程并发问题?没答道点子上。说了java内存模型,jmm,,后续又补充了一下
多线程同步的方式。
一个looper中能有几个handler,然后就是handler1发送了消息,handler2发送了消息,looper如何判断谁的消息是谁的呢?怎么分发?
线程的各个状态
activity和fragment的生命周期,以及fragment的生命周期的各个方法的作用是什么?

编程题:
子线程循环10次,接着主线程循环20,接着又回到子线程循环10次, 接着再回到主线程又循环20,如此循环5次

#软件开发2024笔面经##b站##牛客解忧铺##牛客在线求职答疑中心###b站##字节##腾讯##面经#
全部评论
你好,看起来你在面试中遇到了一些技术问题。让我来帮你分析一下。 首先,关于Kotlin,它是一种现代编程语言,与Java有着紧密的联系。如果你不熟悉Kotlin,可以尝试学习一下它的基本语法和特性,这将有助于你在未来的面试中更好地回答相关问题。 其次,关于集合的遍历方式,面试官可能是在考察你对Java集合框架的理解。HashMap、ArrayList等集合都有自己的遍历方式,例如HashMap可以使用迭代器或forEach方法进行遍历,而ArrayList则可以使用for循环或增强for循环进行遍历。在遍历过程中,你可以插入和删除元素,但需要注意避免并发修改异常。 关于多线程安全问题,面试官可能是在考察你对多线程编程的理解。多线程并发问题通常发生在多个线程同时访问和修改共享数据时。为了解决这个问题,你可以使用同步机制,例如synchronized关键字或Lock对象。 关于Handler和Looper,它们是Android消息队列机制的关键组成部分。一个Looper中可以有多个Handler,它们之间的消息是通过Message对象的what字段来区分的。Looper负责分发消息,将消息派发给对应的Handler处理。 关于线程的状态,Java中的线程有五种状态:新建、就绪、运行、阻塞和死亡。理解这些状态可以帮助你更好地理解多线程编程。 关于Activity和Fragment的生命周期,它们是Android开发中的重要概念。Activity和Fragment都有一系列的生命周期回调方法,这些方***在不同的阶段被调用,例如创建、启动、暂停、停止和销毁等。理解这些生命周期回调方法可以帮助你更好地管理UI组件和资源。 最后,关于编程题,面试官可能是在考察你的编程能力和问题解决能力。你可以尝试用Java或Kotlin编写一个解决方案,使用线程相关的API(如Thread、Runnable、ExecutorService等)来实现要求的功能。 希望这些信息对你有所帮助。祝你面试成功!
2
送花
回复
分享
发布于 04-25 11:05 此内容由AI生成
这是安卓开发吗
1
送花
回复
分享
发布于 04-25 15:20 广东
滴滴
校招火热招聘中
官网直投
啊,兄弟你投的什么岗,感觉我都不怎么会😂
点赞
送花
回复
分享
发布于 04-25 11:50 广东
请问楼主后续有流程推进吗?
点赞
送花
回复
分享
发布于 05-10 02:20 江苏

相关推荐

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