暑期第一面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

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

相关推荐
涡能增压发动积2 天前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
云烟成雨TD2 天前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
Wenweno0o2 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
于慨2 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg3213212 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung2 天前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald2 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川2 天前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
呆瑜nuage2 天前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
一轮弯弯的明月2 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得