面试
文章平均质量分 58
jiet_h
道阻且长,行则将至。
设计做得再漂亮,代码写得再完美,项目做得再符合标准,一旦项目亏本,产品投入大于产出,那整体就是扯淡!一切必须得成功!------Big Skipper
展开
-
Android app 开发 初中高级 面试问题(都是我被面试所遇到的我没有回答上来或者回答的不好的)
判断初中高级,其实是根据你的工作年限和后续的【项目】二面,三面决定的,如果你和我一样是一个普通的程序员,也没有进入大厂实力的话,做好自己,外包也未尝不可,那下面的问题对你就有帮助。原创 2024-06-21 15:38:56 · 302 阅读 · 0 评论 -
Android关于SparseArray面试题
SparseArray是一个用于优化特定情况下内存使用的数据结构,主要用于替代HashMap。SparseArray使用两个数组分别存储键和值,而不是使用哈希表。这种方式避免了自动装箱的开销,并且在键是整数时能够更高效地管理内存。原创 2024-05-06 14:13:34 · 348 阅读 · 0 评论 -
TCP协议为什么使用三次握手进行连接?
TCP协议使用三次握手来建立一个可靠的连接,确保两端的通信设备都准备好进行数据传输。原创 2024-04-30 15:24:29 · 462 阅读 · 0 评论 -
HTTP与HTTPS区别面试问题及回答
HTTP(超文本传输协议)是一种不安全的协议,它在客户端和服务器之间传输数据时不提供数据加密,这意味着数据可以被中间人攻击者截取和查看。而HTTPS(安全的超文本传输协议)则是HTTP的安全版本,它在HTTP的基础上通过SSL/TLS协议提供了数据传输的加密,保护数据免受窃听和篡改。原创 2024-04-30 15:15:43 · 221 阅读 · 0 评论 -
Android手势识别面试问题及回答
在Android中,可以通过使用`GestureDetector`类来实现基本的手势识别。首先需要创建一个`GestureDetector`的实例,并实现`GestureDetector.OnGestureListener`接口来响应各种手势事件,如滑动、长按等。原创 2024-04-30 15:13:00 · 500 阅读 · 0 评论 -
Android滑动冲突解决方案面试问题及回答
滑动冲突通常发生在多个滑动组件(如ScrollView, ListView, ViewPager等)嵌套使用时,各个组件对同一个滑动事件的响应发生冲突。原创 2024-04-30 14:58:18 · 367 阅读 · 2 评论 -
Android View事件分发面试问题及回答
在Android中,事件分发机制主要涉及到三个主要方法:`dispatchTouchEvent()`, `onInterceptTouchEvent()`, 和 `onTouchEvent()`. 当一个触摸事件发生时,首先被`Activity`的`dispatchTouchEvent()`方法接收,然后按照View树从顶部到底部的顺序传递给每个子View。每个View可以通过重写`onInterceptTouchEvent()`来决定是否拦截这个事件。原创 2024-04-30 14:48:21 · 633 阅读 · 2 评论 -
Java并发编程面试问题与答案
`synchronized`关键字在Java中用于控制对共享资源的并发访问。它可以用于修饰一个方法或者代码块。使用`synchronized`时,一个线程在访问同步的方法或代码块时会持有对象的锁,直到它完成执行,这时锁会被释放,其他线程才能访问。原创 2024-04-30 14:20:14 · 436 阅读 · 0 评论 -
安卓中对象序列化面试问题及回答
序列化是将对象转换为字节流的过程,以便将其存储在文件、数据库或通过网络传输。反序列化则是将字节流重新转换为对象的过程。原创 2024-04-30 14:05:32 · 523 阅读 · 2 评论 -
浅拷贝与深拷贝面试问题及回答
浅拷贝(Shallow Copy)仅复制对象的引用而不复制引用的对象本身,因此原始对象和拷贝对象会引用同一个对象。而深拷贝(Deep Copy)则是对对象内部的所有元素进行拷贝,包括所有的嵌套对象,因此原始对象和拷贝对象是完全独立的。原创 2024-04-30 13:59:51 · 293 阅读 · 1 评论 -
Object类的公共方法面试问题及回答
`Object` 类是 Java 中所有类的超类。每个类都使用 `Object` 作为树的根,所有对象(包括数组)都实现这个类的方法。原创 2024-04-30 13:54:49 · 272 阅读 · 1 评论 -
== 和 equals() 的区别 以及为什么重写equals 必须要重写hashcode
在Java中,`==` 运算符和 `equals()` 方法通常用于比较两个对象,但它们的用途和行为方式有明显的区别。同时,当你重写 `equals()` 方法时,为什么必须同时重写 `hashCode()` 方法也是一个重要的概念。让我们详细探讨这些问题。原创 2024-04-30 13:46:30 · 351 阅读 · 0 评论 -
HashMap相关面试题
请解释HashMap的工作原理。它是如何存储键值对的?原创 2024-04-30 13:36:16 · 204 阅读 · 0 评论 -
How to 优化Android应用的功耗!?!
因此,在不需要时关闭这些硬件组件,也是功耗优化的重要手段。[☁️ 使用GCM或FCM等推送服务,让应用在后台接收消息,并在需要时进行处理,从而减少应用在后台运行时消耗的内存。因此,在需要时启用省电模式,也是功耗优化的重要手段。内存也是手机的关键组件,也是功耗的重要来源。因此,减少屏幕亮度也是功耗优化的重要手段。[🚫 在不需要时,可以启用节省流量模式,来减少网络流量的使用。[🖼️ 使用图片压缩技术,减少图片的大小,从而减少内存占用。[💡 在不需要时,可以手动降低屏幕亮度,从而减少屏幕亮度。原创 2023-09-01 17:36:32 · 290 阅读 · 0 评论 -
什么是Android组件化?kotlin举例
在Android开发中,组件化已经成为了一种常见的架构模式。它不仅可以提高代码的可维护性和可测试性,还能促进团队协作和模块化开发。本文将介绍Android组件化的基本概念,并使用Kotlin举例说明。原创 2023-09-01 17:04:10 · 91 阅读 · 0 评论 -
Android 插件化:一个简单的 Kotlin 实例
插件化是 Android 开发中一种非常重要的技术手段,它允许我们动态加载和运行未安装的 APK。这种方式可以减少 APK 的体积,提高应用的灵活性,更好地满足用户的需求。👍在本文中,我们将通过一个简单的 Kotlin 示例来介绍 Android 插件化的基本原理和实现方式。让我们开始吧!原创 2023-09-01 16:48:41 · 186 阅读 · 0 评论 -
内存抖动简单记忆
在 Java 代码中,内存抖动是一个常见的问题。内存抖动是指在短时间内有大量的对象被创建或者被回收的现象。内存抖动会导致垃圾回收器频繁运行,从而影响程序的性能。原创 2023-09-01 16:12:42 · 116 阅读 · 0 评论 -
内存泄露(ML)和内存溢出(OOM)的区别和联系
是指程序在申请内存后,无法释放已申请的内存空间,从而导致内存的浪费。内存泄露会导致程序使用的内存逐渐增加,最终导致内存不足,程序崩溃。是指程序申请的内存空间超过了系统可分配的内存空间,从而导致程序无法运行。内存溢出会导致程序直接崩溃。原创 2023-09-01 15:52:37 · 262 阅读 · 0 评论 -
【干货满满】关于Binder的一些面试问题
这样,多个应用程序可以通过绑定到该应用程序提供的服务,间接地访问和操作这些系统资源,避免了重复打开和管理资源的开销,提高了系统的效率和性能。总结一下,Binder的线程模型涉及客户端线程、服务端线程和Binder线程池,它们协同工作,实现了Android系统中进程间通信的功能。Binder代理的作用:客户端的Binder对象实际上是一个Binder代理对象,它负责将客户端的方法调用转化为跨进程的请求。首先,Binder采用了基于共享内存的通信方式,避免了数据的复制和序列化开销,提高了数据传输的效率。原创 2023-08-10 15:51:39 · 756 阅读 · 1 评论