腾讯、shopee、oppoJava岗社招面经

腾讯

[一面]

1.Java

String  str = new String (a+b)会创建几个对象;字符串常量池在JVM哪个位置

Spring的设计模式;工厂模式是怎么实现的

Java进程不见了,怎么定位

2项目

服务部署的形式;如果某个机房宕机了呢,是依赖组件还是业务自己做的;了解这块是怎么做的

流量突增平台会怎么处理

请求出现超时,但应用查不到这个请求日志,怎么排查

针对项目中的一个小问题,了解整个调用链路

3.Kafka

Kafka在业务中的使用场景

Kafka的精准一次是怎么设计的;平常为了防止重复消费是怎么做的

Kafka的大概框架是怎么样的;为什么吞吐量这么高;

Kafka的多个副本能提高它的读写性能,为什么这么设计

4.Redis

哨兵模式是为了解决什么?整个流程大概是怎样的

5.锁

Synchronized和lock的区别

Synchronized的锁优化是怎么样的

线程死锁的情况,怎么解决

6.MySQL

 

MySQL的事务特性?原子性是怎么实现的

 

MySQL的默认隔离级别?什么是不可重复读

 

select语句的执行过程

 

7.网络

select / poll / epoll的区别?epoll的数据结构

TCP三次连接,这个listen backLog有什么作用

TCP四次挥手,Time WAIT发生在哪方;两个超时重传时间的作用;大量timeout怎么处理

https的加密过程;证书认证的过程


8.Linux 

进程间的通信方式;有哪些信号通信是不可靠的;为什么是不可靠的

僵尸进程怎么解决?协程有了解过吗

 

9.代码

线程交叉打印12A34B56C,多种实现方式(一个打印数字,一个打印字母)

[二面]

1.项目

项目中遇到的挑战

2.Kafka

Kafka和RocketMq的区别

3.Redis

本地缓存和Redis缓存的区别

本地缓存的场景

Redis的数据更新策略

Redis的部署方式,集群部署的丢失数据,主备切换过程

4.算法

一个字符串,一个子字符串,判断子字符串在字符串中出现的次数,不要求连续,但有先后顺序,s=rabbbit   t=rabbit,出现的次数为3

[三面]

1.项目

项目介绍

在项目中用了Spring Boot是怎么使用的

线程池项目中怎么使用,遇到过什么问题

2.HashMap

HashMap的了解

3.线程

ThreadLocal项目中怎么使用

4.锁

乐观锁和悲观锁的区别;项目中的使用

Synchronized和ReentrantLock区别

5.Spring

Spring事务

Spring Bean的存储 

6.MySQL

Java数据源怎么使用

分布式事务的实现

为什么索引能查询速度

7.算法

生产者和消费者的实现

8.Linux 

CPU的内存模型 

9.JVM

内存模型

10.网络

TCP的可靠性保证

11.Redis

Redis数据结构

排行榜的实现 


Shopee

[笔试]

1.选择题

10道计算机相关

10道数学相关

2.编程题

用多重背包算法来做

根据给出的数据建二叉搜索树,再返回所有叶子节点

k个一组翻转链表

[一面]

1.Linux 

进程间的通信方式

内核空间和用户空间;为啥要这么区分

什么是分段机制以及分页机制

2.网络

TCP四次挥手的过程

TCP流量控制和拥塞控制

输入https://www.shopee.com以后的过程

对websocket有了解吗

IO多路复用的几种系统调用;主要区别

3.数据结构

什么是红黑树

介绍一下B+树、B树


4.线程 

Java多线程实现方式

5.MySQL

持久化手段,执行update语句时,如何保证数据持久化

ACID

6.Redis

sorted set底层的数据结构;原理

7.Kafka

原理

怎么保证高可用、高性能

[二面]

1.ConcurrentHashMap

get、put方法

为什么插入新节点的时候是用尾插法

2.网络

web安全有了解吗

CSRF

TCP的CLOSE_WAIT和TIME_WAIT状态;CLOSE_WAIT的作用

3.MySQL

讲讲MVCC

4.Kafka

分区的分配策略

再平衡原理

5.Linux

用什么命令看tcp的状态信息

6.其他

你技术方面最大的优势是什么

职业规划

7.算法

 对一个数组进行排序,元素只有0,1,2,使用那种排序方式;为什么;找一个字符串里面最长回文子串

 

[三面-HR]

1.其他

你对自己未来五年的一个规划是什么 

你的某某经历主要是做什么?有什么印象深刻的事情?

你还有什么是想要了解的吗?


oppo 

[一面]

1.Redis

持久化方式

过期键的删除策略

2.JVM

CMS原理;垃圾回收过程

一个固定的堆内存,当创建线程数很多的时候,JVM参数怎么配置

3.RocketMQ

用在什么场景

如果消费者组A下面有两个消费者组A1,A2,问消费者A1和A2能否消费不同的主题

RocketMQ如何保证事务

4.网络

TCP四次挥手

5.项目

讲讲项目

[二面]

1.Redis

常用数据结构

hash的指令有哪些

过期策略

2.Dubbo

Spring Cloud和Dubbo的区别

Dubbo调用模式

Dubbo的SPI

Dubbo协议有哪些;有何不同

3.项目

项目经历

分库分表如何做的,常用的数据库中间件有什么

分布式事务

4.JVM 

最大堆内存和最小堆内存如何配置

类加载机制;如果我想自己控制类加载的时机怎么办

5.网络

https请求流程

如何获取最初的证书

6.MySQL

SQL如何优化

7.并发

工作中什么场景用到了多线程

如何创建多线程

线程池的参数有什么

8.算法

最小覆盖子串

以上就是我腾讯、shopee、oppo的面经全过程啦,希望对大家有所帮助吧

#java工程师##面经##社招##OPPO##Shopee##腾讯#
全部评论
楼主最后去哪了
点赞 回复 分享
发布于 2022-04-30 22:36
shopee hr面完多久给的oc哇
点赞 回复 分享
发布于 2021-08-02 21:12

相关推荐

2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
评论
7
54
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务