• 几道面试题记录20231023


    1, JVM优化

      -Xms=-Xmx

      -Xmn

      -Xss

      -XX:PermSize

      -XX:MaxPermSize

    -NewRatio

    -SuvriorRatio

    收集器配置:

             一般:串行收集 Serial

             吞吐优先:并行收集Pramllel

    响应优先:并发收集Conc

    2,支付掉单如何解决?

    因为网络等原因,支付网关未收到银行返回的操作结果(银行扣款未成功;银行扣款成功,故客户的虚拟账户及订单收款状态未发生变化,称为掉单。

    可以通过后端程序轮询银行前置机的支付接口,查询支付状况,根据情况延迟更新客户的虚拟账户及订单收款状态。

    3,行级锁如何解决?

    通过存储过程

    4,数据库事务的安全性?

             创建恢复点

             开始事务

             结束事务

             提交事务或回滚事物

    5,假如给tomcat的内存只有40MB,数据库有20000条记录,一次性导出到客户端,内存不够用怎么办?

             将20000条记录分批次先后导出(分页查询)到不同文件,再合并到一个文件。

                                                                         

    6,长时间的事务如何处理?

             收缩日志文件(修改日志文件大小),就是短时提交,这样保持会话的连续性。

    7, 大量并发操作hashmap,如remove,put,get等,不能使用synchronized关键字来同步,也不能使用hashtable(线程安全耗时),如何解决?

             ThreadLocal(线程隔离,独立维护线程局部变量副本 HashMap) 在SSH框架应用较多,特别struts.Hibernate

    8,分布式以及集群环境下,对大量小文件均衡同步分发,是什么原理,采用什么算法?

             经过HashTree(多次hash)来同步,hash算法,如TFS,GFS,HDFS.

    9,MQ应用中,消息的消费处理低于消息生产,消息队列发生阻塞,如何处理?

             1,消息生产对消息分组打包发送,消息消费拆包消费,从而降低消息队列中的消息数量。

             2,设置相应的q,timeout值,xmitq值要设置大些。

    10,有一张很大的银行卡表,因账务操作,使用频繁,并发量大,导数数据库压力增大,如何处理?

             使用缓存(应用缓存,数据库缓存),或表拆分

    11,Oracle表分区的好处?

             通过对表进行分区,可以获得以下的好处: 

    1) 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 

    2) 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;  

    3) 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;  

    4) 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度

    12,数据库表拆分(一主多从到多主多从)

    两个维度:

     垂直拆分:是指按功能模块拆分,比如可以将群组相关表和照片相关表存放在不同的数据库中,这种方式多个数据库之间的表结构不同。

      水平拆分:而水平拆分是将同一个表的数据进行分块保存到不同的数据库中,这些数据库中的表结构完全相同。

    13,线程间通信(数据传递或共享)?

    1. 注入回调接口;静态回调…
    2. 全局变量
    3. 系统环境变量,
    4. 虚拟机环境变量
    5. 文件形式
    6. 表状态
    7. JMS,MQ
    8. 管道流
  • 相关阅读:
    2024王道考研计算机组成原理——指令系统
    2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-C
    crm项目创建与搭建MyBatis逆向工程根据数据库生成model
    蓝桥杯每日一题2023.11.20
    Linux系统文件属性
    [java/初学者/GUI编程]GUI界面设计——界面组件类
    【微信小程序 | 实战开发】常用的基础内容组件介绍和使用(2)
    WEB自动化_webdriver常用方法
    containerd的ctr tasks kill不起作用
    【机器学习300问】125、什么是双向循环神经网络(BRNN)?什么是深度循环神经网络(DRNN)?
  • 原文地址:https://blog.csdn.net/caryxp/article/details/134047336