招银网络软开一面
1.说一下java的内存模型
2.说一下反射,以及如何通过反射创建对象
3.说一下你项目中文件下载的多线程相关内容
4.说一下java里面有什么类型的线程池
5.说一下File相关的一些方法
6.说一下spring的启动流程
7.在bean实例化前中后插入自定义的方法都有什么接口去实现
8.hash索引和b+树索引的区别
9.mysql连接池的配置参数举个例子(太具体了吧,类比普通线程池简单说了一下这样)
10.给案例写sql(前20名的平均分:子查询+avg函数)
11.具体的大表场景解决:
问:一个交易流水表有10亿数据,常用的查询是查单个客户和聚合单个用户某一段时间内的总金额。要如何设计这个表?
答:查单个客户的话可以给客户id做一个索引,然后聚合用户某段时间的总金额的话可以给客户id和交易日期做一个组合索引。然后对于10亿数据,应该是需要分库分表的,偏向是按照日期水平分表这样。
面试官补充:在这个具体业务中,应该要根据客户进行水平分表,这样表压力小,也更符合业务要求。并且我们可以引入分区表来管理日期数据,可以很方便去删除批量数据这样。
没有手撕算法。整体感觉问的内容很具体,具体到本来就是应该查文档的东西。不过感觉答得还不错。
反问:
问:java岗位主要做什么业务
答:大多都是银行相关的IT业务,比如交易系统,交易平台,app,风控管理平台,理财产品等
业务应该都是偏向交易的,对数据库要求可能会比较高,感觉可以多准备一下sql相关或者数据库相关。
大概是20分钟左右
#招银网络科技校招#