2024.7.28模拟面试

第一位同学(0~46分)

1、通过自定义线程池提高导入性能,怎么做的
多线程,线程池,1000条进行一个批量插入
比如我们导入十亿的数据,应该怎么做。
分布式导入,怎么设计这个系统?
多个系统上跑,数据分发,算法(轮训),一些别的算法,
轮训跑了5亿数据,比如有服务器宕机了,怎么办。
自己写一个分布式会比较难保证正确性,怎么做?
没想法
2、短链接功能
长生成短,特定算法,数据访问,301,302区别,统计
算法:哈希,长url hash生成10进制,然后转62进制的数,映射24个大小写?
短链接有多少个最多,5位 62^5
哈希冲突了怎么办啊?
重新生成短链接,长链接中加上一些随机数,重试3-5次依然冲突报错
3、了解雪花算法吗
时间戳+机器id+序列号
4、rocketmq削峰做了什么,
统计
5、数据统计准确要求高吗,写rocket mq失败了怎么办
同步写rocketmq,如果rocketmq宕机了,会不会导致服务无法正常使用。
cb
说到了一些兜底
6、布隆过滤器有什么缺点了解吗
分布式布隆过滤器,a有数据给布隆过滤器标记成了存在,b即使没有也会认为存在,会不会存在这种情况
数据库删了呢,会怎么样。多访问一次数据库,没有影响
布隆过滤器会误判了解吗?
多hash算法,映射多个位数组上去,冲突概率增大,会发生误判
7、先更新数据库再删缓存保证数据一致性,删除缓存失败了怎么办啊
了解redis和数据库有哪些中方案。redis很少失败?
延迟双删,先删,再改,再删。监听binlog
监听binlog+人工介入(最终一致性
8、binlog有哪些种格式?
二进制(?)
raw
states
mixed
9、hashmap底层实现
数据+链表+红黑树
hash冲突有哪些中解决方案
拉链法,开放地址法(开放寻zhi法)
10、mysql事务有哪些特性
acid
11、隔离级别
读未提交,读已提交、可重复度、串行化读
12、spring ioc和aop底层怎么实现的
ioc,控制反转,依赖注入

依赖注入底层是怎么实现的?
反射

第二位(47分~1小时13分)

1、自我介绍训练营?
2、汕头市地质灾害预警系统
用户登录,
jwt认证授权怎么做的
客户端访问服务端的时候,输入用户名和密码,给客户端返回一个token,携带token

Rbac有哪些对象
用户,角色、权限

乐观锁机制
认为每次操作都不会出错,不加锁,过后进行验证
4、基于rocketmq异步通知怎么做的
rocket消费顺序怎么保证的
5、mysql事务有哪些特性
acid
6、事务隔离级别
7、sql优化
实际遇到的问题,最后找了个专业的,查慢日志
8、缓存穿透、缓存击穿、缓存雪崩
雪崩:大面积的redis key失效。
击穿:热点key失效。提前把热点key保存好(singleflight)
穿透:redis数据库都不存在的key。缓存空值
9、mysql索引为什么用b+树而不是b树或者hash
b+树叶子节点存数据,hash不适合范围查找
10、网页输入一个地址按回车键会发生哪些事
mysql一个查询语句会发生什么
一个写会发生什么

假设有一个数据库,有id, first_name,last_name三个字段
id自增主键
(first_name,last_name)
SELECT * FROM employees WHERE last_name = ‘Smith’ AND first_name = ‘John’;
(可以)
SELECT * FROM employees WHERE last_name = ‘Smith’;
(不可以)
SELECT * FROM employees WHERE first_name = ‘John’;
(可以)

Select * from employees WHERE first_name = ‘John’;//回表
Select first_name from employees WHERE first_name = ‘John’;//比较快,需要回表(错误)
Select first_name from employees WHERE id = 1;//快,不用回表

Mysql,redis,kafka、rocketmq、java,

第三位面试(1.13分~1.50分)

1、创新创业大赛有哪些功能
商品系统的管理系统。
登入系统,验证码,手机号和密码,手机号注册
密码怎么存储的?
敏感,存储在mysql里面,加密,
加密和解密怎么做的
注册时需要返回手机号,想要注册使用的密码
双token怎么做的?
不断的无感的刷新,用户登入的时候双token,假设第一个token失效了,客户端失效了会上报
双token过期时间一样吗
不一样,一个长一个短

token拉黑机制
两个token,登入之后登出不应该token可以继续用

sql优化
例子:回表慢
例子2:字符索引(床上书桌)
你们的慢查询日志怎么获取的,设置一个阈值。
阈值配的多久。

数据量有多少。
30个请求,1w个商品。
倒排索引,快速搜索,

视频压缩算法,断点续传,秒传
断点续传怎么做的,存储服务器,fastdfs断点续传接口,
断点续传接口重写:前端切分小文件,

http和https的区别?
http:明文传输
https:安全验证,ssl,tls,证书
http适用于性能要求高不需要加密的场景

tcp和udp的区别
传输层协议。类似http和https的区别
tcp面向连接,
Udp

tcp为什么握手需要三次而挥手需要四次
Time_wait时间,打电话举例子,挥手需要双方都确认
线上出现大量time_wait应该怎么排查?
dns解析
递归,迭代

线程和进程的区别
进程资源分配的最小单位
线程cpu调度的最小单位

java concurrenthashmap
Hash
Aqs
Concurrenthashmap

设计模式有哪些原则
单一职责,接口隔离,高内聚低耦合,

发表评论

后才能评论