酷宅入职培训
二阶段考核知识家庭管理功能一、首次打开 APP当我们第一次打开易微联 APP 时,会出现权限提示: 是否允许易微联向你发送通知(可同意或拒绝) 随后会出现两个功能指引: 新版配网 智能中心 二、家庭入口说明 APP 左上角显示当前家庭名称(默认:我的家) 点击后出现下拉框: 家庭列表 家庭管理按钮 💡 这里也可以切换家庭,选中的家庭后会出现蓝色 √ 三、家庭管理页面结构点击【家庭管理】进入页面,主要分为三部分: 我的家庭 共享家庭 添加 3.1 我的家庭展示用户自己创建的家庭。 3.1.1 家庭编辑点击选中的家庭进入编辑页面,包含三部分: 家庭名称 房间管理 家庭成员 3.1.2 家庭名称 修改家庭名称 默认显示当前名称 3.1.3 房间管理包含四个核心功能: 房间列表展示 展示房间列表 显示每个房间下的设备数量 添加房间 位于页面底部 输入房间名称即可保存 房间顺序排序 位于页面右上角 支持房间排序操作 房间编辑包含以下三个功能: 房间名称 修改房 ...
Agent
Agent
JVM面试题
面试官: JVM是怎么解决多线程new对象分配空间的 我:JVM 通过 TLAB(线程本地分配缓冲区)+ CAS + Eden 区分配,实现多线程高效创建对象,尽量避免锁竞争。 什么是 TLAB 每一个线程都有一小块“私有内存”在 Eden 里。线程创建对象优先在自己的 TLAB 里分配123Eden 区:[ TLAB-线程1 ][ TLAB-线程2 ][ TLAB-线程3 ][ 公共区域 ] TLAB 不够了怎么办 重新申请一个 TLAB(优先) 分配到共享 Eden(用 CAS) 面试官: 你刚才说线程私有的对象会分配到栈中,什么对象是线程私有的? 我: 满足以上三个条件的就是线程私有的对象: 只在方法内部使用 没有返回 没有赋值给共享变量 逃逸分析判断对象分配 什么是逃逸分析:逃逸分析(Escape Analysis)是 JVM 在运行时分析对象是否被外部访问的一种优化手段,用来判断对象的作用范围,从而决定是否进行栈上分配、锁消除、标量替换等优化。 1234567891011对象创建 ↓是否逃逸? ↓┌───────────────┬─ ...
场景面试题
面试官:线上一个服务突然CPU飙高,你会怎么排查 我: top 命令可以查看哪个进程CPU变高 top -p 查看进程中哪个线程的导致CPU变高 类似这样:1234PID USER %CPU COMMAND12345 xxx 300% java └── 12367 98% └── 12389 97% 将线程id(tid) 转成16进制 printf “%x\n” tid jstack > dump.txt 用jstack 查看进程的dump文件jstack 是 JDK 自带的一个命令行工具,可以把 JVM 里所有线程当前在干嘛,全部打印出来。 dump 就是JVM中某个进程中的执行情况 在dump文件中查看 线程在干嘛 grep -A 20 “nid=0x303f” dump.txtcpu升高的常见原因: 死循环 🔥 锁竞争 🔥 频繁GC 🔥 IO阻塞
JAVA复习篇
复习篇
MQ面试总结
.reveal-on-hover { background-color: #ccc; color: transparent; border-radius: 4px; padding: 4px 8px; transition: color 0.3s ease; cursor: pointer; } .reveal-on-hover:hover { color: #000; } 为什么要使用MQ点击展开 MQ的核心:解耦、异步、削峰 解耦:A系统发送数据到BCD三个系统,通过接口调用发送。如果此时E系统也想要这个数据呢?C系统不想要这个数据了呢?A系统的负责人直接崩溃,因为现在A系统跟其他各种乱七八糟的系统严重耦合在了一起。A系统产生了一条比较关键的数据,很多系统都需要A系统将这个数据发送过来。如果使用MQ,A系统将这条数据发送到MQ里去,哪个系统需要数据自己就去MQ里消费,哪个系统不需要这条数据了,就取消对MQ消息的消费。这样下来,A系统就不用去考虑给谁发送数据了,不需要维护这个代码,也不用考虑别的系统是否调用成功、失败超时等情况。核心思想就是舍弃 ...
MQ重复消费问题
MQ异常消费奇葩问题
Data Lake
数据湖
XXL-JOB
小怪兽的实习日记
小怪兽的实习日记
小怪兽的实习日记
SQL日记
SQL实习日记
jenkins
了解jenkins











