歌单11111

京东一面
1.一个类的静态方法中是否可以引用该类的非静态变量
2.类什么时候被加载
3.使用或了解过哪些I/O流的类
3.创建线程有几种方式
4.线程池的理解和对应参数,拒绝策略有哪几种
5.mysql了解哪些存储引擎
6.innodb和ISAM的区别
7.自增主键ID和手动生成主键ID哪种效率更快,为什么
8.索引失效的场景
9.RestController和Controller的区别
10.Springboot在修改配置文件时,怎么在配置文件中写一个列表数据
11.拦截器和过滤器的区别
12.说一下Redis有哪些使用场景

字节视频基础架构一面
1.将新建的一个对象作为Key传入一个Hashmap中,然后修改这个对象的内部值,再从这个hashmap中以这个对象为Key进行Get操作会得到什么结果
2.hashmap和hashtable的区别
3.操作系统是以什么单位来进行内存分配的
4.对虚拟内存是怎么理解的
5.TCP相对于UDP来说除了需要建立连接和更耗时外有哪些缺点
6.算法题:输入一个整型数组和一个正整数k,问如果整型数组中的每一个值都代表一个边,值的大小为边的长度,这个数组能否围城一个正k边形

阿里云一面
1.用Redis做过哪些功能
2.Redis有哪些数据结构
3.mysql中一条查询语句的整个查询过程是怎样的(先经过连接器建立连接,查询缓存,语法分析,分析哪个索引扫描的行数更少选择哪个索引,去查询)
4.Redis中的跳表
5.Redis实现分布式锁怎么实现
6.redis为什么那么快
7.Redis的内存替换策略有哪几种
8.说说LRU的实现思路
9.JDK中哪个集合类是这个思路(LinkedHashMap)
10.springboot的实例化过程
11.算法题:判断一个链表是否有环

阿里云二面
1.实现一个需求,有两个数据库 一个为空,另一个有各种表,如何把库中的数据复制到空的数据库中去
2.如何实现任意一个java对象的序列化和反序列化

字节飞书一面
1.线程池的参数及其含义
2.java有哪些锁
3.Synchronize和Reentrylock的区别
4.CountDownLatch和CyclickBarrier
5.公平锁和非公平锁
6.用过哪些集合类
7.mysql四种隔离级别,及默认的隔离级别
8.幻读是什么
9.可重复读是怎么实现的
10.undolog redolog是什么
11.数据库是以什么单位来存储数据的
12.http与https的区别
13.tcp三次握手四次挥手
14.为什么要有waittime
15.reids有哪几种数据结构
16.redis跳表
17.redis的线程模型是咋样的
18.BIO和NIO,多路复用的理解
19.算法题 递归实现链表反转

字节国际化电商一面
1.抽象类和接口有哪些不同
2.
String A = new String(“test”);
String B = new String(“test”);
1)“test”==“test”;
2)“test”==A;
3)A==B;得到的布尔值是怎样的
3.常量池在哪个区域
4.String StringBuilder StringBuffer的区别
5.如何理解线程安全和线程不安全
6.为了保证线程安全有哪些做法
7.java有哪些锁
8.Synchronize和Reentrylock的区别
9.乐观锁和悲观锁的区别
10.有在实践中使用过锁么
11.CAS的原理
12.使用乐观锁的具体场景和使用悲观锁的具体场景
13.exception和error的区别
14.见过哪些exception和error
15.OOM是什么,跟内存泄漏有什么区别
16.hashmap的原理,扩容的原理,为什么数组长度为2的n次方
17.同步IO和异步ID的理解
18.阻塞和同步的区别
19.NIO和多路复用机制
20.mysql题
表结构是 主键id 姓名 分数
1)查找分数最高的前十名的学生姓名(返回10个学生)
2)查找分数最高的前十个分数对应的学生姓名(可能大于10个学生)
21.算法,给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。

快手机器学习平台开发一面
1.mysql聚簇索引,非聚簇索引,覆盖索引
2.redis实现一个分布式锁
3.如何用mysql实现一个分布式锁
4.如何用redis实现一个阻塞式锁
5.hashmap的实现
6.了解Currenthashmap么
7.了解过docker,k8s么
8.算法题:两个整型数组,分别代表索引为i的用户的进入时间和退出时间,求历史最大在线人数

快手机器学习平台开发二面
1.线程和进程的理解

进程是 cpu 分配资源的最小单位,是系统资源调度的独立单位,也是操作系统运行的基本单元,所有的资源都是在这个进程当中,进程是不干活的,而是用于维护这些资源。线程就是干活的,线程是 cpu 执行任务的最小单位,但是线程是没有自己的资源去运行程序的,因此线程是离不开进程的。
多进程:可以一边聊天一边听歌就是多进程的一种体现,看似是同时进行,其实是cpu在程序间做着高速切换
单线程程序只有一条执行路径
多线程程序有多个线程(路径)做同一件事,多线程程序抢占到cpu使用权的机会更大
线程的切换虚拟内存空间依然是相同的,但是进程切换是不同的
进程上下文切换涉及切换内存地址空间
线程切换是指在同一进程中从一个线程切换到另一个线程
参考

2.进程通信的方式,线程通信的方式

每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。
匿名管道通信、高级管道通信、有名管道通信、消息队列通信、信号量通信、信号、共享内存通信、套接字通信
参考
线程通信就是当多个线程共同操作共享的资源时,互相告知自己的状态以避免资源争夺。
共享内存、消息传递和管道流
参考

3.协程了解么

参考

4.用户态和内核态的区别

参考

5.分页和分段,页式请求和段式请求的区别

参考
参考1

6.页面替换算法

参考

7.如何去实现LRU
8.了解过docker,k8s么
9.数据库事务的四个特性
10.四种隔离级别和默认隔离级别
11.并发一致性问题有哪些
12.算法题1.最长有效括号序列长度
2.串联所有单词的子串

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值