当前位置: 首页 > article >正文

蚂蚁金服-OceanBase-测试开发工程师-面经

一面(15:00~16:20 110min)

面试(15:00~15:56)

一面是两个面试官面试,对数据库底层原理,毕业设计和项目流程进行了狠狠的拷打,最终进行了一道sql和一道算法的笔试,笔者觉得总体面试很偏底层,感觉答的很一般。

  1. 自我介绍
  2. 实习了多久时间,分别在哪实习?
  3. 技术栈呢,你的两个项目都是Java写的吗?
  4. 挑一个项目讲?(一个是遇到线上问题,排查并且解决了,一个是自己有高并发大流量的设计在里面,想要了解哪一个)
  5. 线上问题(从业务场景,到遇到第一个问题,再到遇到第二个问题排查和解决)
  6. 为什么会有提交表单无法提交的问题?(token问题)
  7. token过期时间怎么设置的?(12h)
  8. 为什么设置12h,感觉不合理(因为一开始没有发现问题,无法兜底,所以提交失败会先放redis,然后用定时任务提交,设置12h也是考虑自己休息和能处理问题的时间段)
  9. 数据库TIME和TIMESTAMP有什么区别?(不太清楚,平时都是存毫秒时间戳)
  10. 毫秒时间戳用什么类型存储(bigint)
  11. 数据库ACID?
  12. 数据库事务隔离级别?(答出来三个)
  13. 你怎么设计的数据库事务隔离级别?(因为笔者说了毕设是数据库内核研发。目前只有可串行化,后续会拿工厂模式适配)
  14. 线程和进程有什么区别?(讲解了线程,进程,协程,虚拟线程)
  15. 编码怎么实现可串行化?(加大锁,面试官说这样性能太差)
  16. 对Oceanbase哪些了解?(数据类型,内存模型,底层数据结构,和Mysql对比)
  17. 查询优化器怎么设计,你从你怎么调研,怎么区别,然后怎么实现了操作来讲?(看了书,了解到Mysql中是冷热分离的LRU链表,我觉得这样做缓存被淘汰上层无法感知,所以采用引用计数)
  18. 什么LRU?
  19. 说下引用计数怎么实现缓存框架?(三个map分别维护,实际缓存的数据,资源引用个数,正在被获取的资源)
  20. 如何一个线程正在读缓存,但是其他线程正在修改怎么办?(并发怎么解决的?在一个map中value为True代表正在被引用,那么其他线程会先sleep 1ms然后再查询,代码里写的while(true)如果没有获取就一直查询)
  21. 如果A修改了一块缓存,后续b要查询这块缓存,说一下你的引用计数的流程?(已经被拷打晕了)
  22. 讲一下项目,从一个用户的角度说有那些功能?(学生,教师角度描述)
  23. 通过AI生成错题是什么样的流程?(promot工程,错题表,根据题目的年级-科目-知识点生成)
  24. 项目亮点?(对热点点赞数据进行了异步写+写聚合,用了Redis+Rocketmq+Lua消费者批量消费,然后拿做写聚合)
  25. 用的哪家大模型,没有做训练么?(星火,没有训练,但是提出了用milvus训练多模态的数据,讲解了大概的原理,顺口提了一嘴Ob也支持向量)
  26. 说一下怎么利用大模型进行数据分析的?(导入Excel配置Promot,让大模型Json格式输出,适配Echars的数据格式,适配条形图,雷达图,饼图等)
  27. 面试官介绍了Base,薪资,需要提前去北京实习,问了手上有哪些在走流程?(同程,马力)
  28. 数字马力哪个部门?(不清楚,没有oc也没有感谢信)

笔试

  1. 查询平均分大于87的学生.(没写出来🤣)
  2. lc 简单题. (比较笨的写出来了,写完需要和面试官探讨)

结尾

面试官介绍了团队负责Oceanbase的数据转移,并且技术栈是Python.(我了解到Ob已经完全适配了Mysql,面试官说其实Orancle也基本适配了,我回答说自己其实Python也用到很多,主要是用刷算法和爬虫)

总结

底层拷打很严厉,面试官知识面很广很广,强度很高。


http://www.kler.cn/a/397298.html

相关文章:

  • nginx源码安装配置ssl域名
  • 什么是PostgreSQL,有什么特点
  • Tensorflow基本概念
  • 求A/B高精度值
  • python程序对服务器cpu和内存资源占用的管理。
  • postgresql.conf与postgresql.auto.conf区别
  • 计算机网络:运输层 —— TCP 的 “三次握手” 与 “四次挥手”
  • 集群策略选择vs生产需求点(负载/可用性、灾备/安全性)
  • sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!
  • 康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键
  • 网络安全:数字时代的守护盾
  • # ubuntu 安装的pycharm不能输入中文的解决方法
  • 基于的图的异常检测算法OddBall
  • 浅谈Java之简单算法
  • 从零到一:利用 AI 开发 iOS App 《震感》的编程之旅
  • 通过SpannableString设置超链接、颜色、字体
  • 处理namespace问题:Namespace not specified for AGP 8.0.0
  • STM32模拟鼠标绝对坐标的设置
  • 数据仓库在大数据处理中的作用
  • <tauri><websocket>tauri集成web端使用websocket实现数据通讯
  • [Docker#8] 容器配置 | Mysql | Redis | C++ | 资源控制 | 命令对比
  • 后端——接口文档(API)
  • 算法【Java】—— 动态规划之简单多状态 dp 问题
  • LeetCode 每日一题 2024/11/11-2024/11/17
  • MySQL5.7.37安装配置
  • DHCP、DNS域名系统(Domain Name System)、Samba、SSH (Secure Shell)