最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上我搜集整理的2019-2021BATJ 面试真题解析,我把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
BLUETOOTH:允许应用程序连接到配对的蓝牙设备。
BLUETOOTH_ADMIN:允许应用程序发现和配对蓝牙设备。
BLUETOOTH_PRIVILEGED:允许应用程序在没有用户交互的情况下配对蓝牙设备,并允许或禁止电话簿访问或消息访问。
BODY_SENSORS:允许应用程序访问来自传感器的数据,用户使用这些数据来测量他们体内发生的事情,例如心率。
BROADCAST_PACKAGE_REMOVED:允许应用程序广播应用程序包已被删除的通知。
BROADCAST_SMS:允许应用程序广播 SMS 接收通知。
BROADCAST_STICKY:允许应用程序广播粘性意图。
BROADCAST_WAP_PUSH:允许应用程序广播 WAP PUSH 接收通知。
CALL_COMPANION_APP:允许实现InCallServiceAPI的应用 有资格作为调用配套应用启用。
CALL_PHONE:允许应用程序在不通过拨号器用户界面的情况下发起电话呼叫,以便用户确认呼叫。
CALL_PRIVILEGED:允许应用程序拨打任何电话号码,包括紧急号码,而无需通过拨号器用户界面让用户确认正在拨打的电话。
CAMERA:需要能够访问相机设备。
CAPTURE_AUDIO_OUTPUT:允许应用程序捕获音频输出。
CHANGE_COMPONENT_ENABLED_STATE:允许应用程序更改是否启用应用程序组件(除了它自己的组件)。
CHANGE_CONFIGURATION:允许应用程序修改当前配置,例如语言环境。
CHANGE_NETWORK_STATE:允许应用程序更改网络连接状态。
CHANGE_WIFI_MULTICAST_STATE:允许应用程序进入 Wi-Fi 多播模式。
CHANGE_WIFI_STATE:允许应用程序更改 Wi-Fi 连接状态。
CLEAR_APP_CACHE:允许应用程序清除设备上所有已安装应用程序的缓存。
CONTROL_LOCATION_UPDATES:允许启用/禁用来自无线电的位置更新通知。
DELETE_CACHE_FILES:删除应用程序缓存文件的旧权限,不再使用,但信号让我们悄悄地忽略调用而不是抛出异常。
DELETE_PACKAGES:允许应用程序删除包。
DIAGNOSTIC:允许应用程序读写诊断资源。
DISABLE_KEYGUARD:允许应用程序在不安全的情况下禁用键盘锁。
DUMP:允许应用程序从系统服务中检索状态转储信息。
EXPAND_STATUS_BAR:允许应用程序展开或折叠状态栏。
FACTORY_TEST:作为制造商测试应用程序运行,以 root 用户身份运行。
FOREGROUND_SERVICE:允许常规应用程序使用Service.startForeground.
GET_ACCOUNTS:允许访问帐户服务中的帐户列表。
GET_ACCOUNTS_PRIVILEGED:允许访问帐户服务中的帐户列表。
GET_PACKAGE_SIZE:允许应用程序找出任何包使用的空间。
GLOBAL_SEARCH:此权限可用于内容提供商以允许全球搜索系统访问他们的数据。
INSTALL_LOCATION_PROVIDER:允许应用程序将位置提供程序安装到位置管理器中。
INSTALL_PACKAGES:允许应用程序安装包。
INSTALL_SHORTCUT:允许应用程序在 Launcher 中安装快捷方式。
INSTANT_APP_FOREGROUND_SERVICE:允许免安装应用创建前台服务。
INTERACT_ACROSS_PROFILES:允许在同一配置文件组中的配置文件之间进行交互。
INTERNET:允许应用程序打开网络套接字。
KILL_BACKGROUND_PROCESSES:允许应用程序调用 ActivityManager.killBackgroundProcesses(String).
LOADER_USAGE_STATS:允许数据加载器读取包的访问日志。
LOCATION_HARDWARE:允许应用程序使用硬件中的位置功能,例如地理围栏 api。
MANAGE_DOCUMENTS:允许应用程序管理对文档的访问,通常作为文档选择器的一部分。
MANAGE_EXTERNAL_STORAGE:允许应用程序广泛访问范围存储中的外部存储。
MANAGE_OWN_CALLS:允许调用应用程序通过自我管理的ConnectionServiceAPI管理自己的调用 。
MASTER_CLEAR:不供第三方应用程序使用。
MEDIA_CONTENT_CONTROL:允许应用程序了解正在播放的内容并控制其播放。
MODIFY_AUDIO_SETTINGS:允许应用程序修改全局音频设置。
MODIFY_PHONE_STATE:允许修改电话状态 - 开机、mmi 等。
MOUNT_FORMAT_FILESYSTEMS:允许格式化可移动存储的文件系统。
MOUNT_UNMOUNT_FILESYSTEMS:允许为可移动存储安装和卸载文件系统。
NFC:允许应用程序通过 NFC 执行 I/O 操作。
NFC_PREFERRED_PAYMENT_INFO:允许应用程序接收 NFC 首选支付服务信息。
NFC_TRANSACTION_EVENT:允许应用程序接收 NFC 交易事件。
PACKAGE_USAGE_STATS:允许应用程序收集组件使用统计信息
声明权限意味着使用 API 的意图,设备用户可以通过设置应用程序授予权限。
PROCESS_OUTGOING_CALLS:此常量在 API 级别 29 中已弃用。应用程序应使用CallRedirectionService而不是Intent.ACTION_NEW_OUTGOING_CALL广播。
QUERY_ALL_PACKAGES:允许查询设备上的任何普通应用程序,无论清单声明如何。
READ_CALENDAR:允许应用程序读取用户的日历数据。
READ_CALL_LOG:允许应用程序读取用户的通话记录。
READ_CONTACTS:允许应用程序读取用户的联系人数据。
READ_EXTERNAL_STORAGE:允许应用程序从外部存储读取。
READ_LOGS:允许应用程序读取低级系统日志文件。
READ_PHONE_NUMBERS:允许读取设备的电话号码。
READ_PHONE_STATE:允许只读访问电话状态,包括当前的蜂窝网络信息、任何正在进行的呼叫的状态以及PhoneAccount设备上注册的任何s的列表。
READ_PRECISE_PHONE_STATE:允许只读访问精确的手机状态。
READ_SMS:允许应用程序读取 SMS 消息。
READ_SYNC_SETTINGS:允许应用程序读取同步设置。
READ_SYNC_STATS:允许应用程序读取同步统计信息。
READ_VOICEMAIL:允许应用程序读取系统中的语音邮件。
REBOOT:需要能够重新启动设备。
RECEIVE_BOOT_COMPLETED:允许应用程序Intent.ACTION_BOOT_COMPLETED在系统完成启动后接收 广播。
RECEIVE_MMS:允许应用程序监视传入的 MMS 消息。
RECEIVE_SMS:允许应用程序接收 SMS 消息。
RECEIVE_WAP_PUSH:允许应用程序接收 WAP 推送消息。
RECORD_AUDIO:允许应用程序录制音频。
REORDER_TASKS:允许应用程序更改任务的 Z 顺序。
REQUEST_COMPANION_RUN_IN_BACKGROUND:允许配套应用在后台运行。
REQUEST_COMPANION_USE_DATA_IN_BACKGROUND:允许配套应用在后台使用数据。
REQUEST_DELETE_PACKAGES:允许应用程序请求删除包。
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS:应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
REQUEST_INSTALL_PACKAGES:允许应用程序请求安装包。
REQUEST_PASSWORD_COMPLEXITY:允许应用程序请求屏幕锁定复杂度并提示用户将屏幕锁定更新到一定的复杂度级别。
SEND_RESPOND_VIA_MESSAGE:允许应用程序(电话)向其他应用程序发送请求,以在传入呼叫期间处理通过消息响应操作。
SEND_SMS:允许应用程序发送 SMS 消息。
SET_ALARM:允许应用程序广播 Intent 为用户设置警报。
SET_ALWAYS_FINISH:允许应用程序控制将活动置于后台时是否立即完成。
SET_ANIMATION_SCALE 修改全局动画缩放因子。
SET_DEBUG_APP 配置用于调试的应用程序。
SET_PROCESS_LIMIT:允许应用程序设置可以运行的(不需要的)应用程序进程的最大数量。
SET_TIME:允许应用程序直接设置系统时间。
SET_TIME_ZONE:允许应用程序直接设置系统时区。
SET_WALLPAPER:允许应用程序设置壁纸。
SET_WALLPAPER_HINTS:允许应用程序设置壁纸提示。
SIGNAL_PERSISTENT_PROCESSES:允许应用程序请求将信号发送到所有持久进程。
SMS_FINANCIAL_TRANSACTIONS:此常量在 API 级别 31 中已弃用。使用此权限的 API 不再起作用。
START_FOREGROUND_SERVICES_FROM_BACKGROUND:允许应用程序随时从后台启动前台服务。
START_VIEW_PERMISSION_USAGE:允许持有者启动应用程序的权限使用屏幕。
STATUS_BAR:允许应用程序打开、关闭或禁用状态栏及其图标。
SYSTEM_ALERT_WINDOW:允许应用程序使用WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY显示在所有其他应用程序顶部的类型创建窗口 。
TRANSMIT_IR:允许使用设备的红外发射器(如果可用)。
UNINSTALL_SHORTCUT 不要在您的应用中使用此权限。
UPDATE_DEVICE_STATS:允许应用程序更新设备统计信息。
USE_BIOMETRIC:允许应用使用设备支持的生物识别方式。
USE_FINGERPRINT:此常量在 API 级别 28 中已弃用。应用程序应改为请求USE_BIOMETRIC
USE_FULL_SCREEN_INTENT:对于Build.VERSION_CODES.Q要使用 notification full screen intents.
USE_SIP:允许应用程序使用 SIP 服务。
VIBRATE:允许访问振动器。
WAKE_LOCK:允许使用 PowerManager WakeLocks 来防止处理器休眠或屏幕变暗。
WRITE_APN_SETTINGS:允许应用程序编写 apn 设置并读取现有 apn 设置的敏感字段,如用户和密码。
最后笔者收集整理了一份Flutter高级入门进阶资料PDF
以下是资料目录和内容部分截图
里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
最后笔者收集整理了一份Flutter高级入门进阶资料PDF
以下是资料目录和内容部分截图
[外链图片转存中…(img-8eNofazo-1714815729224)]
[外链图片转存中…(img-XitR22E2-1714815729225)]
里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。
[外链图片转存中…(img-iEgTweox-1714815729225)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!