25年8月KN Group Java实习 一面

#JAVA##JAVA面经##JAVA内推#

技术部分

  1. 平时怎么理解Java的面向对象?项目里有实际用到哪些设计思路吗?

我认为面向对象不仅是语法特性,更是用现实世界思维建模软件的方法论:

  • 封装:隐藏内部实现(如订单状态机封装在OrderService,外部只调placeOrder()
  • 继承:代码复用(项目中BaseController统一封装响应格式)
  • 多态:扩展灵活性(支付模块用策略模式,见下题)
    项目实践
  • 策略模式+工厂模式实现支付方式:定义PaymentStrategy接口,Alipay/WechatPay实现类,PaymentFactory根据type返回策略。新增支付方式只需加实现类,符合开闭原则。
  • 模板方法模式:导出功能中,AbstractExporter定义流程(查数据→生成文件→上传OSS),Excel/PDF子类重写具体步骤。
    核心收获:面向对象让代码像搭积木,改需求时‘改一处而非改百处’。
  1. 多态能举个你写代码时遇到的例子吗?比如父类引用调子类方法那种。

校园二手平台中,商品审核场景:

// 父类接口
public interface ContentChecker { 
    boolean check(String content); 
    String getType(); // 返回"文本"/"图片"
}

// 子类实现
@Component
public class TextChecker implements ContentChecker { ... } // 敏感词过滤
@Component
public class ImageChecker implements ContentChecker { ... } // 调用阿里云内容安全API

// 多态应用:审核服务
@Service
public class AuditService {
    @Autowired 
    private List<ContentChecker> checkers; // Spring自动注入所有实现类
    
    public boolean audit(Product product) {
        return checkers.stream()
            .filter(checker -> checker.getType().equals(product.getType()))
            .allMatch(checker -> checker.check(product.getContent())); // 父类引用调用子类方法
    }
}

价值:新增视频审核只需加VideoChecker实现,无需修改AuditService。这让我深刻体会到:多态是解耦扩展的基石

  1. 假如让你做一个简单的订单功能(下单、查订单),你会拆成哪几个模块?为啥这么分?

高内聚低耦合+单一职责原则拆解:
1️⃣ API层(Controller):接收HTTP请求,参数校验,统一响应封装
2️⃣ 应用层(Service)

  • OrderService:核心业务逻辑(创建订单、状态流转)
  • InventoryService:库存扣减(防腐层,隔离商品模块)
    3️⃣ 领域层(Domain)
  • Order实体:含状态机(create→paid→shipped
  • OrderRepository:持久化接口(定义方法,不写SQL)
    4️⃣ 基础设施层(Infrastructure)
  • OrderMapper:MyBatis实现Repository
  • 消息发送(RabbitMQ通知物流)
    分层价值
  • 修改数据库不影响业务逻辑(Repository接口隔离)
  • 单元测试可Mock Repository,专注验证Service逻辑
  • 符合DDD思想,未来扩展优惠券、积分等模块时边界清晰
  1. 数据库主从复

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

全部评论
接好运
点赞 回复 分享
发布于 03-07 12:56 广东
专栏目录https://www.nowcoder.com/share/jump/1772859327707
点赞 回复 分享
发布于 03-07 12:56 广东
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏。
点赞 回复 分享
发布于 03-06 15:50 广东

相关推荐

评论
5
3
分享

创作者周榜

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