松鼠 AI 25 Java 开发 一面

松鼠 AI 25 Java 开发 一面

本文作者:程序员小白条

本站地址:https://xbt.xiaobaitiao.top

1)自我介绍

2)接口调用平台需求分析、业务流程介绍

3)邀请码设计

4)Map、List、Set 区别

5)中奖名单用什么结构,统计人昵称和名次以及频率

6)HashTable 和 HashMap 的区别

7)JVM 垃圾回收,对象死亡判断、垃圾回收算法、垃圾回收器

8)进程和线程的区别

9)线程池的作用

10)内存泄漏的场景和解决方案

11)OSI 七层模型

12)TCP 和 UDP 的区别

13)TCP 可靠性怎么保证的?

14)数据库深度分页优化

15)联合索引场景和注意事项

16)算法:中序遍历 + 合并两个有序数组

反问:技术栈和业务,模块划分等。

2)接口调用平台需求分析、业务流程介绍

需求分析

  • 目标:统一管理外部接口调用,保障安全性和可观测性。
  • 功能:
    1. 权限控制:API密钥+IP白名单。
    2. 限流熔断:防止滥用(如令牌桶算法)。
    3. 监控报警:记录调用日志+失败告警。

业务流程

  1. 用户申请API密钥并配置权限。
  2. 调用时携带密钥,网关校验权限和限流。
  3. 请求转发至后端服务,结果返回并记录日志。

3)邀请码设计

  • 生成规则
    • 前缀(标识业务)+ 时间戳 + 随机码(如UUID部分字符)。
    • 示例:INV_20230801_3xY7
  • 存储:Redis(过期时间)+ MySQL(持久化)。
  • 校验:Redis查重+业务规则(如用户绑定防刷)。

4)Map、List、Set 区别

特性 Map List Set
存储 Key-Value对 有序可重复元素 无序唯一元素
实现类 HashMap, TreeMap ArrayList, LinkedList HashSet, TreeSet
用途 快速查找(O(1)) 顺序访问/插入 去重/集合运算

5)中奖名单结构设计

  • 需求:统计昵称、名次、中奖频率。

  • 数据结构

    java

    // 使用Map嵌套List  
    Map<String, List<Record>>  
    // Record包含:rank(名次)、frequency(频率)  
    
  • Redis实现

    • ZSet(Sorted Set):存储昵称和分数(名次)。
    • Hash:记录昵称和频率(HINCRBY user:frequency 昵称 1)。

6)HashTable 和 HashMap 的区别

对比项 HashTable HashMap
线程安全 同步方法(性能低) 非同步(需手动加锁)
Null键值 不允许 允许
迭代器 En

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

大学四年面经(学院本) 文章被收录于专栏

大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

全部评论
mark
1 回复 分享
发布于 2025-08-05 14:54 安徽
老师,你怎么这么多面经。。。
1 回复 分享
发布于 2025-08-05 14:53 广西
我嘞个三次握手
1 回复 分享
发布于 2025-08-05 14:38 北京
我这里有最近在做的大厂项目可以包装到简历上的,如果有同学还在因为简历上没有可以拿的出手的项目经历而约不到面试,可以去看下我主页简介中的项目地址
点赞 回复 分享
发布于 2025-08-05 15:51 江苏

相关推荐

01-16 15:19
门头沟学院 Java
AI让你的思考变深了还是...
点赞 评论 收藏
分享
01-20 11:47
已编辑
北京邮电大学 Python
大模型数据算法实习生2026.01.09,上午10:00,一面,线上,30多min,只有自己开摄像头,面试官没开1.自我介绍2.有没有用过正则表达式处理过数据?3.假设给一个jsonl数据,和几个关键词,jsonl数据中命中3个以上关键词保留,让用python实现(用了两层循环)4.往列表里添加一条数据是什么方法(append)5.python中的多进程和多线程有什么区别?网络请求中是多进程快和多线程快?(答的不好)6.python中的is和==的区别(说了is主要用于字符串或bool类型判断,==主要用于数值判断,结果面试官让用更“科学”的方式解释)7.python里面的迭代器和生成器有什么区别?(答的不好)8.假设给一个100G的jsonl文件,但内存只有10G,如何读取数据(说用pandas处理,结果不让用,让用最原始的方式处理,后来又说了对文件进行压缩)9.手撕:LeetCode两数之和(哈希表)10.问平常使用什么系统(说了windows,也用linux)11.假设linux系统中没有root权限,如何给一个文件赋予读写权限(说了如果知道密码,可以sudo&nbsp;su转成root用户或者chmod&nbsp;-R)12.给一个路径,求路径下面有多少个文件和文件夹(说了tree)又问如果只统计文件夹呢?(答的不好)13.一个文件目录下有很多个txt文本文件,如何找到其中包含“乘式”的文件?(答的不好)14.问了grep15.问有没有使用过大数据相关的组件(说了hadoop,spark,flink但不熟悉)反问:1.部门的主要业务,主要是做大模型和多模态大模型相关的,我这个岗位主要是处理预训练的数据,可能会涉及算法2.使用什么服务器,A100,H100,910B都有(居然有910B,NPU?!)感受:没想到一道大模型相关的八股都没问,没想到居然问了一堆python基础,也没想到问了linux的一堆操作
查看16道真题和解析
点赞 评论 收藏
分享
评论
4
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务