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

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

相关推荐
七夜zippoe14 分钟前
缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(三)
java·开发语言·缓存
lllsure18 分钟前
【Docker】镜像
java·spring cloud·docker
zhysunny21 分钟前
51.不可变基础设施:云原生时代的「乐高城堡」建造法
java·云原生
无名客028 分钟前
SQL语句执行时间太慢,有什么优化措施?以及衍生的相关问题
java·数据库·sql·sql语句优化
风槐啊33 分钟前
邪修实战系列(3)
java·ide·spring boot·spring·tomcat
前端小巷子33 分钟前
JS 打造「放大镜 + 缩略图」一体组件
前端·javascript·面试
陈随易34 分钟前
适合中国宝宝的AI编程神器,文心快码
前端·后端·node.js
咋吃都不胖lyh37 分钟前
SQL数据分析原代码--创建表与简单查询
java·数据库·sql
毕设源码-朱学姐39 分钟前
【开题答辩全过程】以 _基于SpringBoot技术的“树洞”心理咨询服务平台的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
阑梦清川1 小时前
AI编程实战记录贴2/100,关于Github提交代码失败的思考
后端