牛客面经02

简述一下 GDB 常见的调试命令

(gdb)help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h
(gdb)run:重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r
(gdb)start:单步执行,运行程序,停在第一执行语句
(gdb)list:查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l

说一说ArrayList的实现原理

数组实现、默认容量为10、每次扩容1.5倍

介绍一下Java中的序列化与反序列化

序列化:就是将对象通过流的方式以字节的形式输出写入进文件中。相关流–ObjectOutputStream
反序列化:则是将文件中的字节重构为对象。相关流–ObjectInputStream
两者如果在操作同一个对象,尽可能使用同一个文本地址。并且尽量进行1序1反的操作,防止出现错误。

什么是MVC

MVC是一种设计模式,在这种模式下软件被分为三层,即Model(模型)、View(视图)、Controller(控制器)。Model代表的是数据,View代表的是用户界面,Controller代表的是数据的处理逻辑,它是Model和View这两层的桥梁。将软件分层的好处是,可以将对象之间的耦合度降低,便于代码的维护。

Model:指从现实世界中抽象出来的对象模型,是应用逻辑的反应。它封装了数据和对数据的操作,是实际进行数据处理的地方。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

View:是应用和用户之间的接口,它负责将应用显示给用户和显示模型的状态。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

Controller:控制器负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程。它主要负责两方面的动作,一是把用户的请求分发到相应的模型,二是把模型的改变及时地反映到视图上。

加分回答

最典型的MVC就是jsp+servlet+javabean模式。

以JavaBean作为模型,既可以作为数据模型来封装业务数据,又可以作为业务逻辑模型来包含应用的业务操作。JSP作为视图层,负责提供页面为用户展示数据,提供相应的表单来用于用户的请求,并在适当的时候向控制器发出请求来请求模型进行更新。Serlvet作为控制器,用来接收用户提交的请求,然后获取请求中的数据,将之转换为业务模型需要的数据模型,然后调用业务模型相应的业务方法进行更新,同时根据业务执行结果来选择要返回的视图。

当然,这种方式现在已经不那么流行了,Spring MVC框架已经成为了MVC模式的最主流实现。Spring MVC框架是基于Java的实现的MVC框架模式的轻量级框架。前端控制器是DispatcherServlet,映射处理器是HandlerMapping接口实现类,视图解析器是ViewResolver接口实现类,页面控制器是Controller接口实现类。

请你讲讲UML中有哪些常用的图?

UML定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence diagram)、协作图(collaboration diagram)、状态图(statechart diagram)、活动图(activity diagram)、构件图(component diagram)、部署图(deployment diagram)等。在这些图形化符号中,有三种图最为重要,分别是:用例图(用来捕获需求,描述系统的功能,通过该图可以迅速的了解系统的功能模块及其关系)、类图(描述类以及类与类之间的关系,通过该图可以快速了解系统)、时序图(描述执行特定任务时对象之间的交互关系以及执行顺序,通过该图可以了解对象能接收的消息也就是说对象能够向外界提供的服务)。

《宾馆房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆房管理的实际业务场景。 C#是微软开发的向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储房、预订、户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“房表”“预订表”“户表”等,包含房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:房管理,可展示、添加、修改、删除房信息;预订管理,处理预订的查看、新增、修改和取消;户管理,存储和管理户个人信息;查询功能,支持按房类型、价格范围、预订日期等条件查询;报表和统计功能,生成入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界,方便用户完成预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界开发的综合实践案例,有助于提升开发者在数据库应用和系统集成方的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值