暑期第一面oωo, TME一面面经

前言

面试体验挺好的,讲项目什么的面试官也不会打断,跟着思路听,也会分享自己的思路。发现那边跟我现在在公司使用的开发平台和工具还挺相似的,都是TKE还有用灯塔做报表。反问业务对面给我介绍了好多,总之是做独立音乐人相关的内容和签约,感觉还蛮有意思的。

PS:居然没有出算法题

面经

问项目

问MySQL,还有什么类型的锁,答插入意向锁、元数据锁

问元数据锁是什么锁,答在对表的字段做更改的时候加的锁

问生产环境如果对一个千万级大表加字段,怎么避免长时间加锁,因为看过生产环境加索引的方案,然后转移话题说生产环境加索引(其实大同小异)要怎么加,答建一个新表,加字段/索引,将原表数据导入新表,将期间的增量数据导入新表,新旧表改名

复盘:发现自己讲的只是MySQL5.6.7之前的 pt-online-schema-change 方案,新版本有内部Online DDL,可以参考文章:阿里面试:1000万级大表, 如何 加索引?-阿里云开发者社区

问给一个update,条件包括id、age、name,age<16,会发生什么,答会把<16的数据都锁住,特别讲了下16边界情况的next-key-lock

问索引,答举例一个索引建在name上面,根据字典序排序,如果是前缀模糊查询能走索引,%开头会失效,展开讲了索引失效的几种情况,举例实际应用时怎么避免索引失效

问B树和B+树的区别,答B+树数据都在叶子节点,IO次数少,且有双向链表相连,支持范围查询,插入删除方便

问网络,TCP连接和断开连接过程,答三次握手四次挥手过程

问Java,有没有用过多线程,回答提了一嘴用过 CompletableFuture,然后转移话题到做过的定时任务怎么配置线程池(得好好看下JUC了)

问往线程池里面放一个线程会怎样,答根据核心线程数、最大线程数、拒绝策略决定执行流程

问拒绝策略有哪些,没答上

复盘:拒绝策略默认是 AbortPolicy 会丢弃任务并抛出异常,还有 DiscardPolicy 丢弃任务不抛出异常、 DiscardOldestPolicy 丢弃最前面的任务,重新提交被拒绝的任务、 CallerRunsPolicy 由提交任务的线程去处理任务

问有没有在Java中使用过事务,Java中是怎么实现的,答@EnableTransactionManager @Transactional可以实现声明式事务,还有方法可以实现编程式事务,推测@EnableTransactionManager会装配事务处理器,@Transactional是使用AOP

问有没有用过Java其他相关组件,比如Spring、Redis相关的,答在海关有用SpringCloud

反问那边业务,说是跟独立音乐人的内容和签约相关的业务,问是不是确实是暑期带转正说是,问培训制度,说跟这边差不多,就只是有导师带

相关推荐
V+zmm101343 分钟前
电器维修系统小程序+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
大鹏dapeng7 分钟前
Gone v2 goner/gin——试试用依赖注入的方式打开gin-gonic/gin
后端·go
PawSQL8 分钟前
推理模型对SQL理解能力的评测:DeepSeek r1、GPT-4o、Kimi k1.5和Claude 3.7 Sonnet
java·数据库·人工智能·sql·sql优化·pawsql·deepseek
*星星之火*12 分钟前
【GPT入门】第12课 FunctionCall 生成数据库sql代码
数据库·sql·gpt
熙曦Sakura13 分钟前
【MySQL】数据类型
android·mysql·adb
BeanInJ31 分钟前
JAVA字符串与正则表达式
java·正则表达式
tan180°38 分钟前
版本控制器Git(1)
c++·git·后端
GoGeekBaird39 分钟前
69天探索操作系统-第50天:虚拟内存管理系统
后端·操作系统
_丿丨丨_43 分钟前
Django下防御Race Condition
网络·后端·python·django
珹洺43 分钟前
数据库系统概论(三)数据库系统的三级模式结构
java·运维·服务器·数据库·oracle