以下是Shopee虾皮公司最近几年的部分面试题,八股精对题目进行了分类和整理。
计算机网络题目
-
描述点击一个网页按钮到完整响应的过程 (2025年)
-
用户如何保存Token (2025年)
-
说明UDP与TCP的应用场景 (2024年)
-
请简述HTTP中Post和Get的区别 (2024年)
-
TCP如何保证传输的可靠性 (2022年)
【更多:329道计算机网络题目】
数据结构和算法题目
-
给定一个数组,找出数组中满足左边的数都小于等于它,右边的数都大于等于它的所有数 (2024年)
-
实现旋转链表右移的功能 (2025年)
-
一个人写了个程序能把100G的文件压缩到1k,请问该如何实现 (2024年)
-
实现LRU缓存,请编写代码,并自定义链表节点,自行编写输入输出用例 (2024年)
-
如何找到单向链表中的倒数第k个数 (2025年)
【更多:462道数据结构和算法题目】
数据库系统题目
-
索引是否越多越好? (2025年)
-
某个事务中存在2条高频执行的查询语句,分别是SELECT A FROM table WHERE B<>10 AND C>10; SELECT A,B,C FROM table WHERE A<>50 AND B<>5 AND C <5。请针对这一场景设计索引 (2025年)
-
一张表有课程 ID 和课程成绩,编写一个 SQL 语句来得出每个课程的最高分数 (2025年)
-
使用索引的好处和缺点是什么?如果不考虑磁盘空间,索引的坏处是什么 (2025年)
-
优惠券如何进行分库分表 (2025年)
【更多:267道数据库系统题目】
Java题目
-
你对操作系统的内存有了解吗?假设一个JVM的Java进程中的一个线程由于OOM崩溃了,这个进程会发生什么 (2025年)
-
JVM中触发Full GC的情况有哪些 (2025年)
-
Java访问修饰符的范围是什么,在子类中的情况如何,除了常见的四种是否还有其他的 (2024年)
-
JVM运行时数据区由哪些部分组成 (2025年)
-
介绍垃圾收集三色标记 (2023年)
【更多:303道Java题目】
操作系统题目
-
请举例说明死锁的情况 (2025年)
-
请解释操作系统的用户态和内核态,以及在什么情况下会调用内核态 (2024年)
-
多进程通信的方式有哪些 (2025年)
-
对IO多路复用的理解是什么,如何做到IO多路复用 (2023年)
-
视频通话的视频数据是在用户态还是内核态,它们两个状态之间如何切换 (2025年)
【更多:164道操作系统题目】
Spring Boot题目
-
请介绍Spring Boot的底层原理 (2024年)
-
请阐述Spring Boot自动装配原理 (2024年)
-
模板模式在Spring Boot中有哪些应用 (2025年)
-
Spring Boot中有哪些设计模式,AOP和MVC分别使用了什么模式 (2025年)
-
简述Spring Boot用到了哪些设计模式 (2024年)
【更多:6道Spring Boot题目】
计算机组成原理题目
-
CPU的性能指标有哪些 (2025年)
-
请阐述内存和硬盘的区别。 (2024年)
-
请分析MESI协议的底层机制,并提出改进方案(可能指MOESI协议) (2025年)
-
浮点数在底层是如何表示的 (2024年)
-
两个二进制的1进行算术加法和逻辑加法的结果分别是什么 (2024年)
【更多:10道计算机组成原理题目】
软件工程题目
-
什么是CMDB (2025年)
-
生成Excel表的技术难点有哪些 (2024年)
-
接到一个需求后,应该怎么做 (2025年)
-
定时任务如何实现? (2024年)
-
流程回滚(异常处理)机制如何实现? (2022年)
【更多:18道软件工程题目】
Linux题目
-
查询某个文件某个关键字用到的命令是什么 (2025年)
-
Linux切换到内核要什么命令? (2024年)
-
详细介绍Linux I/O模块和文件系统 (2025年)
-
在 Linux 系统中如何查看进程 (2025年)
-
请介绍Linux内核态和用户态 (2024年)
【更多:51道Linux题目】
MySQL题目
-
新建一个从数据库时,数据同步的过程是怎样的 (2025年)
-
如何进行SQL多表联查 (2025年)
-
数据库分片是代码的逻辑分片还是MySQL底层自己的分片 (2024年)
-
水平分表有哪些方式 (2025年)
-
在MySQL中,查询语句select b from tab where a = xxx为什么没有走(a,b)索引 (2025年)
【更多:217道MySQL题目】
Redis题目
-
解释Redis主从同步 (2024年)
-
详细阐述Zet底层逻辑,说明选择跳表 + 哈希的原因 (2025年)
-
请说明字符串原子自增的API和分布式锁的API (2023年)
-
在agent项目中,setnx不能设置过期时间,如何设置? (2025年)
-
Sentinel和使用Redis这两种限流方式是怎么实现的 (2025年)
【更多:179道Redis题目】
Spring题目
-
AOP在哪些地方有应用 (2024年)
-
一个方法中只有中间某一段逻辑需要事务,如何实现 (2025年)
-
请介绍一下 Spring,为什么要用到 Spring,Spring 带来了什么便利,没有 Spring 该怎么办 (2024年)
-
AOP一般切点在什么地方 (2024年)
-
Bean的生命周期有哪些阶段 (2024年)
【更多:20道Spring题目】
系统架构题目
-
请说明对分布式理论的了解,并介绍CAP (2025年)
-
如何保证用户请求的幂等性,例如用户连点提交三次支付请求,需返回同样结果且后台只执行一次操作 (2023年)
-
服务器要接受一个文件名,然后在服务器本地读取该文件并将内容传输给客户端,具体过程是什么 (2025年)
-
缓存三剑客是什么 (2025年)
-
XXL - Job 是如何设计的 (2025年)
【更多:77道系统架构题目】
行为面试题题目
-
组是否是新的,处于探索阶段还是已经落地产出 (2025年)
-
双非本科生是否竞争力小点 (2025年)
-
你们对于实习生的要求是什么 (2025年)
-
在哪了解的虾皮? (2024年)
-
请对excel、sql、python、bi的掌握程度在1 - 10打分 (2022年)
【更多:147道行为面试题题目】
C++题目
-
复制构造函数和拷贝构造函数是否指同样的东西 (2024年)
-
列举C++11、14、17的特性,如auto、智能指针等 (2024年)
-
请手写实现shared_ptr (2025年)
-
stl的map有几种实现方式 (2025年)
-
请介绍C++中malloc的原理。假设电脑有8G内存,CPU为64位,执行malloc(10G)后会发生什么,为什么 (2024年)
【更多:49道C++题目】
Go题目
-
Go语言中panic怎么处理 (2025年)
-
Golang的panic和recover的作用及使用场景是什么? (2024年)
-
请说明 Go 语言中 channel 的使用场景 (2024年)
-
Go协程的recover怎么写,以及其具体用法是什么 (2025年)
-
使用 Go 的 channel 实现悲观锁和乐观锁,并实现 lock、unlock、trylock、lockwithtimeout、islock 等 API (2025年)
【更多:34道Go题目】
JavaScript题目
-
手写代码实现Promise (2023年)
-
请手写实现apply函数 (2025年)
-
请分析try catch块里的输出情况 (2024年)
-
在JavaScript中如何创建原型方法 (2024年)
-
Promise.resolve(1).reject(2)的结果是什么 (2025年)
【更多:140道JavaScript题目】
HTML题目
-
比较行内块元素和行内元素的区别 (2024年)
-
是否实现过 HTML5 新标签的兼容 (2024年)
-
重绘和回流的区别是什么? (2024年)
-
HTML5有哪些新标签? (2024年)
-
script 标签放在 header 里和放在 body 底部里有什么区别? (2024年)
【更多:7道HTML题目】
设计模式题目
-
请阐述观察者模式和策略模式的区别和应用场景 (2024年)
-
单例模式如何保证线程安全 (2025年)
-
简单实现发布订阅模式 (2023年)
-
简述工厂模式及简单工厂模式 (2024年)
-
如何实现单一事件原则 (2025年)
【更多:19道设计模式题目】
Git题目
-
多人协作开发时,在同一个分支上合并代码应该怎么做 (2025年)
-
自己和别人都测试过,别人1个月前就打算上线,自己刚改完打算明天上线,遇到代码冲突如何解决 (2025年)
-
阐述git克隆仓库、自己创建分支然后提交合并全过程用到的指令 (2024年)
-
是否使用过Git和GDB (2025年)
-
请简述git merge和git rebase的区别和应用场景 (2024年)
【更多:6道Git题目】
Docker题目
-
给出并发100,获取不同主机的docker pid和info并本地化到磁盘的大致代码思路 (2024年)
-
请谈谈对Docker的了解 (2024年)
-
请举例 docker 常用的命令,并详细解释 docker tag (2025年)
-
是否测试过项目中的bridge和docker自带的bridge之间能否串通 (2024年)
-
请说明使用Docker的原因 (2024年)
【更多:5道Docker题目】
React题目
-
请简单介绍下 React 前端框架 (2024年)
-
请介绍 useCallback 和 useMemo,这两个能否互换使用,它们的缺点是什么,是否看过它们的源码 (2025年)
-
列举常用的React Hooks并说明其使用场景 (2025年)
-
请列举 React 的性能优化方法 (2025年)
-
是否了解React的Suspence,其如何实现 (2024年)
【更多:22道React题目】
Vue题目
-
请阐述Vuex的源码和实现原理 (2024年)
-
Vue3能否监听到数组内的变化 (2025年)
-
Vue的MVVM是如何实现的 (2024年)
-
请阐述Vue3在设计上的特点 (2025年)
-
组件间通信的方式有哪些? (2024年)
【更多:18道Vue题目】
网络安全题目
-
请详细解释同源策略,并说明哪些 HTTP 的访问类型受同源策略限制 (2024年)
-
什么是SQL注入攻击,防范措施有哪些? (2024年)
-
是否进行过抓包,抓过哪些,使用什么工具抓包 (2024年)
-
在用户验证码登录后使用优惠券购买商品的场景下,可能出现漏洞的地方有哪些?针对高并发使用优惠券的情况,如何进行防护,具体方案是什么? (2024年)
-
任意文件读取漏洞有哪些扩大利用的方法?若可以进行文件写入操作,有哪些利用方法? (2024年)
【更多:44道网络安全题目】
软件测试题目
-
如何使用Postman,以及如何编写断言语句 (2023年)
-
在测试过程中进行了哪些维度的测试? (2024年)
-
设计测试用例时应从哪些方面进行思考,如何根据需求书来编写测试用例,需求书是如何确定的 (2024年)
-
为在 m×n 的图中找左上角到右下角最小路径和的题目设计测试用例 (2025年)
-
请讨论测试用例设计的技巧,强调使用等价类划分、边界值分析和场景覆盖等技术 (2025年)
【更多:50道软件测试题目】
ELK题目
-
如果Elasticsearch的最优结果都在一个节点上,应该如何处理 (2024年)
-
如何编写 Elasticsearch 的查询语句 (2025年)
-
请说明Elasticsearch的检索流程和索引过程 (2024年)
-
Elasticsearch是如何写入数据的,将一条商品数据写入会经历哪些过程? (2025年)
-
项目中是否使用过Elastic Search (2025年)
【更多:17道ELK题目】
Kubernetes题目
-
数十万个pod和数千个节点集群的性能瓶颈在哪个组件上 (2024年)
-
是否遇到过集群部署的问题 (2024年)
-
k8s中pod驱逐机制是什么 (2024年)
-
如何进行集群的更新 (2024年)
-
请简述Flannel和Calico的区别及原理 (2023年)
【更多:8道Kubernetes题目】
CSS题目
-
请完成相关的CSS样式设计 (2025年)
-
请说明CSS沙箱的实现方法 (2024年)
-
什么是 CSS 中的 BFC(块级格式化上下文)?列举触发 BFC 的条件(如 float、overflow:hidden 等),并说明 BFC 的应用场景(如解决浮动塌陷、边距重叠问题)。 (2025年)
-
如何实现CSS三栏布局,哪些浏览器不支持,如何添加间隔 (2025年)
-
请解释回流和重绘,以及如何避免它们 (2024年)
【更多:25道CSS题目】
TypeScript题目
-
使用TS编写Partial类型 (2024年)
-
使用TS编写returnType类型 (2024年)
-
请介绍你对TypeScript的了解 (2023年)
-
解释TypeScript中interface Omit及其包含的内容 (2024年)
-
请手写实现Pick类型工具 (2024年)
【更多:6道TypeScript题目】
前端工程化题目
-
请对比vite和webpack,并说明vite为什么更快 (2022年)
-
mock是什么,平常如何使用? (2024年)
-
说明如何封装公共组件 (2023年)
-
对比Vue和React的优劣 (2023年)
-
阐述Vue2和Vue3的区别 (2023年)
【更多:50道前端工程化题目】
数据仓库题目
-
表分桶优化后,表关联还有哪些其他优化方式 (2024年)
-
请详细拆解一个去重性能优化的需求,说明具体步骤 (2024年)
-
介绍湖仓一体架构,并说明为什么会出现数据湖的解决方案 (2024年)
-
请讲述一个看板的需求,说明建模的流程,以及是否关注过运营对这份数据的使用情况 (2024年)
-
请详细介绍SLA治理工作,包括主要涉及的工作内容以及难点 (2024年)
【更多:15道数据仓库题目】
微服务题目
-
你在项目里用过微服务吗?用的什么技术栈 (2025年)
-
请解释微服务架构的含义,以及为什么要使用微服务架构 (2025年)
-
微前端解决了什么问题 (2024年)
-
你对微服务有了解吗,在项目中是否进行过相关调研,了解企业常用的工具和方法 (2023年)
-
有两个服务,一个余额服务,一个积分服务,如何保证它们之间的一致性(分布式事务) (2023年)
【更多:16道微服务题目】
消息队列题目
-
常用的消息队列Kafka和RabbitMQ分别怎样保证顺序消费,是否会出现消息丢失的情况 (2025年)
-
请解释 RocketMQ 消费者的 Rebalance 机制 (2025年)
-
请说明消息阻塞的原因、优化方法,项目中消费者数量,RabbitMQ 的结构,防止消息丢失的方法以及 Exchanger 交换机的作用 (2025年)
-
Kafka批量消费时,如果消费时间过长导致消费超时,是否会触发rebalance?如何调整session timeout和pollTimeout,哪个会触发rebalance,如何设置? (2022年)
-
消费者怎么确认消费成功 (2025年)
【更多:93道消息队列题目】
RPC题目
-
如果要写一个RPC框架,核心功能要有哪些 (2025年)
-
在RPC里如何做服务发现 (2025年)
-
在RPC里如何做负载均衡,负载均衡的策略有哪些 (2025年)
-
RPC框架中如何进行链路追踪 (2025年)
-
RPC的本地缓存是如何实现的 (2025年)
【更多:9道RPC题目】
三高架构题目
-
若不使用中间件,如何保证缓存和数据库的一致性 (2025年)
-
请说明秒杀活动中如何保证库存一致性 (2025年)
-
熔断和降级的区别是什么,具体使用场景有哪些? (2022年)
-
当上报接口的QPS特别大时,应如何解决 (2023年)
-
若不使用中间件,如何保证缓存和数据库的一致性 (2025年)
【更多:12道三高架构题目】
Web前端开发题目
-
商品购买app右边类似VIP的tag标签,用相对定位还是绝对定位实现 (2025年)
-
父子组件之间如何进行传值 (2025年)
-
浏览器f12中from disk cache和from memory cache有什么区别,都是怎么做的 (2025年)
-
简述 cookie 包含哪些信息 (2024年)
-
简述SVG的数据类型 (2023年)
【更多:85道Web前端开发题目】
性能测试题目
-
你使用Jmeter进行压测时,主要压测哪些内容,关注哪些参数 (2024年)
-
请分享使用JMeter进行性能测试的经验,讨论如何进行性能瓶颈分析和优化 (2025年)
-
请说明火焰图颜色深度代表的含义 (2025年)
-
项目压测结果中最大并发数是多少 (2024年)
-
99线、95线和平均线分别适用于什么场景 (2024年)
【更多:11道性能测试题目】
自动化测试题目
-
请列举常用的自动化工具 (2024年)
-
简述Selenium元素定位模式 (2025年)
-
浏览器驱动为什么能获取并操作对象元素 (2024年)
-
在自动化测试中,如何将线下抓取的 curl 与线上的自动化测试同步 (2024年)
-
简述Pytest用例的参数化方式 (2025年)
【更多:12道自动化测试题目】
API测试题目
-
在接口测试中,当一个参数作为另一个接口的传入值时,如何考虑该参数变化的情况 (2024年)
-
请描述编写测试脚本验证API响应数据的步骤,强调异常处理和边界条件 (2025年)
-
在接口测试时,若只有接口内部改动,其他地方未改,是否需要对接口用例进行改动 (2024年)
-
对路径A->B的接口进行测试,请描述测试方案 (2024年)
-
在接口测试中,当一个参数作为另一个接口的传入值时,如何考虑该参数变化的情况 (2024年)
【更多:8道API测试题目】
项目经验题目
-
项目中标签的逻辑是什么样的 (2025年)
-
介绍一个实习中的分析项目介绍 (2022年)
-
是否做过数据分析,请进行阐述 (2025年)
-
你的项目有哪些难点和有意思的地方 (2022年)
-
请详细介绍实习中做的项目 (2025年)
【更多:168道项目经验题目】
程序设计题目
-
进程、线程和协程的跳转开销主要指什么 (2025年)
-
请简述函数式编程和面向对象编程的区别 (2023年)
-
自己如何保证代码的可见性? (2023年)
-
协程是用户态还是内核态,为什么 (2024年)
-
解释进程、线程和协程的区别 (2024年)
【更多:12道程序设计题目】
系统设计题目
-
创建知识库,需要哪些实体类,实体类需要定义哪些字段和方法 (2025年)
-
设计点赞和取消点赞系统,包括架构层、数据层和业务层 (2024年)
-
介绍秒杀系统 (2025年)
-
介绍用户签到扩展 (2025年)
-
请设计一个短网址系统平台 (2025年)
【更多:26道系统设计题目】
人工智能题目
-
请讲述YOLO系列算法 (2024年)
-
为什么优化器会保存一份模型参数 (2025年)
-
求解器里有多个 for 循环创建变量导致求解很慢,该如何解决 (2025年)
-
请阐述RAG的解析策略、切分策略,并说明你认为RAG里面最重要的是什么,以及RAG是否真的有用 (2025年)
-
请说明知识图谱和大模型在项目中是如何结合的,以及如何进行优化,是否测试过性能,如何衡量优化提升 (2024年)
【更多:114道人工智能题目】
智力面试题题目
-
有10000瓶酒,其中一瓶是毒酒,中毒后24小时发作,给两天时间,找出毒酒最少需要多少只小白鼠 (2022年)
-
抛10个硬币,出现5个向上的概率是多少 (2024年)
-
一条河,一个船,船上只能有一个人即船夫。AB各有一个箱子一把钥匙,AB分别在河两岸,如何在船夫不知晓的情况下,A让B知道箱子里面的具体内容 (2024年)
-
一根不均匀长度的绳子,烧一根绳子需要1h,问烧1h15mins需要多少根绳子 (2024年)
-
盒子里有三张奖券,你先抽但不开奖,另一个人抽然后开奖发现没中,问你是否应该换抽盒子里剩下的那张奖券 (2024年)
【更多:6道智力面试题题目】
安卓开发题目
-
ContentProvider是做什么用的,可以实现什么目的 (2024年)
-
Service运行在主线程吗 (2024年)
-
讲一下Fragment的创建流程,以及如何从一个Fragment切换到另外一个Fragment (2024年)
-
Activity全部退出以后,会发生什么 (2024年)
-
什么是全局广播,什么是本地广播,本地广播可以使用什么实现 (2024年)
【更多:9道安卓开发题目】
iOS开发题目
-
请介绍一下NSURLSession (2024年)
-
请介绍一下iOS多线程 (2024年)
-
请介绍一下iOS中block和delegate及如何使用 (2024年)
-
简述assign和weak的区别 (2024年)
-
请介绍一下iOS可变数组的原理 (2024年)
【更多:7道iOS开发题目】
大数据题目
-
Flink是否本身就有任务调度的能力,为什么要自己实现一个 (2025年)
-
是否了解别的产品化的数据分析工具 (2025年)
-
请讲述一个具体的业务,并体现所用的技术栈 (2025年)
-
当前业务是否有写错数据的情况?若数仓写入Kafka时出错,且HDFS也出现错误,Kafka到业务表的数据已出问题,应如何重新写入,需考虑一致性和重写时服务的可用性 (2025年)
-
血缘分析中提到的影响分析是指什么 (2025年)
【更多:9道大数据题目】
嵌入式开发题目
-
请说明Quartz的底层原理,它是如何实现的 (2025年)
-
简述对canvas的了解 (2024年)
-
Quartz的调度是在单实例上面的,还是可以是分布式的调度 (2025年)
-
在TCC的Confirm和Cancel阶段如何防止重复执行导致数据不一致 (2024年)
-
请介绍dbscan和其他聚类方法 (2024年)
【更多:9道嵌入式开发题目】
API开发题目
-
JWT 里面存储了什么信息,保存在哪里,会有什么安全问题 (2025年)
-
请说明JWT登录的好处与问题 (2024年)
-
讲述实习经历中优化审计日志接口的具体做法 (2025年)
-
MCP对比直接调用API的方式,有什么优势 (2025年)
-
请简述对二进制协议(如protobuf)的了解 (2024年)
【更多:13道API开发题目】
刷更多面试真题,上八股精网站