金证科技股份有限公司社招Java工程师(二面)

  1. 自我介绍,HR面----------------略
  2. 直接聊项目,你们公司对分库分表,避免热点是怎么处理的?----------这涉及到数据库瓶颈问题的解决,所以要结合项目,对数据进行垂直和水平拆分。水平分库:(可以手动画个草图来阐述)当用户通过userId来请求数据,通过对userId的分析得出该去哪个数据库进行操作(比如:A数据库是偶数userId,B数据库是奇数userId。不仅仅是通过userId也有按照其他分库的方式,每个库的结构一样,但数据不一样)。水平分表:做法和分库是一样的。垂直分库:依照业务的不同,拆分成多个数据库(用户数据库和产品数据库……各管各的),垂直分表就是依照uid为核心,将字段分割(比如表一存放个人身份信息姓名年龄……,表二存放个人社交信息联系方式地址……)
  3. 除了分库分表,你还了解些MySQL什么优化?--------------SQL语句上的优化……
  4. 谈谈对BigDecimal的理解?------------主要是在涉及到金融交易项目中浮点运算丢失精度的问题,通过对构造器的参数为String类型进行算术运算相关API的调用。通过API提供的对象方法进行传统的加减乘除算术运算……
  5. Spring的IOC和DI、AOP?-------------------IOC直译过来就是控制反转,将创建对象的操作交给Spring框架……,DI利用Spring注入属性值……,AOP切面……。
  6. SpringMVC的执行流程?------也是画图的策略,从请求----拦截器-----适配器----业务逻辑转发----视图渲染-----返回……来说明。
  7. MyBatis中#{}和${}的区别?--------#{}属于预编译处理会将sql中的#{}替换为?,调用PreparedStatement的set方法进行赋值,${}属于字符串替换,配置数据源中用过……
  8. Mybatis的缓存?-----------------一级缓存……,二级缓存……
  9. 谈谈你所了解的IO模型?-----------------最好是画个草图来阐述。阻塞式IO:当用户进程对服务请求时,服务器在返回数据的过程中,用户线程阻塞在调用处,直到数据返回才继续执行。非阻塞式IO:当用户请求数据时会立即得到一个回复,即使数据报还没准备好,不会阻塞用户线程的其他执行操作。异步IO:用户发出请求后会立即得到一个请求,不阻塞用户的其他执行,当数据准备好后会通知用户。
  10. 你是如何理解同步/异步,并发/并行的概念的?-----------同步就是调用者必须等到方法调用返回后,才能继续后续的行为,异步调用会立即返回,调用者可以继续后续的操作,因为真正的执行不会影响阻塞调用者。并发,多个任务交替执行,但每次只有一个任务在执行。并行是真正的同时执行……
  11. 如何理解锁的概念,列举出几个锁来说明它?-------------手写伪代码来说明……
  12. 两个有序数组,数组中包括一些重复元素,合并成一个有序数组,并且去重,如何通过代码实现?-------个人的思路是先合并,然后通过集合的原理去重……具体手写伪代码即可。
  13. 你有什么要问的吗?---------我问了线上环境的部署情况,面试官一脸蒙。。。。。。后来又具体地表达了想知道他们公司的项目针对群体(后台管理和前端普通用户)需要考虑哪些问题,面试官还是说不出个所以然来。。。。。。。不好意思再问面试官了。
  14. 总结:以项目为基本支撑的一些数据库、锁,还有些项目常用的框架为主要考察内容。
#金证股份##社招##Java工程师##面经#
全部评论
感谢分享面经!欢迎参加过社招的牛友发社招面经拿京东卡!~ -------------------- 活动:社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡
1 回复 分享
发布于 2019-11-22 16:08
👍
点赞 回复 分享
发布于 2019-11-23 19:11
那个去重的在合并阶段是不是就能直接判断呀
点赞 回复 分享
发布于 2019-11-22 09:39

相关推荐

2025-12-23 16:30
蚌埠坦克学院 Java
1.自我介绍(拷打实习项目)2.对实习中用到的技术栈,哪些比较熟悉呢?3.在你的项目里,ES一般用来做什么?4.用ES做搜索引擎主要是用它的全文检索吗?(?)5.ES作为搜索引擎来说,它的数据是怎么去存储的呢?6.ES是怎么做的快速检索功能?7.你知道ES的倒排索引吗?8.ES作为向量数据库是只有一个索引吗,还是说按照时间去分?9.ES作为向量数据库,它的重要字段是哪些?10.文章的内容是存在哪的?11.用户从对内容进行检索到获取反馈,链路是什么?12.进行关键词检索的时候,具体是怎么做的?13.一次完整的从文件上传到文件存储是怎么实现的?14.ES作为向量数据库,到底存哪些东西,文章标题会存进去吗?15.项目里哪些地方用到了Redis?16.Redis的过期时间是怎么设置的呢?17.用Redis存储分片上传状态的话,过期时间是怎么设置的呢?18.进行文件拆分的话,是异步处理的吗?19.在异步处理的时候,如果失败了,客户怎么感知呢?(面试官以为有个任务中心)(拷打练手项目,Tech-pai)1.项目里ES用来做什么的,也存了向量的吗?2.ES的模糊匹配怎么实现的呢?3.ES的分页展示是怎么做的?4.如果超过一万条数据进行分页展示,会有什么问题?5.为什么ES能实现搜索引擎的功能?6.ES查询为什么快?(八股)20.MySQL的索引了解吗?21.联合索引的数据结构是什么样的?22.B+树的叶子节点和非叶子节点分别存的什么东西?23.联合索引的叶子节点会存具体的数据吗?24.什么情况下会回表,什么情况下不会回表呢?25.联合索引的索引失效有哪几种情况?26.MySQL的事务中,什么情况下会发生死锁?(场景题)1.MySQL中,事务A和事务B同时修改同一条数据,会出现死锁问题吗?不会的话,现象是什么?反问
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-12-18 19:35
点赞 评论 收藏
分享
评论
6
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务