南宁百度网站公司哪家好,多产品的网站怎么做seo,网站的倒计时怎么做的,电影爱好网互联网大厂面试实录#xff1a;谢飞机的奇葩答题之旅 第一轮提问#xff1a;Java 基础知识 面试官#xff1a;谢飞机#xff0c;你好#xff0c;我们开始吧。你能简单描述一下 HashMap 的工作原理吗#xff1f; 谢飞机#xff1a;嗯#xff0c;HashMap 就是用来存键值对…互联网大厂面试实录谢飞机的奇葩答题之旅第一轮提问Java 基础知识面试官谢飞机你好我们开始吧。你能简单描述一下 HashMap 的工作原理吗谢飞机嗯HashMap 就是用来存键值对的嘛然后通过 key 就能找到 value。它内部用数组实现的嗯就这样吧。面试官好那你能说说 HashMap 是怎么解决哈希冲突的吗谢飞机哦这个嘛我记得好像是链表来着啊不对好像是红黑树哎呀反正就是一种高级的数据结构面试官嗯好吧。那么你知道 ArrayList 和 LinkedList 的区别吗谢飞机这个简单ArrayList 是用数组实现的查询快但增删慢LinkedList 是用链表实现的增删快但查询慢。第二轮提问多线程和线程池面试官我们聊聊多线程吧。Java 中线程的状态有哪些谢飞机线程状态有五种新建、运行、阻塞、等待、死亡。对吧面试官对的。那么你知道如何创建线程吗谢飞机有三种方式继承 Thread 类、实现 Runnable 接口、还有用 Callable 接口加 FutureTask。面试官很好。那线程池的核心参数你了解吗谢飞机嗯核心参数……好像有核心线程数、最大线程数、队列容量啥的还有其他的我有点记不清了。面试官行吧。第三轮提问数据库和缓存面试官说说 Redis 的五种数据类型及其应用场景。谢飞机五种类型是 String、List、Set、Hash、ZSet。应用场景嘛比如 String 可以用来存一些简单值List 可以用来做消息队列。面试官那 Redis 的持久化机制呢谢飞机好像有两种吧一个是 RDB一个是 AOF具体怎么用我就忘了。面试官那我们再聊聊 MySQL。你知道 InnoDB 和 MyISAM 的区别吗谢飞机InnoDB 支持事务MyISAM 不支持InnoDB 支持外键MyISAM 不支持。嗯大概就这些吧。面试官好的今天就到这里吧回去等通知吧。技术问题答案详解第一轮问题答案HashMap 的工作原理HashMap 是通过哈希表数组链表/红黑树实现的。存储时通过 key 的 hashCode 计算哈希值定位到数组的索引位置冲突时通过链表或红黑树解决。HashMap 如何解决哈希冲突使用链地址法当多个 key 的哈希值相同时它们会存储在同一个链表中。在 Java 8 中当链表长度超过一定阈值时会转为红黑树。ArrayList 和 LinkedList 区别ArrayList基于动态数组查询快O(1)增删慢O(n)。LinkedList基于双向链表增删快O(1)查询慢O(n)。第二轮问题答案线程状态新建NEW线程刚创建尚未启动。可运行RUNNABLE线程正在运行。阻塞BLOCKED线程等待锁。等待WAITING线程等待其他线程的通知。超时等待TIMED_WAITING线程等待一定时间后自动解除等待。终止TERMINATED线程已结束。创建线程的三种方式继承 Thread 类。实现 Runnable 接口。使用 Callable 接口结合 FutureTask。线程池核心参数核心线程数corePoolSize。最大线程数maximumPoolSize。队列容量workQueue。线程存活时间keepAliveTime。线程工厂threadFactory。第三轮问题答案Redis 五种数据类型及应用场景String计数器、缓存。List消息队列、任务队列。Set标签、去重。Hash存储用户信息。ZSet排行榜。Redis 持久化机制RDB定期快照方式。AOF追加写日志方式。InnoDB 和 MyISAM 区别InnoDB 支持事务、行级锁、外键适合高并发场景。MyISAM 支持表级锁不支持事务适合读多写少场景。