PP停车|Java开发|四年

一、笔试题

关于SQL的面试笔试题:

text
复制代码
1. 一条SQL执行过长的时间,你可以从哪些方面做优化?(写出思路) 2. 目前PP停车项目中有一张详细的出入场停车记录表_record<long id,varchar16 merchant, datetime enter_time, datetime leave_time,varchar16 card_no>,注:merchant 商户号 enter_time入场时间,leave_time出场时间。 请写出SQL(数据库不限)来统计指定商户的停车场的今天里面的每小时车辆入场数量。 3. 现有钱包功能,需要提供接口实现对钱包进行的扣款: *注:钱包表`_wallet`,余额字段`balance`,钱包ID字段`id`。 *请写出代码实现中需要注意的地方。 *请写出在本需求中最安全高效的SQL。

二、面试问题

1. 并发与数据一致性

  • 如何在高并发场景下保证余额扣减的原子性?
  • 多线程同时扣减同一余额时如何避免超扣?
  • 除了乐观锁,还有哪些方案可以解决并发扣款问题?

2. 分布式系统与RPC

  • RPC调用流程是怎样的?
  • 服务发现与负载均衡的具体实现机制是什么?
  • 你们是否使用分布式服务?了解哪些RPC框架?

3. 数据库与性能优化

  • 单表数据量过大时如何处理?
  • 连接池参数如何调优?
  • 有没有处理过慢SQL或内存溢出问题?

4. 订单号生成方案

  • 在高并发场景下如何生成唯一订单号?
  • 是否了解雪花算法?它是如何保证分布式唯一性的?
  • 订单号设计有哪些考量?(长度、业务标识、唯一性)

5. 异步与定时任务

  • 是否使用过异步任务或定时任务框架?
  • 异步注解(如 @Async)与线程池的关系是什么?
  • 线程池参数如何设置?(核心线程数、最大线程数)

6. 业务理解与支付系统

  • 对银联、人行大小额支付系统的了解程度?
  • 企业网银系统中支付与清分的区别?
  • 是否参与过对账、报表导出等业务?

7. 项目经验与问题排查

  • 描述一次线上内存溢出问题的排查与解决过程。
  • 如何优化大批量报表导出时的内存问题?
  • 是否使用过消息队列(如 RocketMQ)进行异步解耦?

8. 软技能与自我评估

  • 你认为自己的技术优势是什么?
  • 沟通能力如何?能否承受工作压力?
  • 对加班的态度是怎样的?

三、面试问题

这次面试暴露了我在SQL编写、并发编程、分布式系统设计、支付业务深度等方面的不足,还需要这些方面加强学习与总结。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
遇见
下载 APP