这就是编程
十年互联网开发老兵,前阿里巴巴技术专家,面试官
展开
-
面试题库(二)1:hashmap1.7跟1.8?优化点?红黑树化为什么是8?退化为什么?
当元素的键值对过于集中时,也会导致大量的元素存储在同一个桶中,从而降低 HashMap 的性能。当哈希函数的冲突率过高时,会导致大量的元素存储在同一个桶中,从而降低 HashMap 的性能。HashMap 1.8 在 1.7 的基础上进行了许多优化,提高了性能和稳定性。原创 2023-09-26 08:10:34 · 203 阅读 · 0 评论 -
面试题库(十三):场景和设计
为什么要这样分表?跨库join如何解决?数据量突增怎么解决? 如何解决线上问题?cpu狂飙怎么办?频繁minor gc怎么办?可能造成的原因是什么?如何避免? 数据库 隔离级别,怎么实现的?当前读,快照读?MVCC? 分库分表的设计? 分布式事务出现过不一致吗?为什么?怎么解决?有什么方法避免?怎么监控?监控到怎么处理?什么时候需要人工接入 如何优雅的写代码?什么代码算做优雅?什么代码是规范?你们代码规范是什么样的? 如何进行code review? mysql innodb下,能不能不设置主键?主键原创 2023-09-22 17:43:21 · 192 阅读 · 0 评论 -
面试题库(一):数据结构和算法
链表链表,常见的面试题有写一个链表中删除一个节点的算法、单链表倒转、两个链表找相交的部分,这个一般必须得完全无误的情况下写出来; 给出两个链表的头结点,找出这两个链表的交点。 java 中数组和链表的区别,各自优势 如何设计拥有高效的随机读取能力的的链表(跳表) 设计跳表,跳表插入开销,跳表随机读取过程 给你一个单向链表,给这个链表做K反转,例如 k=3 1 -> 2 -> 3 -> 4 -> 5 -> 6 反转后为: 3 -> 2 -> 1 ->原创 2023-09-22 21:52:27 · 373 阅读 · 0 评论 -
面试题库(二):Java基础
hashmap1.7跟1.8?优化点?红黑树化为什么是8?退化为什么? dp怎么玩?回溯怎么玩?递归怎么玩?stack能解决啥问题?fifo能解决啥问题?dfs怎么玩?bfs怎么玩? 双亲委派模型。JDBC和双亲委派模型关系 TCP四次挥手,TIME_WAIT发生在哪一方 TIME_WAIT过多如何处理 HashMap底层结构 put操作讲一下,HashMap、HashMap如何保证线程安全、ConcurrentHashMap 从ConcurrentHashMap一路问到锁&锁优化->原创 2023-09-18 21:42:52 · 188 阅读 · 0 评论 -
面试题库(三):JVM面试题
字节码相关知道字节码吗?字节码都有哪些?JMM内存模型说说JVM的主要组成部分以及作用? jvm内存模型,内存屏障 对象一定分配在堆上?对象不一定分配在堆上,JIT可以实现栈上分配 java线程模型和jvm线程模型区分 Java堆的内存结构? 在什么地方会发生OOM? 如何分析OOM发生的原因? 让你自己实现OOM,你会怎么做? 什么东西分配在堆上和栈上? 一个对象从创建到销毁都是怎么在这些部分里存活和转移的? JVM 运行时区域 常见的堆内存溢出情况 栈溢出的情形(递归,调节-X原创 2023-09-18 21:30:25 · 185 阅读 · 1 评论 -
面试题库(七):Spring相关
spring工作原理简单介绍 循环依赖问题 spring/spring boot启动加载过程 ?springboot是怎么运行起来的 使用springboot的好处是什么? 描述下spring的ioc和aop spring task是怎么实现的? spring事务你是怎么用的?加了@Transcational注解spring都做了哪些工作?怎么知道事务执行成功了 你常用哪一种注入方式?BeanFactory和ApplicationContext有什么区别?你们项目里用的哪个?说一下spring原创 2023-09-22 15:04:29 · 276 阅读 · 0 评论 -
面试题库(五):并发编程
场景模拟:假设有一个场景,系统需要某个特定时间内响应用户请求,比如说100ms内完成用户请求,但是在最高峰的时候每单位时间几百万的用户请求,也就是高并发,但我必须要实现系统响应及时,而且高可用,假如你是架构师,你该如何架构这个系统,聊聊你的方案。分布式锁zookeeper的使用场景------ 实现分布式锁的方式----------redis分布式锁和zookeeper分布式锁。线程编程题: 写两个线程,一个往数组加数据,一个往数组减数据,要求数据不会越界。你会如何处理高并发场景,例如商城秒杀?原创 2023-09-22 21:50:37 · 218 阅读 · 1 评论 -
面试题库(六):数据库相关
mysql索引的数据结构,加索引的原则 InnoDB和myiasm的区别,以及常见的mysql优化方案 sql查询优化 说说Mysql的sql优化 mysql的索引,b+树索引是否支持范围查询,联合索引的失效情况 开发中用了那些数据库?回答mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。 数据库索引原理 mysql索引 B+树原理 mysql索引是怎么实现的?b+树有哪些特点?真实的数据存在哪里? 哪些情况下建索引?解释下最左匹配原则? 现在一个表原创 2023-09-22 21:51:35 · 237 阅读 · 0 评论 -
面试题库(八):docker和linux
dockerdocker的原理?dockerfile里面用过什么命令? 用过docker?dockerfile写过吗,常用命令,说下分层原理 docker 部署有什么好处? docker 的底层原理是什么?namespace 和 cgroups,一个隔离环境,一个控制资源配额。那隔离环境主要隔离什么环境? docker镜像和容器有什么区别?为什么要用docker?docker daemon是啥?发现docker daemon响应突然变慢了,如何排查? docker的image、layer、co原创 2023-09-22 17:41:29 · 480 阅读 · 0 评论 -
面试题库(九):ORM框架 Mybatis,Hibernate和JPA
MybatisMybatis怎么实现Dao的一系列操作?原理简单介绍 ORM框架如何配置主从数据源,Mybatis原理 如果让你实现Mybatis,你会怎么设计? Mybatis常用的标签有哪些? sql注入怎么预防? sql一般怎么优化? 数据量多大的情况下考虑分表呢? sql语句是怎么样执行的?(不知道,不过我猜应该会先校验sql语句的正确性,然后再放入执行引擎中取执行)。 MyBatis中#{}和${}的区别? Mybatis的缓存?一级、二级缓存? MyBatis框架的理解? 对于X原创 2023-09-22 15:03:32 · 193 阅读 · 0 评论 -
面试题库(十):NIO和Netty面试题
NIO,Netty,网络协议,涉及到的OS交互。Netty 的优势在哪?Netty的 API gate 设计。Netty 分布式任务调度怎么做?Netty nio问题,问了流程。Netty线程模型(源码拷问)Netty的几种线程模型和架构。原创 2023-09-22 15:01:31 · 298 阅读 · 0 评论 -
面试题库(四):Dubbo和Spring Cloud相关
dubbo、RPC介绍原理 限流算法 zk挂了怎么办 分布式锁的实现方式,zk实现和Redis实现的比较 秒杀场景设计,应付突然的爆发流量 分布式数据一致性 一致性哈希。分布式协调算法:zk的paxos协议原理,zab原理,metaq的raft协议原理;服务容灾是如何做的,你们工作中采用的微服务是如何部署的?client调用A服务,A服务依赖于B服务,在不知道B是否高可用的情况下,怎么保证A的高可用?RPC服务的概念,RPC服务一般都怎么做序列化?Dubbo 的 SPI 机制是什么?是和否的原因是什么?原创 2023-09-18 21:31:42 · 131 阅读 · 1 评论 -
面试题库(十一):MQ和分布式事务
首先来一个具体的解决方案的示例。原创 2023-09-22 15:00:57 · 217 阅读 · 0 评论 -
面试题库(十二):分布式和中间件等
raft协议 paxos算法 ddos 如何避免?怎么预防?怎么发现?利用了TCP什么特点?怎么改进TCP可以预防?服务端处理不了的请求怎么办?连接数最大值需要设置吗?怎么设置? Thrift RPC过程是什么样子的?异构系统怎么完成通信?跟http相比什么优缺点?了解grpc吗? kafka topic partition介绍下 一个 partition对应多少 生产者(不限),对应多少消费者(一对一) zk你们怎么用的 Redis与Mysql双写一致性方案 微服务架构是什么?它的优缺点? ACI原创 2023-09-22 17:42:15 · 423 阅读 · 0 评论 -
说说redis持久化方式?分别优缺点是什么?redis更新策略是什么?
默认情况下,Redis会优先使用AOF文件来恢复数据,因为AOF文件通常包含了更完整和更新的数据。- AOF持久化可以做到实时或者近实时的数据备份,因为它可以根据不同的策略来决定何时将缓冲区中的数据同步到磁盘,例如每秒同步一次或者每次写操作后同步。- RDB持久化不能做到实时或者近实时的数据备份,因为它是定时触发的,如果在两次快照之间发生故障,那么会丢失这段时间内的数据。- AOF持久化对Redis的性能影响大,因为它需要对每一个写操作进行磁盘IO操作,这会降低Redis的吞吐量和响应时间。原创 2023-03-29 15:33:21 · 457 阅读 · 0 评论 -
redis除了做缓存还能做什么?
位图:Redis可以利用其字符串(string)数据结构和一些位操作命令来实现位图(bitmap)的功能,比如setbit(设置一个位)、getbit(获取一个位)、bitcount(统计位数)、bitop(位运算)。- 计数器:Redis可以利用其字符串(string)数据结构和一些原子命令来实现计数器的功能,比如incr(增加一个键的值)、decr(减少一个键的值)、get(获取一个键的值)。Redis是一个非常灵活和强大的工具,只要掌握好它的数据结构和命令,就可以发挥出它的无限可能。原创 2023-03-29 15:09:11 · 621 阅读 · 0 评论 -
面试题库(十四):Redis面试真题
计数器:Redis可以利用其字符串(string)数据结构和一些原子命令来实现计数器的功能,比如incr(增加一个键的值)、decr(减少一个键的值)、get(获取一个键的值)。思路就是考虑出了前100名的后100W-100名玩家的积分,让变化的积分跟第100名比较,如果比第100名高,那就替换的原则。发散性问题:假如有100万个玩家,需要对这100W个玩家的积分中前100名的积分,按照顺序显示在网站中,要求是实时更新的。做个微信商城,其中有各种活动,限时优惠,和秒杀,问我并发的时候怎么做处理的。原创 2021-03-17 20:15:06 · 381 阅读 · 0 评论