草庐IT

Android面试Android

全部标签

面试官:你知道哪些分布式ID生成方案?

近两年的技术面试,分布式系列是面试官经常会问到的一个高频方向,比如:分布式事务、分布式锁、分布式调度、分布式存储、分布式ID等。今天我们就来聊聊,这里面相对简单的分布式ID,首先说下,我们为什么需要分布式ID?当系统数据量过大,已经进行分库分表后,我们需要对分散在各个库表中的数据记录进行唯一标识,而分布式ID恰好用来解决这个问题。接下来,我们看看八大分布式ID的生成方案,以及各自的优缺点是什么。图片1、UUIDUUID是UniversallyUniqueIdentifier的缩写,翻译成中文为“通用唯一识别码”,由32个16进制数字+4个“-”构成,整体长度为36,其可以保证唯一性,发生碰撞的

面试官:什么是Java内存模型?

当问到Java内存模型的时候,一定要注意,Java内存模型(JavaMemoryModel,JMM)它和JVM内存布局(JVM运行时数据区域)是不一样的,它们是两个完全不同的概念。1.为什么要有Java内存模型?Java内存模型存在的原因在于解决多线程环境下并发执行时的内存可见性和一致性问题。在现代计算机系统中,尤其是多处理器架构下,每个处理器都有自己的高速缓存,而主内存(RAM)是所有处理器共享的数据存储区域。当多个线程同时访问和修改同一块共享数据时,如果没有适当的同步机制,就可能导致以下问题:可见性:一个线程对共享变量所做的修改可能不会立即反映到另一个线程的视角中,因为这些修改可能只存在于

面试官问我为啥TCP需要三次握手及四次挥手

TCP协议特点TCP是传输层协议,具有以下特点:基于链接:在传输数据之前需要建立连接,然后再进行传输。双向通信:一旦建立连接,双方可以进行双向通信。字节流传输:TCP以字节流为单位进行传输,将数据按字节大小进行编号,接收端通过 ACK 来确认收到的数据编号,通过这种机制,TCP 协议能够保证接收数据的有序性和完整性,因此 TCP 能够提供可靠性传输。流量控制:使用滑动窗口机制控制数据发送速率。滑动窗口的本质是动态缓冲区,接收端根据自己的处理能力,在 TCP 的 Header 中动态调整窗口大小,通过 ACK 应答包通知给发送端,发送端根据窗口大小调整发送的的速度。拥塞控制:通过慢启动、拥塞避免

Android 基础技术——RecyclerView

笔者希望做一个系列,整理 Android基础技术,本章是关于RecyclerViewRecyclerView 对比 ListView 的优点Adapter 面向的是ViewHolder 不是 View, 可以省略convertView.setTag和getTag 这些步骤可以设置布局管理器:竖向、横向、瀑布流方式可以设置 Item 的间隔样式Recycleview去掉了一些api,比如setEmptyview,onItemClickListener等等,给到用户更多的自定义可能Recycleview去掉了设置头部底部item的功能,专向通过viewholder的不同type实现Recyclev

Android笔记(二) 常见log

用户按键操作,唤醒屏幕S00B134 04-1902:46:37.926  951 1128DWindowManager:ReceiveInputKeyEventofPowerkeydownS00B138 04-1902:46:37.929  951 1128DWindowManager:wakeUpFromPowerKeyS00B139 04-1902:46:37.929  951 1128IPowerManagerService:WakingupfromAsleep(uid=1000,reason=WAKE_REASON_POWER_BUTTON,details=android.polic

2024 Android Studio安装及配置gradle快速省心搭建,不放C盘,前置搭建

题外话:要做安卓项目然后安装过AndroidStudio的朋友都知道,下载安装完成之后并不能直接开始你的第一个安卓项目的“HelloWorld”,其中有要配置好gradle,在你测试好环境之前你会遇到很多问题,同时默认下使用中所需依赖的一些大文件和缓存会默认放在c盘,会越积越多,所以在一开始就配置好,后面就不需要去顾虑c盘大小,照这里操作之后使用不占用你的c盘空间,同时畅通无阻完成搭建安卓项目环境的前置需要。 一、AndroidStudio安装这里安装最新的版本,安装旧版的也可以,注意项目里需要下载gradle的版本,后面跟这个有关(后面会说),下面给出网址,点击下载完成之后,点击安装包安装,

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】

1025除数游戏小艾和小鲍轮流玩游戏,小艾首先开始。最初,黑板上有一个数字n。在每个玩家的回合中,该玩家做出的动作包括:选择任意x,使0将黑板上的数字n替换为n-x。此外,如果玩家无法采取行动,他们就会输掉比赛。当且仅当小艾赢得游戏时返回true,假设两个玩家都发挥最佳。例子在大学某个自习的下午,小白坐在教室看到这道题。想想现年景一过,没有什么理由再不学习了。真是若对黄花孤负酒,怕黄花,也笑人岑寂。这时候黑长直女神过来问:小白,你看到1025这道题了吗,怎么感觉看着很简单,但是理解起来很麻烦啊,这道题你有什么思路呢?小白内心镇定:这机会不就来了吗,小美,《一起摇太阳》有机会一起去看看吧?哦,不

app逆向-android-studio安装使用教程

AndroidStudio是谷歌推出的一个Android集成开发工具,基于IntelliJIDEA.类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。android-studio下载地址:https://developer.android.com/studio/archiveandroid-studio安装教程:https://blog.csdn.net/Javachichi/article/details/132139222效果图:由于是基于IntelliJIDEA开发,使用起来有种莫名的亲切感!Android⽬录结构.├──.gitign

Android 反编译处理Dex

前言    当我们将Android项目打包上架的时候,为了提高被人反编译代码的可能性可以提取dex文件对代码进一步做混淆处理。 本文不对相关工具做过多的解释,不了解的可以先熟悉相关工具的使用。 相关工具(点击直接下载)jadx-gui(反编译Android应用程序的图形用户界面工具)https://java-decompiler.github.io/apktool(用于反编译和重新打包Android应用的工具)https://apktool.org/docs/install/baksmali(将Android应用程序的.dex文件反汇编Smali代码的工具)https://bitbucket.

谷歌暂停 Android 15 DP1 OTA 更新,仅提供出厂镜像安装

2月21日消息,近日,谷歌发布了首个Android15开发者预览版本,但很快又遇到了问题,被迫暂时停止了OTA更新包的下载。IT之家注意到,在Android开发者官网上,谷歌表示由于发现了一个“已知问题”,他们移除了Android15DP1的OTA更新选项。官方解释道:“我们将暂时禁用OTA镜像下载,以便进一步排查问题。”这意味着,想要体验Android15的开发者目前只能通过刷入出厂镜像(factoryimage)的方式进行安装。此前,谷歌就曾提到过Android15DP1的一些已知问题,其中之一就涉及侧载最新的大版本系统更新。谷歌表示,完成侧载后可能会出现“设备已损坏”的提示。除此之外,第