入职字节跳动一年,附上百度、字节跳动等后台面经

// 45 123 79

// 45 67 123 89

void resort(int[] arr, int N, int M) {

}

主要思路是这样的,先遍历一遍,然后得到最基本的分割情况,根据分割大小,与 M 进行判断和比较,如果比 M 小,再进行判断是否存在大块需要分割,再进行两两比较,分割完成,标记好分割点,最后进行重组

[](()第二次面试
  1. rpc 调用流程?

  2. rpc 调用中,A 调用 B,A 如何知道 B 是不是服务不可用了?

  3. rpc 调用如何判断资源占用情况?

  4. 算法题,一棵二叉树,找到所有到叶子节点和为 target 的路径

  5. countDownLatch 的实现原理?

  6. 线程有多少种状态?time_wait 状态是什么意思?

[](()第三次面试
  1. 如何设计 rpc,序列化怎么设计?

  2. 数据库 mybatis 语句 insert 的时候会返回 id,那么这个 id 是如何返回的,如何能够确认这条数据是你插入的,从数据库事务角度来看?

  3. 一个数组,[1,2,3,5,7,9,8,3,2],有一个值 k=8,如何判断数组中是否存在该值,时间复杂度不超过 O(n)

  4. 垃圾回收为什么需要标记的步骤,垃圾回收其实有四步,stop the world 原因是什么?

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ### [](()字节跳动

[](()第一次面试
  1. redis 的基本数据结构

  2. m 个有序数组,每个数组长度为 n,将 m 个数组生成 1 个有序数组,如何做?

使用堆排序,m 个排一次,然后补充数据,最后得到结果

[](()第二次面试
  1. 数据库不使用 b+树还可以使用什么数据结构?

  2. 跳表如何判断这个数据插在哪里?

  3. 跳表和 b+树比哪个效率更高?

  4. 什么情况下不会使用索引?

  5. http 2.0 有什么优点

  6. 外部调用为什么不使用 rpc 而使用 http 协议?http 协议有什么不可替代的么?

  7. 如果流量忽然很大,不使用限流的方式应该怎么办,也不扩容?削峰

  8. 消息队列消息顺序不一致应该怎么处理?

  9. 4 个数组,目标值 target,每个数组各找一个数,使得 4 个数和为 target,数组没有顺序,找到所有不重复的组合,要求时间复杂度 O(n^2)

[](()shopee

  1. 对分布式事务有什么了解?

  2. redis 如何实现分布式锁?

  3. 如何保持分布式一致性?

  4. 消息队列重复消费怎么办?

  5. 算法题

寻找第K大

限定语言:Python. C++. C#. Java

有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。

给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。

测试样例:

[1,3,5,2,2],5,3

返回:2

  1. https 的执行过程是怎么样的

  2. 如何判断两个链表是否有交点,时间复杂度和空间复杂度

  3. 数据库的事务隔离级别有什么?

  4. 数据库如何实现可重复读这个隔离级别的?

  5. 如何写代码判断死锁的存在?设计一个数据结构出来

  6. redis 是如何做主从同步的?

  7. redis 持久化的方式都有什么,名称都是什么?

  8. 如何解决循环依赖的?

  9. TCP 如何连接和断开的?四次挥手的流程?

  10. 进程间通信方式都有什么?有什么区别?

  11. 什么是数据库事务?事务在哪些地方有应用?

  12. 如何设计一个哈希结构,都要注意什么?

[](()在字节跳动这一年的收获(资源整理)

====================================================================================

  • 面试专题:Java + J2EE + Spring + Hibernate + Linux + SQL + Scrum + Continuous integration

良好的开始是成功的一半,此言不虚,面试当然也如此。但是面试往往因为受到其备考时机,求职者心态的影响,有一个提前且有效的开始,其实真的相当不容易

  • Redis操作笔记:数据操作 + 专题功能 + 开发设计规范 + 上线部署规划 + 常见运维操作 + 数据迁移 + 问题处理 + 测试方法 + Redis安全问题 + 高可用和集群简述 + 高可用和集群架构与实践

  • SpringBoot总结:使用Spring Boot + Spring Boot特性 + Spring Boot执行器: Production-ready特性 + Spring Boot CLI + 构建工具插件 + How-to指南

SpringBoot的使用

  1. 构建系统

  2. 组织你的代码

  3. 配置类

  4. 自动配置

  5. Spring Beans和依赖注入

  6. 使用@SpringBootApplication注解

  7. 运行应用程序

  8. 开发者工具

SpringBoot特性

  1. SpringApplication

  2. 外化配置

  3. Profiles

  4. 开发Web应用

  5. 安全

  6. 使用SQL数据库

  7. 使用NoSQL技术

  8. 缓存

  9. 消息

  10. 发送邮件

  11. 使用JTA处理分布式事务

  12. Hazelcast

  13. Spring集成

  14. Spring Session

  15. 基于JMX的监控和管理

  16. 测试

  17. WebSockets

  18. Web Services

  19. 创建自己的auto-configuration

  20. 接下来阅读什么

  • MySQL:性能调优+架构设计

MySQL基础

  1. MySQL基本介绍

  2. MySQL架构组成

  3. MySQL存储引擎简介

  4. MySQL安全管理

  5. MySQL备份与恢复

性能优化

  1. 影响MySQLServer性能的相关因素

  2. MySQL数据库锁定机制

  3. MySQL数据库Query的优化

  4. MySQL数据库Schema设计的性能优化

  5. MySQLServer性能优化

  6. 常用存储引擎优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值