Android
安卓系统中各镜像介绍 www.cnblogs.com/schips/p/in…
你应该知道的android虚拟机 www.jianshu.com/p/bea27d2f0…
前端测试
APP应用测试方法以及测试思路 zhuanlan.zhihu.com/p/82857339
浅谈自动化测试工具 Appium testerhome.com/topics/1131…
UIAutomator2.0详解(入门篇) blog.csdn.net/daihuimaozi…
Selenium的使用方法简介 cloud.tencent.com/developer/a…
Selenium WebDriver(一) www.jianshu.com/p/1b63c5f3c…
Web UI自动化测试之元素定位 segmentfault.com/a/119000003…
Selenium之unittest测试框架详谈及实操 cloud.tencent.com/developer/n…
Robot Framework官方教程 www.jianshu.com/p/c3a9d20db…
微信小程序技术原理分析 zhaomenghuan.js.org/blog/wechat…
H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试 www.cnblogs.com/jieperhaps/…
数据库
mysql在磁盘中以什么格式文件存储? blog.csdn.net/qq_33722836…
MySql数据在磁盘上到底是怎么存储的?被存储的数据怎么查找? zhuanlan.zhihu.com/p/351510903
存储
磁盘的分区、格式化、检验与挂载 blog.csdn.net/weixin_4852…
SDcardFS文件系统浅析(一) - sdcarfs历史 blog.csdn.net/pen_cil/art…
uboot的作用和功能 blog.csdn.net/yilongdashi…
ANDROID 中UID与PID的作用与区别 www.cnblogs.com/perseus/art…
Vold工作流程分析学习 www.cnblogs.com/bastard/arc…
Vold 流程介绍 blog.csdn.net/wangjun7121…
fuse文件系统简介
注:/sdcard目录对应/storage/emulated/0(挂载类型为fuse),其真实目录为/data/media/0(挂载类型为f2fs)。
FUSE是Android11上针对手机自带外部存储(如上图)进行管理的运行在用户空间的文件系统,其实谷歌在Android 7之前用的也是fuse,但因为性能原因替换为了sdcardfs,随着目前手机性能越来越高,用户隐私和权限成为了主要问题,因此谷歌重新优化fuse后将其带回了Android11,用于精细化管控APP对用户空间的访问权限。基本原理如下:
步骤1:黑色箭头所示,app通过VFS和kernel的FUSE框架向FUSE Daemon发出读写操作请求 步骤2:红色箭头所示:FUSE Daemon完成实际操作,判断目录&文件权限、通过VFS & F2FS访问EMMC/UFS存储器件 步骤3:蓝色箭头所示:FUSE Daemon通过FUSE向app反馈操作结果
FUSE分为三大模块: • FUSE内核模块(内核态):提供文件系统框架、被注册为/dev/fuse块设备,连接用户态FUSE Daemon与VFS。 其原理是创建队列、将VFS过来的读写请求放入到队列中,FUSE Daemon通过LibFUSE读取/dev/fuse队列中的数据,处理完成后再写入/dev/fuse将结果返回给内核FUSE->VFS->APP。 • LibFUSE模块(用户态):为避免呈现太多细节,LibFUSE作为中间层封装底层接口,避免FuseDaemon直接使用类似ioctl()的接口来访问内核FUSE注册的/dev/fuse设备。 • FUSE Daemon(用户态):FUSE文件系统的核心,用来管控用户空间权限,完成实际的数据读写(通过mount_namespaces绑定到以底层真实文件系统f2fs挂载的路径/mnt/pass_through/0/emulated来实现),其位于MediaProvider层。
面经
全栈测试笔记 www.cnblogs.com/uncleyong/p…
python+selenium面试题 www.cnblogs.com/szl6/p/9542…