招银云创面试经历分享:技术挑战与反思,如何应对高强度的面试过程
招银云创面试经历分享:技术挑战与反思,如何应对高强度的面试过程
面试对象是武汉的招银云创,整个过程长达47分钟,技术考察的强度可谓严苛,面试体验如同一场八股盛宴,难度颇高,感觉自己全程被“吊打”。
难道现在的面试强度这么高吗?
接下来,我将分享一些在面试过程中的技术问题。
- 如何确保你的流程引擎与业务代码之间的解耦?你采用了哪些架构设计或设计模式?具体是如何抽象出业务功能的?
- 在流程审批结束后,通常调用方法A,现在需要调用方法B或其他多个方法,你会如何设计这个需求?(请从设计模式或动态注入的角度分析)我提到了策略模式,但面试官指出这不够解耦,接着提到了责任链模式。实际上,这里考查的是观察者模式,但当时我没有想到。
- 简述Spring Cloud的Eureka及其服务探活机制。抱歉,我对此不太了解。
- 请谈谈代理模式。在哪些场景下会使用代理模式?在业务层面如何使用?(面试官不让我提及Spring框架下的AOP或声明式事务的代理模式)
- 关于索引的原理,你可以按版本说明,不同版本之间有什么区别?(我第一次听说这个问题,疑惑是否是在询问自适应哈希索引,但我只了解过,记不太牢,所以不敢作答)
- 你了解索引的类型以及检索机制吗?
- 请列举联合索引失效的场景。例如,联合索引(a,b,c)在b=null的情况下,a=xx and b=xx or c=xx,会生效吗?
- 你能解释一下clone方法的原理吗?为什么是浅拷贝?(我只知道这是浅拷贝,具体原理不清楚)
- 为什么Redis可以支持高并发而采用单线程?
- 针对千万级数据表,查询效率低下,怎样进行优化?
- 分库分表的设计思路是什么?你是否有相关经验?(我的回答显得很八股,面试官看出来了)
- 请解释数据库的explain,包含哪些字段,各字段的含义是什么,重点关注哪些部分?(面试官补充说rows也很重要,后续也是如此,rows显示MYSQL执行查询的行数,数值越大越不好。但是,我不理解,数据量大不就导致rows更大吗?)
- 说说ConcurrentHashMap,是否遇到过线程不安全的场景?或者哪个API是线程不安全的?(我了解到ConcurrentHashMap的线程安全是指其每个方法的单独调用(即原子操作)是线程安全的,但整体互斥性并不受控。)我很困惑,那么ConcurrentHashMap的线程安全有什么实际意义?
- 线程有哪些状态?
- 哪个API可以将线程从就绪状态转换为运行状态?(我回答了start,实际上是initial转就绪,面试官说是run方法,我感到自信受挫)
- 哪个API使线程从运行状态变为阻塞状态?
- 如何唤醒线程?notify与notifyAll有何区别?
- sleep与wait的区别是什么?start与run之间又有什么差异?
- 双向链表有哪些类?(我提到了linkedHashMap,面试官说这是单向的,我质疑他是否听错了,AQS也有使用,但不清楚当时因紧张是否忘词)
- 你擅长哪些技术栈?我对Spring没什么好说的,只能说它是一个框架。(我并没有真正擅长的,可以说Spring和SpringBoot熟悉)
- SpringBoot相较于Spring有哪些区别?
- 事务在Spring中的实现。
- 事务失效的场景。
- 请说明ORM框架中MyBatis的缓存机制。(对此我并不了解)
- spring-core的核心组件是什么?(我没有研究过)
- 解释MVCC。
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果