关注
ChatGPT说的对吗:1. **Redis 5种数据结构:**
- 字符串(String)
- 哈希表(Hash)
- 列表(List)
- 集合(Set)
- 有序集合(Sorted Set)
2. **缓存穿透、雪崩、击穿:**
- 缓存穿透:指查询一个一定不存在的数据,导致对数据库的高并发查询,绕过缓存直接查询数据库。
- 缓存雪崩:指缓存中大量的数据同时过期,导致大量请求落到数据库,引起数据库压力骤增。
- 缓存击穿:指某个热点key在缓存中过期时,同时有大量请求查询这个key,导致这些请求直接落到数据库,引起数据库压力骤增。
3. **Redis分布式锁:**
- 使用SETNX(SET if Not eXists)实现,即尝试设置一个值,如果该值不存在,则设置成功,视为获取到锁。同时,为了防止死锁,可以给锁设置过期时间。
4. **Spring常用注解:**
- `@Autowired`: 自动装配
- `@Component`: 声明组件
- `@Controller`, `@Service`, `@Repository`: 分别声明控制器、服务、仓储组件
- `@RequestMapping`: 映射请求
- `@Transactional`: 事务管理
- `@Aspect`: 切面编程
5. **Mybatis怎么分页:**
- 使用 `LIMIT` 和 `OFFSET` 关键字进行分页。
- 在 SQL 语句中添加 `LIMIT #{start}, #{pageSize}`,其中 `start` 表示起始位置,`pageSize` 表示每页记录数。
6. **常用集合有哪些:**
- List, Set, Map, Queue, Stack, ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap 等。
7. **HashMap实现原理:**
- 基于数组和链表/红黑树的数据结构。
- 使用哈希算法确定元素在数组中的位置,解决哈希冲突采用链表或红黑树。
- JDK8引入红黑树,提高了查询性能。
8. **MySQL的优化:**
- 使用合适的索引。
- 优化查询语句。
- 避免全表扫描。
- 合理设计数据库表结构。
- 分区表、分库分表等。
9. **什么是ThreadLocal:**
- `ThreadLocal` 是Java中的一个线程范围内的变量。
- 每个线程都有自己独立的 `ThreadLocal` 实例,线程可以通过 `set`、`get` 方法操作自己的变量副本。
- 主要用于线程间数据隔离,每个线程都可以独立修改自己的副本而不影响其他线程。
10. **怎么判断一个SQL是慢查询:**
- 使用 MySQL 的慢查询日志功能,通过配置慢查询日志阈值来记录执行时间超过指定时间的 SQL。
- 使用数据库性能分析工具,如 `explain` 分析查询计划。
11. **ConcurrentHashMap原理:**
- 使用分段锁(Segment)来提高并发性。
- 每个 Segment 类似于一个小的 HashMap,拥有自己的锁。
- 操作时首先定位到具体的 Segment,然后在该 Segment 上进行操作,减小锁的粒度。
12. **CAS(Compare and Swap):**
- CAS是一种无锁算法,基于硬件的原子操作。
- 通过比较当前值和期望值,如果相等则使用新值替换当前值。
- 在并发环境下用于保证变量的原子性操作。
13. **Volatile:**
- 保证可见性,一个线程修改了共享变量的值,其他线程能够立即看到修改。
- 禁止指令重排序优化。
14. **JVM类加载器和类加载过程:**
- 有三个主要的类加载器:Bootstrap ClassLoader、Extension ClassLoader、Application ClassLoader。
- 类加载过程包括加载、连接(验证、准备、解析)、初始化、使用、卸载。
15. **Linux常用命令:**
- `ls`, `cd`, `cp`, `mv`, `rm`: 文件操作命令。
- `ps`, `top`, `kill`: 进程相关命令。
- `grep`, `awk`, `sed`: 文本搜索和处理命令。
- `chmod`, `chown`: 修改文件权限和所有者命令。
- `df`, `du`: 查看磁盘使用情况。
- `ps aux | grep process_name`: 查看进程信息。
- `netstat`, `lsof`: 查看网络和文件打开情况。
查看原帖
5 1
相关推荐
点赞 评论 收藏
分享
01-08 17:32
广东科技学院 嵌入式工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
4156次浏览 64人参与
# 找工作的破防时刻 #
251456次浏览 1950人参与
# 程序员找工作至少要刷多少题? #
8645次浏览 142人参与
# 你投递的公司有几家约面了? #
157720次浏览 995人参与
# 论秋招对个人心气的改变 #
5543次浏览 103人参与
# OPPO求职进展汇总 #
770781次浏览 5396人参与
# 我的AI电子员工 #
26044次浏览 159人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1685次浏览 53人参与
# 刚入职的你踩过哪些坑 #
3976次浏览 88人参与
# 程序员能干到多少岁? #
5516次浏览 87人参与
# 一张图晒一下你的AI员工 #
2734次浏览 61人参与
# 牛客AI体验站 #
2962次浏览 81人参与
# AI Coding的使用心得 #
2166次浏览 56人参与
# 我现在比当时_,你想录用我吗 #
3473次浏览 62人参与
# 牛客租房专区 #
146636次浏览 1463人参与
# 关于春招/暑期实习,你想知道哪些信息? #
3668次浏览 79人参与
# 晒晒你司的新年福利 #
3758次浏览 67人参与
# 想辞职但是不敢的原因 #
20096次浏览 88人参与
# 秋招感动瞬间 #
114130次浏览 516人参与
# 腾讯工作体验 #
563353次浏览 3688人参与
