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

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

相关推荐
jack_yin5 分钟前
Telegram DeepSeek Bot 管理平台 发布啦!
后端
小码编匠11 分钟前
C# 上位机开发怎么学?给自动化工程师的建议
后端·c#·.net
库森学长12 分钟前
面试官:发生OOM后,JVM还能运行吗?
jvm·后端·面试
转转技术团队14 分钟前
二奢仓店的静默打印代理实现
java·后端
蓝易云14 分钟前
CentOS 7上安装X virtual framebuffer (Xvfb) 的步骤以及如何解决无X服务器的问题
前端·后端·centos
然我15 分钟前
面试必问:JS 事件机制从绑定到委托,一篇吃透所有考点
前端·javascript·面试
钢铁男儿32 分钟前
C# 接口(什么是接口)
java·数据库·c#
丶小鱼丶1 小时前
排序算法之【归并排序】
java·排序算法
上上迁1 小时前
分布式生成 ID 策略的演进和最佳实践,含springBoot 实现(Java版本)
java·spring boot·分布式
永日456701 小时前
学习日记-spring-day42-7.7
java·学习·spring