标签题目
并发相关面试题第 3 页
如何实现多线程?
如何实现多线程?这道腾讯牛客题的关键是围绕“多线程实现方式”讲清概念、机制、取舍和边界。实现多线程要讲创建线程、任务执行、同步共享状态和生命周期收尾。C/C++ 常用 pthread_create 或 std::thread,Java 可用 Thread、Runnable、ExecutorService,Go 用 goroutine 但它是 runtime 调度的轻量协程。
要线程安全用什么Map?
要线程安全用什么Map?这道腾讯牛客题的关键是围绕“Java 线程安全 Map 选择”讲清概念、机制、取舍和边界。Java 线程安全 Map 通常优先考虑 ConcurrentHashMap。它通过分段或桶级别并发控制、CAS、volatile 和局部锁降低全表互斥成本,比 Hashtable 或 Collections.synchronizedMap 在高并发读写下更适合。
io密集型和cpu密集型如何分配线程,多分配线程数量还是少?
io密集型和cpu密集型如何分配线程,多分配线程数量还是少?这道腾讯牛客题的关键是围绕“CPU 密集与 I/O 密集线程数配置”讲清概念、机制、取舍和边界。CPU 密集型任务线程数通常接近 CPU 核数或 cores+1,避免过多线程争抢 CPU;I/O 密集型任务有大量等待时间,可以按 cores*(1+wait/compute) 估算更高线程数,再用压测校准。
为什么高并发场景下用unfair锁而不是fair?
为什么高并发场景下用unfair锁而不是fair?这道腾讯牛客题的关键是围绕“高并发下非公平锁取舍”讲清概念、机制、取舍和边界。高并发场景常用非公平锁,是因为它允许刚到达的线程在锁释放瞬间直接竞争成功,减少严格排队带来的线程唤醒、挂起和上下文切换成本。它牺牲一部分公平性,换取更高吞吐和更低平均调度开销。
fair锁如何实现的?
fair锁如何实现的?这道腾讯牛客题的关键是围绕“公平锁实现机制”讲清概念、机制、取舍和边界。公平锁的核心是按等待顺序授予锁,通常通过同步队列维护排队线程。以 ReentrantLock 公平模式为例,线程获取锁前会检查队列中是否已有前驱节点,有前驱就不插队,获取失败后进入 AQS 队列等待唤醒。
进程线程区别?
进程线程区别?这道腾讯牛客题的关键是围绕“进程与线程区别及上下文切换”讲清概念、机制、取舍和边界。进程是资源拥有和隔离单位,线程是同一进程内的调度执行单位。同一进程的线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器上下文、线程局部存储和调度状态。
进程和线程有什么区别,线程优先级如何理解?
进程和线程有什么区别,线程优先级如何理解?这道腾讯牛客题的关键是围绕“进程线程区别与线程优先级”讲清概念、机制、取舍和边界。进程是资源隔离和拥有单位,线程是同一进程内的调度执行单位。同一进程线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器、TLS 和调度状态。线程优先级要放到调度器语境理解,Linux 普通线程受 CFS/nice 权重影响,实时线程受 SCHED_FIFO/SCHED_RR 优先级影响。
进程和线程有什么区别?
进程和线程有什么区别?这道腾讯牛客题的关键是围绕“进程与线程区别及上下文切换”讲清概念、机制、取舍和边界。进程是资源拥有和隔离单位,线程是同一进程内的调度执行单位。同一进程的线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器上下文、线程局部存储和调度状态。
进程间和线程间分别有哪些同步方式?
进程间和线程间分别有哪些同步方式?这道腾讯牛客题的关键是围绕“线程同步与进程同步方式”讲清概念、机制、取舍和边界。线程同步发生在同一进程共享地址空间内,常用 mutex、rwlock、condition variable、semaphore、barrier、atomic 和 futex;进程同步跨地址空间,常用命名信号量、文件锁、共享内存配进程共享 mutex、管道、消息队列和 socket。
Java 中实现多线程有哪些方式?
Java 中实现多线程有哪些方式?这道腾讯牛客题的关键是围绕“Java 线程与多线程实现方式”讲清概念、机制、取舍和边界。Java 实现多线程可以从 Thread、Runnable、Callable/Future、线程池和 CompletableFuture 等方式回答。更底层看,Java 线程通常映射到操作系统原生线程,由 JVM 负责创建、调度协作、栈管理和状态维护。
Java 线程是如何实现的?
Java 线程是如何实现的?这道腾讯牛客题的关键是围绕“Java Thread 到 OS 线程实现”讲清概念、机制、取舍和边界。现代 HotSpot 中 Java Thread 通常映射到操作系统原生线程,JVM 内部有 JavaThread/OSThread 等结构承接 Java 层 Thread 对象和 OS 调度实体。
Go 中主协程如何等待其他协程执行完再继续?
Go 中主协程如何等待其他协程执行完再继续?这道腾讯牛客题的关键是围绕“Go WaitGroup 等待 goroutine”讲清概念、机制、取舍和边界。Go 中主 goroutine 等待其他 goroutine 最常用 sync.WaitGroup:启动前 Add 任务数,每个 goroutine defer Done,主 goroutine 调 Wait 阻塞直到计数归零。需要错误传播和取消时用 errgroup.WithContext 更合适。
同一个对象中两个 synchronized 方法分别被两个线程调用时会发生什么?
同一个对象中两个 synchronized 方法分别被两个线程调用时会发生什么?这道腾讯牛客题的关键是围绕“同一对象 synchronized 实例方法锁竞争”讲清概念、机制、取舍和边界。同一个对象里的两个 synchronized 实例方法使用的是同一把对象 monitor 锁。两个线程分别调用同一对象的两个 synchronized 方法时会互斥,先获得锁的线程执行,另一个线程进入 BLOCKED 等待。
AQS 的核心原理和常见实现类有哪些?
AQS 的核心原理和常见实现类有哪些?这道腾讯牛客题的关键是围绕“AQS 同步框架”讲清概念、机制、取舍和边界。AQS 是 JUC 中构建同步器的基础框架,核心是用 volatile state 表示同步状态,用 CAS 修改状态,用 CLH 变体队列管理获取失败的线程。ReentrantLock、Semaphore、CountDownLatch 等都复用这套框架。
多用户并发 Agent 中,记忆模块如何做隔离并保证线程安全?
这题考察多用户并发 Agent 的状态边界设计:记忆必须按 tenant、user、session 或 conversation 隔离,外部化存储并避免进程内共享可变状态,同时用原子写入、锁、版本号和异步上下文传递保证并发安全。
Agent 多工具调度模块如何做冲突检测与解决?
这题考 Agent 多工具并发调度的工程治理,回答要说明冲突类型、预检查、执行中仲裁、补偿和审计闭环。
文档 AI 助手如何定义 MVP,并用上线指标指导迭代?
这题考文档 AI 助手的 MVP 定义和上线指标设计,回答要围绕文档场景、最小可用能力、用户采纳、质量评估和迭代闭环展开。
AI 智能创意功能如何为广告主生成文案和图片素材,并设计核心用户流程?
这题考广告主侧 AI 智能创意功能的产品流程设计,答案要覆盖需求输入、素材生成、编辑预览、合规审核、投放实验和效果反馈闭环。
Agent 项目选用 OpenAI Agents SDK 时,应如何和自研或开源框架做选型?
这题考 Agent 框架选型方法,回答重点是用任务复杂度、编排需求、工具集成、可观测性、评测、锁定风险、生态成熟度和迁移成本做理性比较。
Agent 服务中如何拆分模型调用、检索、审计落库和消息消费线程池,避免局部抖动拖垮全链路?
这题考 Agent 后端稳定性,不是普通线程池参数背诵。高质量回答要按任务类型隔离资源、设置队列和超时预算、做背压降级,并用指标证明局部抖动不会拖垮全链路。
AI 产品选型时,如何判断用自研模型、开源模型还是第三方 API,并说明选择理由?
这题考 AI 产品经理是否能把模型来源选择讲成业务目标、效果验证、数据风险、成本延迟、可控性和 fallback 的综合决策,而不是按热度报模型名字。
同题还出现在 1 个公司岗位
多 Agent 协作时,Agent 之间如何传递状态、消息和工具结果,并避免并发读写冲突?
这道题考察多 Agent 系统的状态建模、通信协议、工具结果传递和并发一致性设计。好答案不能停留在 Agent 之间互相发消息,而要区分临时对话消息、可持久化任务状态、不可变工具产物和需要事务保护的共享资源。回答边界应覆盖消息队列或事件总线、共享状态存储、编排器协调、版本号或乐观锁、文件和数据库写入隔离、幂等重试、冲突检测,以及如何用日志和压测证明没有丢消息、重复执行和覆盖写。
Agent 设计中为什么要区分自然语言对话状态和结构化执行状态,分别存什么?
这道题考察 Agent 状态管理的边界意识。高质量回答要把自然语言对话状态和结构化执行状态分开:前者服务于模型理解上下文、用户意图和交互语义;后者服务于工作流执行、工具调用、恢复、审计和一致性控制。两者相互映射但不能混成一大段聊天记录,否则系统会难以恢复、难以测试,也容易产生幻觉状态。
如何理解小爱同学这类 AI 助手产品的用户价值、核心场景和交互入口?
这题来自“小爱产品”的理解,且上下文提到手机端入口交互和终端展示,所以答案要围绕 AI 助手的产品本质:它不是单一 App,而是跨设备、跨系统能力的交互层。用户价值可以拆成三类:降低操作成本、连接多设备场景、提供个性化和主动辅助。核心场景包括手机系统任务、智能家居控制、信息查询与内容服务、车载/穿戴/音箱等多终端协同、无障碍和老人儿童场景。交互入口要按主动/被动、语音/触控、前台/后台分层:唤醒词、长按电源键或快捷键、桌面组件、锁屏、负一屏/搜索、耳机和音箱、车机、智能家居面板。终端展示不应只靠语音播报,而要有卡片、确认页、多轮澄清、执行反馈和可撤销机制。
如何通过数据分析量化美团单车潮汐效应,并为线下车辆调度提供更高效的策略建议?
这题考共享单车业务的数据建模和线下运营落地能力。好的回答要把潮汐效应量化成空间网格、时间窗口、OD 流向、车辆净流入净流出、供需缺口和可执行调度工单,而不是只描述早晚高峰现象。
OpenCL/GPU kernel 为什么要尽量减少分支,掩码写法如何影响 SIMT/SIMD 执行效率和有效吞吐?
这题考 GPU/OpenCL 高性能实现里的分支发散和掩码写法。高质量回答要说明 work-item 在 subgroup/warp/wavefront 内锁步执行,分支不一致会串行执行不同路径并屏蔽 inactive lane,从而降低有效吞吐。
AI 应用开发中的原子状态机是什么?如何用有限状态、原子转移和异常状态约束执行流程,避免状态错乱、重复执行和异常无法收敛?
这道题考察 AI 应用或 Agent runtime 的流程约束能力。原子状态机不是让大模型自由决定下一步,而是把执行拆成有限状态、受控事件和原子转移:每次转移都校验前置状态、写入持久状态、绑定幂等键或执行记录,再推进任务或恢复异常。它解决的是状态错乱、重复执行、异常恢复、并发竞争和流程无法收敛问题。好的回答要能讲出状态集合、转移表、异常状态、幂等、锁/CAS、step budget、可观测性和验证指标。
在电商推荐在线 serving 链路中,如何优化精排模型推理计算,并用 RT/P99、QPS、资源成本和线上指标验证收益?
这道题考察推荐在线 serving 中精排推理优化的工程能力。回答要同时覆盖模型、特征、服务、硬件和评估,不应只说压缩模型或加机器。
视频 AIGC 的多镜头与智能分镜调度能力,如何划分模型侧与产品侧交付边界,并设计可控参数、质量指标和异常兜底?
这题考视频 AIGC 产品经理能否划清模型能力、产品编排和用户控制之间的边界。好答案要讲清模型侧负责生成质量和多镜头一致性,产品侧负责工作流、参数控制、质量门禁和异常兜底,并用结构化分镜协议把两边衔接起来。
Agent 异步任务通过消息队列处理时,如何将处理结果与原请求关联,为什么不直接用数据库通信?
这题考 Agent 异步任务的工程链路。回答要讲 correlation id、状态表、幂等、回调、超时和消息队列与数据库的职责边界。
广告 Agent 中,主 Agent 下发投放或素材任务、子 Agent 执行并发现需要新增素材时,流程流转、状态管理和人工二次编辑应如何设计?
这题考广告 Agent 的产品流程设计。回答要讲主 Agent/子 Agent 分工、素材缺口发现、状态流转、人工二次编辑和 Agent 与 Workflow 的边界。
航旅排障智能体如何把航班、订单、改签和退款等诊断步骤编排成可回放工作流,并对高风险写操作做权限、确认和审计控制?
这题考场景化 Agent 系统设计。回答要讲航旅排障链路、Planner/Executor 通信、结果回传、权限确认、审计和误操作防护。
RTOS 相比裸机开发有什么优势?
这题考嵌入式系统架构取舍,回答要说出多任务、实时性、同步通信和维护性优势,同时承认资源开销。
驱动 probe 成功但设备仍异常,说明什么,如何排查?
这题考驱动 bring-up 排障思路,回答要说明 probe 成功只代表绑定和初始资源申请成功,不代表设备功能完全正确。
FreeRTOS 低功耗是怎么做的,进入低功耗模式后如何唤醒?
这题考实时系统低功耗设计,回答要讲清 tickless idle、进入睡眠前判断、外部唤醒源和唤醒后的 tick/外设恢复。
为什么要引入看门狗,程序卡死后如何结合寄存器或栈信息定位问题?
这题考看门狗设计和死机定位,回答要说明看门狗是故障恢复兜底,喂狗应由监督任务基于健康检查执行,并保存复位现场。
驱动里申请 GPIO 或中断一般调用哪些接口,为什么不能直接操作寄存器?
这题考内核资源管理意识,回答要说明 GPIO 和 IRQ 应通过 descriptor、设备树和 devm 接口申请,不能绕过 pinctrl/irqchip 直接写寄存器。
驱动中如何把内核内存拷贝到用户空间,需要注意什么?
这题考驱动用户拷贝安全,回答要说明必须使用 copy_to_user 等接口,检查长度和返回值,避免在原子上下文、持自旋锁或暴露未初始化数据。
Verilog 怎么写才能综合成 D 触发器?
这题考 RTL 时序模板,回答重点是用边沿触发 always 块、寄存器变量和非阻塞赋值描述 D 到 Q 的同步采样。
UVM 中有哪些 TLM 通信方法?
这题考验证组件之间的事务级通信,回答要区分点对点请求响应、阻塞/非阻塞传输和 analysis 广播。
SystemVerilog 中 fork/join、fork/join_any、fork/join_none 有什么区别?
这题考仿真并发控制,回答要说明父进程等待所有子进程、等待任一子进程或不等待的差异,以及剩余子进程如何收尾。
IMU/GPS 等传感器使用时要注意哪些误差和同步问题?
这题考 IMU/GPS 使用经验,重点是 bias、噪声、漂移、多路径、遮挡、坐标系、时间同步和融合验证。