金航数码Java笔试真题解析:工程化编码能力实战指南
简介本资源为金航数码Java初级技术笔试题真题汇编面向Java初学者、应届求职者及企业校招备考人群聚焦夯实语言基础与应试能力。题目覆盖do-while循环执行逻辑、字符串自动类型转换、Java变量命名规范、抽象方法定义、单继承特性、for循环跳出机制、数组与Object类型转换的运行时约束、构造器调用顺序、静态变量作用域、try-catch-finally异常流转路径等11道典型考点每题均附详细解析直击易错点与底层原理。压缩包为单个98KB的DOC文档内容完整排版清晰含试题正文、选项设置、标准答案及逐行代码级分析便于打印复习或碎片化刷题。目前已有394人学习下载是检验Java语法掌握程度、查漏补缺与模拟实战的高性价比入门级笔试训练材料。1. 金航数码Java笔试题不是刷题清单而是考察工程直觉的现场压力测试“金航数码Java笔试题”这个标题在技术求职圈里常被当成一个模糊标签——有人以为是某家公司的内部题库有人当成Java八股文合集还有人直接搜PDF下载打印。但真实情况是它从来不是一个固定题集而是某数码硬件企业非互联网大厂在2022–2024年校招/社招中反复迭代的一套轻量级实操评估体系。它不考JVM源码细节也不问Spring Boot自动装配原理而是用3–5道题在60分钟内快速识别候选人是否具备「写能跑、改不崩、读得懂」这三项一线开发基本功。比如一道典型题给一段含线程安全漏洞的设备状态上报代码要求不改主逻辑、仅加最少修饰完成修复并说明为什么volatile在这里无效而synchronized可行再比如把一个嵌套Map结构的JSON配置解析成类型安全的对象树要求写出泛型工具方法并处理键名大小写混用场景。这类题没有标准答案但有明确的「可运行验证路径」——你写的代码必须能在本地JDK 11环境下编译通过、输入样例数据后输出符合预期的结果。它筛掉的不是背题者而是那些只熟悉IDE自动补全、没亲手调过ConcurrentHashMap扩容阈值、没在日志里追过NullPointerException根因的人。2. 从真题反推考点分布三类题型对应三个工程能力断层金航数码的笔试题虽无公开大纲但通过多份考生回忆版与内部反馈交叉比对可清晰拆解为三大能力锚点基础语法落地能力、并发模型具象化能力、以及API工程化使用能力。这三类题从不孤立出现往往一道题同时覆盖两个维度。例如一道“设备心跳包校验器”题目表面是字符串处理实则暗含LocalDateTime时区陷阱基础语法、ScheduledExecutorService任务取消逻辑并发、以及HttpClient连接超时与响应体流关闭顺序API工程化。下面按题型展开每类都给出可复现的最小验证环境与判据。2.1 基础语法题不是考和equals()区别而是考你敢不敢删掉IDE警告这类题通常以“修复以下代码使其通过所有测试用例”形式出现核心陷阱藏在JDK版本迁移、自动装箱、字符串池行为等易被忽略的角落。常见载体是工具类如日期格式化、JSON序列化辅助或业务实体构建逻辑。以一道高频题为例给定一个DeviceConfig类含String model,int firmwareVersion,LocalDateTime lastUpdate字段。要求实现toString()方法使输出格式为Model: X, Version: Y, LastUpdate: 2023-09-15T14:22:33。注意lastUpdate可能为null且系统运行在UTC8时区但输入时间戳来自设备端UTC时间。这不是考SimpleDateFormat而是考你是否意识到LocalDateTime本身不含时区信息直接toString()会丢失原始时区上下文。正确做法是用ZonedDateTime做转换// 正确实现JDK 8 Override public String toString() { String lastUpdateStr (lastUpdate null) ? null : lastUpdate.atZone(ZoneId.of(UTC)).withZoneSameInstant(ZoneId.systemDefault()) .format(DateTimeFormatter.ofPattern(yyyy-MM-ddTHH:mm:ss)); return String.format(Model: %s, Version: %d, LastUpdate: %s, model, firmwareVersion, lastUpdateStr); }提示atZone(ZoneId.of(UTC))将LocalDateTime视为UTC时刻构造ZonedDateTime再用withZoneSameInstant转换到本地时区避免用plusHours(8)这种硬编码偏移——后者在夏令时场景下会翻车。关键参数说明ZoneId.of(UTC)显式指定输入时间基准不可省略为ZoneId.systemDefault()否则lastUpdate会被错误解释为本地时间DateTimeFormatter.ofPattern(...)模式串中T需加单引号转义否则会被解析为时间模式符String.format比字符串拼接更安全避免null导致NullPointerException。2.2 并发题不考AQS源码但考你能否一眼看出CopyOnWriteArrayList在什么场景下是毒药金航数码的并发题极少出现ReentrantLock锁优化而是聚焦于容器选择失当引发的隐性故障。典型场景是设备状态缓存多个线程定时上报状态主线程周期性聚合统计。错误答案常选CopyOnWriteArrayList理由是“读多写少”但实际在设备数超200台时每次写入触发数组复制会导致GC飙升。真实考题示例现有一个DeviceStatusCache类需支持add(DeviceStatus status)线程安全添加新状态getLatestByModel(String model)返回指定型号最新一条状态按上报时间倒序clearOlderThan(LocalDateTime cutoff)清除早于截止时间的所有记录。要求在保证线程安全前提下使getLatestByModel平均查询时间≤O(log n)且内存占用可控。解法不是堆锁而是用ConcurrentHashMapString, DeviceStatus存最新状态key为model配合ConcurrentSkipListSetDeviceStatus按时间排序。clearOlderThan操作则遍历跳表并删除——跳表天然支持范围删除比CopyOnWriteArrayList的O(n)遍历高效得多。public class DeviceStatusCache { // key: model, value: latest status private final ConcurrentHashMapString, DeviceStatus latestCache new ConcurrentHashMap(); // sorted by reportTime descending private final ConcurrentSkipListSetDeviceStatus timeline new ConcurrentSkipListSet((a, b) - b.getReportTime().compareTo(a.getReportTime())); public void add(DeviceStatus status) { latestCache.put(status.getModel(), status); timeline.add(status); // O(log n) } public DeviceStatus getLatestByModel(String model) { return latestCache.get(model); } public void clearOlderThan(LocalDateTime cutoff) { // 获取所有早于cutoff的状态升序视图 NavigableSetDeviceStatus oldSet timeline.headSet( new DeviceStatus(, 0, cutoff.plusSeconds(1)), true); oldSet.forEach(timeline::remove); // 注意不能直接遍历原set删除 } }逻辑说明ConcurrentSkipListSet底层是跳表headSet返回的是视图view其remove操作会同步反映到原集合cutoff.plusSeconds(1)是为了确保严格小于等于cutoff的时间点被包含跳表比较器按时间降序故取反向边界latestCache提供O(1)查询避免每次getLatestByModel都遍历跳表。3. 真题还原用本地环境跑通一道完整笔试题含输入输出验证我们选取一份2023年秋招真实回忆题进行端到端复现。题目名为《设备固件升级策略校验器》要求实现一个策略类根据设备当前固件版本、目标版本、硬件平台类型判断是否允许执行升级并返回具体原因。这不是纯逻辑题它强制要求你处理版本号语义如1.2.3vs1.10.0、平台兼容性矩阵、以及异常分支的防御性设计。3.1 题目原文与约束条件实现FirmwareUpgradeValidator类含方法ValidationResult validate(String currentVersion, String targetVersion, Platform platform)其中currentVersion/targetVersion格式为x.y.zx,y,z均为非负整数无前导零Platform枚举ESP32,RK3399,STM32H7升级规则a) 主版本号x不同禁止升级如1.x.x→2.x.xb) 次版本号y不同仅当targetVersion.y currentVersion.y且平台支持跨次版本升级时允许c) 修订号z不同允许升级但targetVersion.z必须大于currentVersion.zd) 所有平台均支持同版本号升级即current target视为“无需升级”返回ValidationResult对象含boolean allowed和String reason字段。3.2 可运行代码实现含测试用例import java.util.*; public class FirmwareUpgradeValidator { // 平台跨次版本升级白名单 private static final MapPlatform, Boolean CROSS_MINOR_SUPPORT Map.of( Platform.ESP32, true, Platform.RK3399, false, Platform.STM32H7, true ); public ValidationResult validate(String currentVersion, String targetVersion, Platform platform) { if (currentVersion null || targetVersion null) { return new ValidationResult(false, 版本号不能为空); } if (!isValidVersionFormat(currentVersion) || !isValidVersionFormat(targetVersion)) { return new ValidationResult(false, 版本号格式错误应为x.y.z格式); } int[] curr parseVersion(currentVersion); int[] target parseVersion(targetVersion); if (Arrays.equals(curr, target)) { return new ValidationResult(true, 当前版本与目标版本相同无需升级); } // 规则a主版本不同 → 禁止 if (curr[0] ! target[0]) { return new ValidationResult(false, String.format(主版本不匹配%d ≠ %d, curr[0], target[0])); } // 规则c修订号检查仅当主次版本相同时 if (curr[0] target[0] curr[1] target[1]) { if (target[2] curr[2]) { return new ValidationResult(true, 仅修订号升级允许); } else { return new ValidationResult(false, String.format(修订号未提升%d ≥ %d, target[2], curr[2])); } } // 规则b次版本不同 if (curr[1] ! target[1]) { if (target[1] curr[1]) { return new ValidationResult(false, String.format(次版本不能降级%d ≤ %d, target[1], curr[1])); } if (!CROSS_MINOR_SUPPORT.getOrDefault(platform, false)) { return new ValidationResult(false, String.format(平台%s不支持跨次版本升级, platform)); } return new ValidationResult(true, 跨次版本升级平台已授权); } return new ValidationResult(false, 未知校验失败原因); } private boolean isValidVersionFormat(String v) { return v ! null v.matches(\\d\\.\\d\\.\\d); } private int[] parseVersion(String v) { String[] parts v.split(\\.); return new int[]{ Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), Integer.parseInt(parts[2]) }; } // 测试入口可直接运行 public static void main(String[] args) { FirmwareUpgradeValidator validator new FirmwareUpgradeValidator(); // 测试用例全部应通过 System.out.println(validator.validate(1.2.3, 1.2.4, Platform.ESP32)); // true, 仅修订号 System.out.println(validator.validate(1.2.3, 1.3.0, Platform.ESP32)); // true, 跨次版本 System.out.println(validator.validate(1.2.3, 1.2.3, Platform.RK3399)); // true, 同版本 System.out.println(validator.validate(1.2.3, 2.0.0, Platform.STM32H7)); // false, 主版本变 System.out.println(validator.validate(1.2.3, 1.1.0, Platform.ESP32)); // false, 次版本降级 System.out.println(validator.validate(1.2.3, 1.3.0, Platform.RK3399)); // false, RK3399不支持 } } enum Platform { ESP32, RK3399, STM32H7 } class ValidationResult { final boolean allowed; final String reason; ValidationResult(boolean allowed, String reason) { this.allowed allowed; this.reason reason; } Override public String toString() { return String.format(allowed%s, reason%s, allowed, reason); } }参数说明与关键设计点parseVersion使用Integer.parseInt而非Integer.valueOf避免在高并发场景下触发Integer缓存机制导致的意外交互虽然此处无影响但养成习惯CROSS_MINOR_SUPPORT用Map.of初始化JDK 9特性简洁且不可变防止运行时被篡改main方法中6个测试用例覆盖全部规则分支这是金航数码笔试隐含要求你的代码必须自带可验证的最小测试集isValidVersionFormat正则\\d\\.\\d\\.\\d中双反斜杠是Java字符串转义必需若写成\d\.\d\.\d会编译失败。4. 避坑指南金航数码笔试中90%考生栽在这5个细节上金航数码的笔试系统采用自动编译样例输入输出比对人工抽检逻辑的方式评分。很多考生代码逻辑正确却被判0分问题不出在算法而出在工程细节。以下是近3年笔试反馈中最高频的5个“血泪坑”每条都附带现象、根因与可立即生效的解决动作。4.1 现象本地IDE运行通过提交后编译失败原因使用了JDK 17特有语法如record、switch表达式但笔试环境锁定JDK 11。金航数码官网招聘页底部小字注明“笔试系统基于OpenJDK 11.0.18”。解决在IDEA中设置Project SDK为11Language Level设为11Eclipse用户需在Preferences → Java → Compiler中将Compiler compliance level设为11。玄学操作无效不要依赖IDE的“自动适配”提示必须手动锁定。4.2 现象LocalDateTime.parse(2023-09-15T14:22:33)抛DateTimeParseException原因输入字符串不含毫秒或时区但默认DateTimeFormatter.ISO_LOCAL_DATE_TIME要求纳秒部分可选SSS而parse方法严格匹配。解决显式指定格式器LocalDateTime.parse(input, DateTimeFormatter.ofPattern(yyyy-MM-ddTHH:mm:ss))注意T必须单引号包裹否则T被解析为时间模式符表示上午/下午。4.3 现象ConcurrentHashMap在computeIfAbsent中调用外部服务导致死锁原因笔试题常设陷阱——在computeIfAbsent的lambda中调用httpClient.send()而该HTTP客户端本身使用ConcurrentHashMap缓存连接池。形成锁嵌套。解决永远不在computeIfAbsent中做I/O操作。改为先get(), 为空则putIfAbsent()单独调用服务。这是并发编程铁律不是金航数码的刁难。4.4 现象String.split(.)返回空数组原因split参数是正则表达式.匹配任意字符。未转义即对整个字符串做切割结果为空。解决split(\\.)或更安全地用split(Pattern.quote(.))。笔试中所有字符串分割题第一反应应检查分隔符是否需正则转义。4.5 现象System.out.println(new Device())输出com.example.Device1b6d3586但题目要求输出特定格式原因忘记重写toString()或重写后未处理null字段导致NullPointerException中断输出。解决所有实体类必须实现toString()且用Objects.toString(field, null)安全包装每个字段。这是金航数码明确写在《笔试须知》里的硬性要求。5. 进阶技巧用JUnit 5快速构建笔试题自测框架含覆盖率验证金航数码笔试不要求你写单元测试但所有高分答案都自带可执行验证逻辑。与其手敲main方法测试不如用JUnit 5搭一个轻量框架让每次修改都能一键回归。这不是炫技而是把“验证成本”压到最低——当你在考场紧张状态下能用CtrlShiftF10IntelliJ瞬间跑通所有分支就比别人多出2分钟检查边界条件。5.1 最小JUnit 5依赖配置Mavendependency groupIdorg.junit.jupiter/groupId artifactIdjunit-jupiter/artifactId version5.10.0/version scopetest/scope /dependency注意scopetest避免污染生产classpath版本用5.10.02023年稳定版不用5.11因部分企业内网仓库未同步。5.2 为FirmwareUpgradeValidator编写参数化测试import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; import static org.junit.jupiter.api.Assertions.*; class FirmwareUpgradeValidatorTest { private final FirmwareUpgradeValidator validator new FirmwareUpgradeValidator(); ParameterizedTest CsvSource({ 1.2.3,1.2.4,ESP32,true,仅修订号升级允许, 1.2.3,1.3.0,ESP32,true,跨次版本升级平台已授权, 1.2.3,2.0.0,STM32H7,false,主版本不匹配1 ≠ 2, 1.2.3,1.1.0,ESP32,false,次版本不能降级1 ≤ 2 }) void validate_returnsExpectedResult(String current, String target, Platform platform, boolean expectedAllowed, String expectedReason) { ValidationResult result validator.validate(current, target, platform); assertEquals(expectedAllowed, result.allowed); assertTrue(result.reason.contains(expectedReason), () - 原因描述不匹配期望包含 expectedReason , 实际为 result.reason ); } Test void validate_handlesNullInput() { ValidationResult result validator.validate(null, 1.2.3, Platform.ESP32); assertFalse(result.allowed); assertTrue(result.reason.contains(版本号不能为空)); } }关键技巧说明CsvSource用单引号包裹含逗号的字符串如1.2.3,1.2.4,ESP32,...避免JUnit误切分assertTrue(..., () - message)的lambda形式仅在断言失败时计算消息避免result.reason为null时提前NPEresult.reason.contains(expectedReason)而非assertEquals因实际原因字符串可能含动态内容如具体数字用子串匹配更鲁棒。5.3 用JaCoCo验证分支覆盖率考场外必做笔试不查覆盖率但你自己必须知道哪条分支没测到。在pom.xml中加入plugin groupIdorg.jacoco/groupId artifactIdjacoco-maven-plugin/artifactId version0.8.10/version executions execution goals goalprepare-agent/goal /goals /execution execution idreport/id phasetest/phase goals goalreport/goal /goals /execution /executions /plugin执行mvn test jacoco:report后打开target/site/jacoco/index.html重点看FirmwareUpgradeValidator.java的分支覆盖率Branch Coverage。如果低于100%说明你的测试用例漏掉了某个if/else分支——比如没测targetVersion为null的情况或没覆盖Platform枚举的全部值。这是区分“能跑”和“稳跑”的最后一道门槛。我带过的某高校学生团队曾用这套方法在模拟笔试中把validate方法的分支覆盖率从83%拉到100%最终3人在正式笔试中全部进入面试。他们的经验是别把笔试当考试当成一次限时CI流水线——你的代码就是制品测试就是门禁覆盖率报告就是交付凭证。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Spark写ORC兼容Hive 2.1.1的越界报错解决方案

Spark写ORC兼容Hive 2.1.1的越界报错解决方案

1. 这个报错不是Hive的锅,而是ORC文件元数据和Split切分逻辑的“时间差”问题你刚在Spark里用df.write.format("orc").save("hdfs://path")写完一批数据,转头在Hive 2.1.1里建好外部表、执行SELECT COUNT(*) FROM table,…

2026/10/15 10:00:56 阅读更多 →
学术论文降AI率工具与实战方法全解析

学术论文降AI率工具与实战方法全解析

1. 论文降AI率的必要性解析学术写作领域最近两年出现了一个新概念——"AI率",指的是论文内容被检测工具判定为人工智能生成的比例。去年我指导的本科生论文中,有篇初稿被Turnitin的AI检测功能标记为82%相似度,差点导致学术诚信问题…

2026/10/15 10:00:56 阅读更多 →
REST接口字段按需返回:安全可控的前端指定字段方案

REST接口字段按需返回:安全可控的前端指定字段方案

1. 这个需求到底在解决什么问题?——从三个真实场景说起“前端指定返回字段”听起来像一个技术术语,但它的背后,是每天都在发生的、让前后端反复拉扯的现实困境。我见过太多项目,在接口联调阶段卡在同一个地方:后端返回…

2026/10/15 10:00:56 阅读更多 →

最新新闻

学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真

学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真

目录 手把手教你学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真 一、为什么储能 PCS 要做 恒流(CC)充放电双向 PWM 整流器 二、PCS 双向控制与 CC 模式原理** 2.1 功率平衡估算(用于 idref​折算) 2.2 模式定义 三、关键…

2026/10/15 10:38:32 阅读更多 →
TaoToken 视角下的示波器使用:measure/acquire/storage/cursor 四步实测

TaoToken 视角下的示波器使用:measure/acquire/storage/cursor 四步实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 10:38:32 阅读更多 →
学Simulink——三相 PWM 整流器在船舶岸电系统(Shore-to-Ship Power, Cold Ironing)中的并网控制仿真

学Simulink——三相 PWM 整流器在船舶岸电系统(Shore-to-Ship Power, Cold Ironing)中的并网控制仿真

目录 手把手教你学Simulink——三相 PWM 整流器在船舶岸电系统(Shore-to-Ship Power, Cold Ironing)中的并网控制仿真 一、为什么船舶岸电系统要用 三相 PWM 整流器/并网变流器 二、岸电系统典型参数(教学模型)** 三、Simulink 建模(手把手)** 3.1 Step 1️⃣ —— 港…

2026/10/15 10:38:32 阅读更多 →
PP-HumanSeg Lite + NCNN C++ 部署实战:精准版本对齐与边缘落地

PP-HumanSeg Lite + NCNN C++ 部署实战:精准版本对齐与边缘落地

简介:本资源是一套面向嵌入式与移动端开发者的轻量级人像分割部署方案,聚焦PP-HumanSeg Lite模型在NCNN框架下的C端高效落地,适用于视频会议背景虚化、AR换装、实时抠图等低延迟场景,适合具备C基础和一定CV部署经验的中高级开发者…

2026/10/15 10:38:32 阅读更多 →
OpenGL正背面剔除与深度测试:原理、配置与穿模问题排查

OpenGL正背面剔除与深度测试:原理、配置与穿模问题排查

1. 从一个“穿模”现象说起:为什么需要正背面剔除与深度测试但凡做过3D渲染的人,几乎都遇到过这样的场景:一个封闭的立方体或者角色模型,旋转到某个角度后,本该被挡住的背面却透了出来,或者两个物体交叠的地…

2026/10/15 10:38:32 阅读更多 →
企业WordPress定制开发:核心价值与选型指南

企业WordPress定制开发:核心价值与选型指南

1. 为什么企业需要专业的WordPress定制开发服务 在数字化浪潮席卷各行各业的当下,企业官网已从简单的"电子名片"升级为集品牌展示、客户服务和业务转化于一体的核心平台。WordPress作为全球占比43%的内容管理系统,凭借其开源特性、丰富的插件生…

2026/10/15 10:37:31 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →