以下是OPPO公司最近几年的部分面试题,八股精对题目进行了分类和整理。
计算机网络题目
-
HTTPS相比于HTTP有哪些优势,以及HTTPS是如何保证安全性的? (2024年)
-
一个数据包在局域网中是怎么找到目的地址的 (2024年)
-
请简述WebSocket和HTTP的区别 (2024年)
-
能否简单介绍一下你对网络七层模型的理解? (2025年)
-
请详细讲讲TCP的TIME_WAIT状态 (2025年)
【更多:68道计算机网络题目】
数据结构和算法题目
-
去西藏游玩,路旁给定景点数n,每次可以游玩1~2个景点,且不可以回头,计算有多少种游玩方法 (2023年)
-
给定字符串s以及子串a和b,子串a和b的首字母大写以保证它们不会重叠,求字符串s中包含子串a和b的最大数量 (2024年)
-
在回合制攻击场景中,给出回合数n,基础攻击力a,连击伤害b。每轮回合,攻击BOSS一次,BOSS攻击我一次。每次攻击BOSS,增加一次连击,攻击boss伤害为a + 连击次数 * b;每次BOSS攻击我,可能发生闪避,如果闪避失败,连击次数清零。给出n、a、b以及使用o、x表示每回合我是否闪避的字符串(o代表闪避,x代表失败),求最终攻击的总伤害。 (2023年)
-
输入三个整数a、b、c,求它们的最小公倍数 (2022年)
-
实现长字符匹配逆序短字符,遇见 * 默认匹配,编写一个函数 findStr,输入为长字符串 str 和短字符串 mod,返回长字符中第一次匹配完成的下标 (2022年)
【更多:208道数据结构和算法题目】
数据库系统题目
-
给定一个包含 id 和用户名两个字段的表,当数据过多时,如何优化使用 id 查询用户名的效率 (2022年)
-
请解释MVCC(多版本并发控制)的原理 (2024年)
-
请描述RocksDB的架构、读写流程和Compact机制 (2024年)
-
数据库为什么要建立索引,建立索引解决了什么问题 (2024年)
-
什么时候使用或不使用索引,表数据量小需要使用索引吗,性别字段使用索引吗 (2024年)
【更多:73道数据库系统题目】
Java题目
-
请介绍你所了解的锁 (2024年)
-
HashMap 是否安全,若不安全请说明原因,并介绍保证安全的方法,如 synchronizedXXX 以及 ConcurrentHashMap,同时说明 ConcurrentHashMap 获取全局属性时存在的问题及优化方法 (2022年)
-
Java内存分哪几种,分别的作用是什么 (2023年)
-
如何判断一个对象是否为垃圾 (2025年)
-
请列举 JVM 的一些运行参数 (2022年)
【更多:284道Java题目】
操作系统题目
-
查看系统进程时显示界面包含什么内容 (2024年)
-
如果只有一个处理器核,系统是如何运行多个进程的 (2023年)
-
请说明进程调度的方法 (2025年)
-
是否了解过内核 (2024年)
-
为什么物理内存不够时程序可以很大,什么是缺页中断,操作系统会做什么 (2024年)
【更多:109道操作系统题目】
Spring Boot题目
-
简述Spring Boot的特点 (2024年)
-
配置文件是否用的是yml格式,有没有用其他格式,yml格式有什么好处 (2024年)
-
拦截器是如何实现的,在项目中的应用有哪些 (2025年)
-
谈谈对 Spring 和 Spring Boot 的理解,AOP 编程具体有哪些元素 (2025年)
-
Spring Boot中是否解决过跨域问题,如何解决的 (2024年)
【更多:12道Spring Boot题目】
计算机组成原理题目
-
请介绍DMA驱动内容 (2025年)
-
计算机为什么采用二进制 (2024年)
-
请说明具体的CPU设计难点有哪些 (2025年)
-
在项目中进行DMA数据搬运时,如果CPU干预会出现什么情况 (2025年)
-
有没有学过微机原理和数电模电 (2025年)
【更多:6道计算机组成原理题目】
软件工程题目
-
说明日常的开发流程,以及如何进行测试代码 (2025年)
-
你如何理解数据开发这个岗位? (2024年)
-
请阐述项目技术选型的思路,并挑选一个点详细讲解 (2025年)
-
日志怎么分级,分别在什么情况下会用INFO、WARN、ERROR级别 (2024年)
-
发现WARN和ERROR级别的日志会怎么去处理 (2024年)
【更多:11道软件工程题目】
Linux题目
-
请介绍文件系统,包括补充外设文件、链接文件,以及软硬链接的区别和硬链接不能跨分区的原因 (2022年)
-
Linux操作系统在设备树之前是如何管理设备的 (2024年)
-
Linux内核的preempt - RT补丁是如何实现中断线程化的 (2025年)
-
dtb文件是如何加载进内核的 (2024年)
-
请介绍Linux体系结构和系统架构,以及用户态与内核态的切换 (2022年)
【更多:32道Linux题目】
MySQL题目
-
请写出MySQL更新一条语句的写法 (2022年)
-
RR 隔离级别实现原理,它是如何解决不可重复读的 (2022年)
-
哈希索引和B+树索引各自的使用场景是什么 (2024年)
-
请说明分页查询的实现方式 (2023年)
-
什么是外键,MySQL是否支持外键 (2022年)
【更多:87道MySQL题目】
Redis题目
-
Redis有哪几种高可用部署方式 (2024年)
-
RabbitMQ和Redis分别适用于什么样的场景 (2022年)
-
Redis 的锁有哪些 (2024年)
-
当Redis内存满了,应该如何处理 (2024年)
-
如何处理Redis中的大key (2024年)
【更多:61道Redis题目】
Spring题目
-
你熟悉什么框架,介绍一下Spring的AOP (2022年)
-
若存在两个切面,如何控制它们之间的顺序 (2023年)
-
Spring 中声明式事务的方法有哪些 (2024年)
-
请阐述Spring AOP的具体实现方式 (2023年)
-
Bean的生命周期有哪些阶段 (2024年)
【更多:15道Spring题目】
系统架构题目
-
前后端的交互怎么设计的 (2023年)
-
如何利用分布式或多线程优化服务端,以及具体的实现方式 (2024年)
-
如何对一整个服务进行性能优化 (2024年)
-
第二个项目里的高并发情况是怎样的,你是怎么做的? (2022年)
-
请介绍搜广推架构相关的内容 (2024年)
【更多:20道系统架构题目】
行为面试题题目
-
工作地点(base地)在哪里 (2025年)
-
请介绍一下你的绩点和排名情况 (2024年)
-
本科的专业,对你学习计算机有什么帮助吗 (2025年)
-
本科期间是否参加过项目或者比赛? (2025年)
-
请说明你的籍贯,是否为独生子女 (2022年)
【更多:361道行为面试题题目】
C++题目
-
简述 C++ 中 new 和 delete 的区别 (2023年)
-
你常用的现代C++版本是哪个,有哪些新特性 (2023年)
-
请阐述对C++指针和内存管理的了解 (2024年)
-
STL有几大组件 (2024年)
-
C++编译分为哪几个阶段 (2024年)
【更多:67道C++题目】
Python题目
-
简述zip函数的功能和特点 (2024年)
-
请说明在Python中使用deepcopy和切片两种方式实现列表深拷贝 (2023年)
-
在Python中如何进行字符串切分 (2024年)
-
请讲讲Python如何用切片反转一个列表 (2023年)
-
在Python中,reshape和transpose的区别是什么 (2022年)
【更多:19道Python题目】
JavaScript题目
-
所有事件都有冒泡属性吗 (2024年)
-
请说明如何改变this的指向 (2024年)
-
讲一下Promise原理,若要手写一个Promise该如何实现 (2023年)
-
简述代码分割 (2025年)
-
请详细说明 class 类和原型链 (2023年)
【更多:55道JavaScript题目】
设计模式题目
-
请介绍单例模式的概念和实现方式,并说明其优缺点 (2024年)
-
请阐述工厂模式的具体内容 (2022年)
-
什么是工厂模式,在项目中如何应用 (2024年)
-
单例模式的几种实现方式是什么,解决的是什么问题,什么场景下会使用单例模式 (2024年)
-
如何解决策略模式中的类爆炸问题 (2025年)
【更多:10道设计模式题目】
Vue题目
-
请讲下路由配置 (2024年)
-
请对比Vue Router的hash模式和history模式 (2025年)
-
请阐述 Vue 3 的一些原理 (2023年)
-
为什么vue3更加支持TypeScript (2024年)
-
Vue生命周期有哪些阶段,各自有什么作用 (2024年)
【更多:18道Vue题目】
网络安全题目
-
为什么非对称加密和对称加密要一起使用 (2024年)
-
项目中用户鉴权和授权是如何实现的 (2025年)
-
HS256和另一个加密算法(未提及具体名称)有什么区别 (2025年)
-
请阐述csrf漏洞原理以及防护手段 (2024年)
-
根据给定的目录跨越漏洞的PoC数据包,使用Python编写exp(不允许使用编译器) (2024年)
【更多:7道网络安全题目】
软件测试题目
-
请描述一下软件测试的完整流程,从测试计划开始到测试报告结束 (2024年)
-
你是怎么学习测试的 (2024年)
-
当显示支付成功,但查看余额金额未减少时,如何排查问题 (2024年)
-
请设计短视频平台(如抖音)播放功能的测试方案 (2025年)
-
请设计微信发红包的测试用例 (2022年)
【更多:58道软件测试题目】
CSS题目
-
请列举css中单位有哪些 (2023年)
-
如何让上述居中的圆隔段时间转一圈,用CSS实现 (2022年)
-
使用过的css单位有哪些,说明rem的原理,给width设置100vh是否可行 (2024年)
-
请说明css动画和js动画的区别 (2023年)
-
请解释 rem 和 em 的概念 (2024年)
【更多:16道CSS题目】
前端工程化题目
-
sass-loader的作用是什么,会生成什么 (2023年)
-
列举页面性能优化的方式和调优工具 (2022年)
-
项目的移动端适配是如何实现的 (2022年)
-
浏览器性能调试的API有哪些? (2023年)
-
请说明flex布局如何实现换行 (2022年)
【更多:40道前端工程化题目】
Spark题目
-
请介绍Spark的新特性AQE和DPP (2022年)
-
请比较Spark和Hadoop的区别 (2023年)
-
Flink和Spark Streaming的区别是什么 (2024年)
-
请说明Spark数据倾斜发生的原因及对应的解决方案 (2022年)
-
如何从是什么、为什么、怎么解决这几个方面回答Spark/Hive数据倾斜问题 (2023年)
【更多:6道Spark题目】
数据仓库题目
-
简述数仓分层 (2025年)
-
维度建模有几种模型 (2023年)
-
谈一谈对数仓的理解,为什么要做数据仓库 (2023年)
-
平时工作中数据仓库有几层,每层如何建表 (2025年)
-
请简述数据仓库的关系建模和维度建模。 (2022年)
【更多:14道数据仓库题目】
微服务题目
-
各个服务模块之间怎么进行调用? (2023年)
-
请介绍项目中用到的分布式锁 (2022年)
-
在流量突然变得很大时,使用Dubbo会有什么问题 (2024年)
-
有没有了解过熔断降级的一些技术手段 (2022年)
-
你们采用的是微服务架构吗?如果要设计一个类似淘宝的系统,你会如何划分微服务 (2022年)
【更多:16道微服务题目】
消息队列题目
-
消息队列如何保证信息有序消费,如何保证信息不丢失 (2025年)
-
如何保证消息队列的顺序消费 (2024年)
-
Kafka如何保证数据不丢失 (2024年)
-
请说明缓存的实现方式,消息队列的作用以及与其他方式相比的优势 (2023年)
-
请谈谈你对消息的理解,以及Kafka的用途、优点和缺点,还有其在日志方面的应用 (2022年)
【更多:20道消息队列题目】
RPC题目
-
展开讲讲你做的这个 RPC 框架 (2024年)
-
RPC和开源框架有什么不同,以及RPC的难点和优化方向 (2023年)
-
要实现一个RPC框架,核心要实现的一些基础点是哪些 (2022年)
-
简述 RPC 的原理 (2024年)
-
为什么要自定义传输协议,直接使用HTTP的意义是什么? (2022年)
【更多:6道RPC题目】
三高架构题目
-
如何判断商品能否被购买 (2022年)
-
请描述秒杀场景的实现思路 (2024年)
-
你是如何实现高并发下防止超卖的,并发量是多少 (2022年)
-
在秒杀项目的高并发场景下,你是如何解决问题的? (2022年)
-
秒杀项目高并发的技术处理,以及库存方面的处理方法有哪些 (2022年)
【更多:6道三高架构题目】
Web前端开发题目
-
请说明 SSO 单点登录的实现方式 (2024年)
-
软件工程专业中你熟悉并喜欢哪些课程?你熟悉数据结构、计算机网络、操作系统、数据库中的哪一个?请讲解网络分层模型,项目主要使用了网络分层模型中哪几层的功能?请讲解输入URL到浏览器的过程 (2022年)
-
请说明骨架屏的实现原理 (2025年)
-
js中除了定时器的动画,还有哪些动画方式 (2023年)
-
请说明基本数据类型和引用数据类型区别 (2023年)
【更多:36道Web前端开发题目】
基础编程练习题目
-
求mex (2025年)
-
已知数组陡峭值定义为两个相邻的数之差的绝对值,重新排列数组,使得整个数组每两个相邻的数的差的绝对值之和最大,并输出重新排列后的数组 (2025年)
-
OPPO后端开发笔试的第二道编程题,在暴力模拟的基础上进行优化,请编写代码实现 (2025年)
-
判断“好选择”个数 (2025年)
-
判断剪刀石头布 (2026年)
【更多:10道基础编程练习题目】
测试理论与基础题目
-
你觉得你的用例覆盖率如何 (2024年)
-
功能测试、兼容性测试、界面测试的区别是什么 (2024年)
-
你对测试的理解是什么 (2024年)
-
请阐述你对测试开发岗位的理解 (2022年)
-
谈谈对测试开发的看法 (2022年)
【更多:5道测试理论与基础题目】
性能测试题目
-
是否做过大型的性能优化 (2022年)
-
请说明性能优化的指标 (2022年)
-
压测做到了多少 (2024年)
-
若要对一个网站进行压测,测试不同访问量下网站的性能,应如何设计测试 (2024年)
-
使用JMeter压测一个接口,无论如何增加线程提高并发量,永远只返回同样数量的响应,是什么原因导致的 (2024年)
【更多:11道性能测试题目】
项目经验题目
-
讲述项目中遇到的比较有挑战性的问题,说明解决方法,并探讨是否有更好的解决方案 (2025年)
-
你编写测试脚本有什么习惯 (2023年)
-
如果重新做这个项目,你会怎么做 (2024年)
-
这个项目最终有发表论文吗,发表在什么平台上? (2025年)
-
请介绍一个实习项目的背景以及你在项目过程中所做的工作 (2024年)
【更多:185道项目经验题目】
程序设计题目
-
解释进程、线程和协程的区别 (2024年)
-
请说明程序和进程的关系,并谈谈你对协程的了解 (2024年)
-
能否解释一下你对面向对象编程和面向过程编程的理解? (2025年)
-
多态的概念是什么,重载和重写有什么区别? (2025年)
-
面向过程和面向对象的区别是什么? (2024年)
【更多:6道程序设计题目】
系统设计题目
-
信息发送失败,如何在不收集用户较多信息的前提下确定是手机问题还是信号塔的问题 (2022年)
-
请说明外卖系统的权限模块如何设计 (2024年)
-
将算法部署到手机并封装成SDK,出现各种问题该怎么办 (2025年)
-
oppo大厦共30层,有12个电梯,如何设计一个电梯管理系统,以保证整个流程的运转效率最高 (2025年)
-
如何实现热榜接口的逻辑 (2023年)
【更多:8道系统设计题目】
人工智能题目
-
深度学习是否可以用幂级数来拟合待学习的函数,并说明理由 (2022年)
-
请讲解MMOE、PLE、ESMM模型 (2024年)
-
请阐述Transformer架构模型的优化方法 (2024年)
-
请介绍一下项目中使用的BERT模型结构 (2023年)
-
为什么你觉得大模型是提效工具 (2024年)
【更多:161道人工智能题目】
安卓开发题目
-
Handler的作用是什么 (2023年)
-
Handler的作用是什么 (2023年)
-
如何解决过度渲染问题 (2022年)
-
请简述IntentService相关内容 (2024年)
-
对于Kotlin这种语言的看法 (2023年)
【更多:37道安卓开发题目】
大数据题目
-
请介绍Flink的checkpoint机制,包括其作用和底层实现原理 (2022年)
-
读取数据之后怎样去探查数据里面是否有异常数据? (2023年)
-
请说明数据可视化分析维度和词云分析的重点 (2023年)
-
自动化归因这个产品功能你认为还有什么优化点? (2022年)
-
Hive的数据类型有哪些 (2023年)
【更多:15道大数据题目】
计算机视觉题目
-
真实图像去噪该怎么做,是否了解高光谱图像的噪声来源机理 (2025年)
-
是否了解用于计算机视觉的vision transformer等transformer模型 (2024年)
-
请介绍 OpenGL ES (2024年)
-
如何用传统方法识别脸上的痣 (2025年)
-
传统的去噪方法有哪些,如BM3D、WNNM (2025年)
【更多:6道计算机视觉题目】
嵌入式开发题目
-
有没有在单片机上进行过开发 (2025年)
-
请说明RISCV与ARM的区别 (2024年)
-
请解释大端序和小端序的概念 (2024年)
-
请介绍你熟悉的内核模块(如pinctrl、i2c) (2025年)
-
简述Canvas原理 (2023年)
【更多:14道嵌入式开发题目】
API开发题目
-
若不使用protobuf,以Java和C++为例,如何实现跨平台的跨语言调用? (2022年)
-
如何实现JWT,JWT的格式是怎样的 (2025年)
-
为什么Protobuff比Json快? (2022年)
-
请介绍JWT (2024年)
-
请说明正向代理和反向代理的区别 (2024年)
【更多:10道API开发题目】
刷更多面试真题,上八股精网站