面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
140 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

企业:腾讯140 道 · 点击进入查看参考答案

中等Java
xxx.java 是如何变成二进制文件运行的?
结论:.java源文件经javac编译为.class字节码二进制,再由JVM加载、链接、初始化后解释或JIT编译运行。要点:编译:javac将源码编译成平台无关字节码文件,含魔数、常量池、方法指令等二进制结构;类加载:J…
🎤 腾讯
中等前端
加载一个 HTML 的浏览器是怎么渲染页面的?
结论:浏览器渲染流程为:解析HTML构建DOM树;解析CSS生成CSSOM;合并为渲染树;布局(Layout)算几何位置;绘制(Paint)成像素;合成(Composite)到屏幕。原理:HTML经分词成DOM,CSS优…
🎤 腾讯
中等前端
浏览器 DOM 树和 Vue 里的虚拟 DOM 树关系?
结论:DOM树是浏览器真实渲染的节点树,虚拟DOM是Vue用JS对象模拟的轻量描述树,两者为映射关系。核心要点:1.DOM树由HTML解析生成,操作真实DOM昂贵;2.虚拟DOM是普通JS对象(如{tag, props,…
🎤 腾讯
中等前端
往列表插入元素,虚拟 DOM 树怎么处理?
结论:虚拟DOM通过同层diff算法对比新旧VNode,带key时可精准定位插入位置并更新真实DOM。处理流程:1. 生成包含新元素的VNode列表;2. patch阶段按key比对,无key则默认就地复用易导致状态错乱…
🎤 腾讯
中等前端
怎么用闭包实现单例设计模式?
结论:闭包保存实例引用来实现单例。要点(JS):1.外层函数内声明instance=null;2.返回内层函数,内判instance空则创建对象赋值;3.闭包使instance持久化,保证全局唯一且惰性初始化;4.示例:…
🎤 腾讯
中等前端
Diff 算法怎么操作的?
结论:前端Diff算法对比新旧虚拟DOM树,以最小代价更新真实DOM,核心是同层比较与key优化。操作:以React为例,1.Tree Diff:跨层移动极少,直接按层级比较,不同层则销毁重建;2.Component D…
🎤 腾讯
中等前端
JS 怎么改变函数作用域?
结论:JS改变函数作用域(即this绑定)可用call/apply/bind显式指定,或箭头函数继承词法作用域。方式:1) fn.call(obj, arg)和fn.apply(obj, [args])立即调用并绑定th…
🎤 腾讯
中等前端
JS 中的闭包(闭包是什么?原理?)
结论:闭包是函数与其词法环境的组合,使内部函数可访问定义时外层变量,即使外层函数已返回。原理:JS采用词法作用域,函数创建时保存作用域链;当内部函数被外部引用,外层变量对象不被GC回收。要点:1) 形成条件:嵌套函数且内…
🎤 腾讯
中等后端
缓存雪崩 / 穿透 / 击穿 概念与解决方案
结论:缓存雪崩指大量key同时过期或Redis宕机致请求直击DB;穿透指查询不存在数据绕过缓存打DB;击穿指热点key失效瞬间高并发落DB。解决方案:雪崩用过期时间加随机值、Redis集群高可用、限流降级;穿透用布隆过滤…
🎤 腾讯
中等后端
怎么解决消息重传问题?
结论:解决消息重传核心是消费端幂等性与去重。要点:1.幂等设计:用唯一键如订单号做数据库唯一索引,重复插入忽略或更新不影响结果;2.去重表:消费前记录消息ID于Redis或DB,已处理则跳过;3.版本号控制:带版本更新,…
🎤 腾讯
中等后端
怎么做消息幂等性处理?
结论:消息幂等性需保证重复消费无副作用,核心唯一标识与去重。要点:消息带全局唯一ID(UUID或业务单号),消费前查去重表或Redis;数据库唯一索引防重插;乐观锁带版本号更新;状态机约束(如订单待支付->已支付,重复忽…
🎤 腾讯
中等后端
DDD 是什么?聚合根、实体解释
结论:DDD是领域驱动设计方法论,聚合根管理聚合一致性边界。原理:DDD以业务域为核心,划分限界上下文,用通用语言建模。实体(Entity)有唯一标识ID,生命周期内属性可变,如用户User;值对象无ID,靠属性判别,如…
🎤 腾讯
中等操作系统
调用一个函数,说出调用函数的具体过程?
结论:函数调用涉及参数传递、控制转移和栈帧管理。具体过程:1.调用方根据调用约定(如cdecl)将参数压栈或从寄存器传入;2.执行call指令,将返回地址压栈并跳转到函数入口;3.被调函数建立栈帧:保存旧ebp,设置新e…
🎤 腾讯
中等操作系统
二进制文件加载进内存后的结构?
结论:二进制文件(如ELF)加载后按段映射到虚拟地址空间,包含代码段、数据段、堆、栈等。核心要点:1.结构:文件头描述入口和段表;.text代码段只读可执行;.data已初始化全局变量;.bss未初始化变量(加载时清零)…
🎤 腾讯
中等操作系统
死锁问题怎么解决?
核心方案:1.预防死锁:破坏四个必要条件,如资源静态分配(一次性申请所有资源)破坏占有等待,或规定全局加锁顺序破坏循环等待;2.避免死锁:银行家算法,分配前检查系统安全状态;3.检测与解除:定期检测资源图环路,若死锁则终…
🎤 腾讯
中等操作系统
条件变量使用过程中,虚假唤醒是怎么产生的?
结论:虚假唤醒指线程在无显式通知时被唤醒。产生原因:多消费者下信号唤醒多线程但资源已被取走;系统库实现允许偶尔 spurious wakeup;信号中断或超时返回。原理:条件变量需配合互斥锁和while循环检查谓词,因为…
🎤 腾讯
中等操作系统
通信方式上线程与进程有啥区别?
结论:线程间通信(同一进程内)可直接读写共享内存,进程间需借助内核或外部机制。要点:1.线程共享进程地址空间,通信通过全局变量、堆、共享数据,需互斥锁/条件变量同步;2.进程地址空间隔离,通信需用管道、消息队列、共享内存…
🎤 腾讯
中等操作系统
虚拟内存与物理内存的区别?为什么需要虚拟内存
结论:虚拟内存是进程逻辑地址空间抽象,物理内存是硬件RAM;虚拟内存通过映射隔离并扩展内存。要点:区别为虚拟内存每进程独立(如32位4GB),物理内存全局共享,经MMU页表映射;需要原因:1隔离提升安全稳定;2用磁盘sw…
🎤 腾讯
中等操作系统
Linux系统是如何收发网络数据包的?
结论:Linux收发网络包依赖内核协议栈,通过网卡驱动、中断、软中断及socket队列实现。收包:网卡DMA写帧到内存ring buffer,硬中断通知CPU,软中断逐层解析(链路层->IP->传输层)存入socket队…
🎤 腾讯
中等操作系统
了解写时复制技术吗?fork 的细节是怎么样的?
结论:写时复制(COW)是延迟拷贝技术,fork后父子共享页,写时触发副本。原理与细节:1)fork创建子进程时,内核复制父进程页表,物理页不复制,父子均映射只读;2)当父子任一方执行写操作,MMU捕获页错误,内核分配新…
🎤 腾讯
题目整理自公开面经,答案由校招宝自研生成,仅供参考