美团测开暑期实习一面——到家

1.自我介绍
2.项目
redis为什么快
redis五种数据类型和应用场景
进程和线程
进程之间怎么通信
python和java有什么区别联系
springboot的框架流程?(不太记得)
http和https的区别
mysql有哪些索引
多态的实现
java如何处理异常
ssl加密过程
手撕排序两个有序列表
发红包怎么测试
全部评论
uu什么时候面试的?
点赞 回复 分享
发布于 2024-04-15 18:03 江苏
Redis 支持五种主要的数据类型,分别是字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Sorted Set)。下面我会详细介绍每种类型的特点及其应用场景: 1. **字符串(String)**: - **特点**:最基本的类型,可以包含任何数据,比如 jpg 图像或者序列化的对象。 - **应用场景**: - 缓存用户信息、网页数据、临时数据等。 - 实现计数器功能,如网站页面访问计数。 - 存储会话(Session)数据。 2. **哈希(Hash)**: - **特点**:键值对集合,适用于存储对象。 - **应用场景**: - 存储、读取、修改对象属性。 - 存储多个字段及其值,如用户的名称、邮箱、登录次数等。 - 适合存储对象和表示更复杂的数据形式。 3. **列表(List)**: - **特点**:字符串列表,按插入顺序排序,可以在列表的头部或尾部添加元素。 - **应用场景**: - 实现消息队列,支持发布/订阅模式。 - 存储多个值的序列化。 - 实现栈(后进先出)或队列(先进先出)。 4. **集合(Set)**: - **特点**:字符串集合,不允许重复,无序。 - **应用场景**: - 存储独一无二的数据,如标签、好友列表等。 - 实现社交应用中的共同好友功能。 - 快速访问和查找,检查数据是否存在于集合中。 5. **有序集合(Sorted Set)**: - **特点**:不允许重复的成员,每个成员都关联一个浮点数分数,成员按分数有序排列。 - **应用场景**: - 排行榜系统,如游戏排行、学生分数排行等。 - 根据范围的数据检索。 - 实时排序的数据展示。
点赞 回复 分享
发布于 2024-04-17 12:54 广东
Spring Boot 的框架流程主要包括项目初始化、依赖管理、自动配置、启动器、内嵌服务器、配置文件、注解驱动开发、自动装配、监控和管理以及打包部署等步骤
点赞 回复 分享
发布于 2024-04-17 12:56 广东
约二面了嘛
点赞 回复 分享
发布于 2024-04-18 11:42 辽宁

相关推荐

1. NAT和IPv6作为解决IPv4地址耗尽问题的两个方法,分别存在什么问题        NAT        - 端到端通信受限,客户端设备无法直接被外部访问    - 复杂性增加        IPv6        - 兼容性问题    - 部署成本高2. 视频会议为什么使用UDP协议,数据丢失如何解决    - 低延迟:UDP 没有连接建立、确认、重传等机制,传输速度快,适用于实时通信。    - 丢包可容忍:视频和音频数据即使丢失部分帧,仍然可以继续播放,不影响整体体验,而 TCP 需要等待重传,可能会导致卡顿。    - 数据丢失可以采用更可靠的协议,比如基于UDP的QUIC协议3. Linux中,创建、移动、复制、删除文件和目录的指令    - 创建文件:touch filename    - 创建目录:mkdir dirname    - 复制文件:cp source dest    - 复制目录:cp -r sourcedir destdir    - 移动/重命名文件:mv source dest    - 删除文件:rm filename    - 删除目录:rm -r dirname4. SQL中的子查询是什么,可以用在什么场景    子查询是指 在一个 SQL 语句中嵌套另一个查询,通常用于筛选数据或计算值。    - 筛选数据 :SELECT name FROM students WHERE id IN (SELECT student_id FROM scores WHERE score > 90);    - 计算聚合值:SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);5. volatile关键字的作用是什么        volatile 关键字用于 保证变量的可见性,即多线程环境下,一个线程对 volatile 变量的修改会立即被其他线程看到。作用如下:        1. 禁止指令重排序,保证代码按顺序执行。    2. 保证可见性,每次访问 volatile 变量时,都会从主存中读取最新值,而非线程的本地缓存。    3. 不保证原子性,如 volatile int count++ 仍然可能产生竞态条件,需要 synchronized 或 AtomicInteger 解决。6. Java中的多态是如何实现的 谈谈你对多态的理解        **多态(Polymorphism)** 指的是 **同一方法在不同对象上表现出不同的行为**。Java 中的多态可以从以下几个方面考虑:        - 方法重写:子类重写父类的方法    - 方法重载:同一个类中的同名方法,参数不同、返回值不同,根据需要调用    - 接口和抽象类:通过接口或抽象类,使不同类具有相同方法签名,实现不同功能。7. 设计一个校园论坛帖子的防刷机制,如何考虑    - 限流/分布式限流    - IP黑名单    - 验证码8. 如何识别和应对点赞的恶意脚本和机器人9. 实习和项目中是如何应对快速学习的情况的10. 短链接项目的背景和目的是什么(第八个问题中提到了短链接项目)11. 你在短链接项目中具体负责的部分是什么,是如何使用Kafka消息队列的12. 你在实际开发中是否遇到过很复杂的问题,你是如何发现并解决的13. 三年内职业规划
查看13道真题和解析
点赞 评论 收藏
分享
评论
2
17
分享

创作者周榜

更多
牛客网
牛客企业服务