总结
虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。
上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料
有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
如何实现一个功能简单的学生信息管理系统,能够对学生信息(包括照片)进行添加、删除、修改和查询等操作。
二、基本要求
实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改、查询(显示学生相片)学生信息,添加学生信息时,要求能添加学生的相片信息(实现相片文件的上传和下载功能)。
三、需求分析
程序设计的任务是实现对学生信息的管理。用户名和密码都默认设置为0,用户名或密码输入错误会弹出“用户名或密码输入不正确”的对话框。在用户名和密码输入正确后进入学生信息管理系统,然后进行添加、修改、删除等操作。在添加操作里面可以上传和下载照片,这是File类型的。输入的其他学号、姓名、性别、电话、QQ和专业都是String类型,输出的也是String类型。点击确认后会弹出“添加成功”。
四、概要设计
1、类之间的调用关系
2、学生信息模块
3、系统管理模块
系统的全部代码文件展示如下:
1、Main.java类 |
---|
2、View.java类 |
---|
3、Student.java类 |
---|
4、ConnectSQLServer类 |
---|
5、LoginGUI类 |
---|
五、调试分析
在一开始调试的时候,发现虽然没有错误,但无法运行,找了很久发现是自己在main方法里没有去调用init()方法,然后填上了之后程序可以运行。然后在成功登录后进入学生信息管理系统界面。在里面没有上传照片和下载图片这一选项。我在View这个程序里面首先添加了本地的图片作为图标可供下载,然后选定一个文件夹Config作为上传的路径。这样,我就在LoginGUI类里面的添加按钮监听器里面再增加了调用View类的use()方法的监听器,实现了图片上传和下载的功能。
总之,从一开始参考书上例题打出来的程序作为基石,在上面进行雕刻。从设计转化为实现,打基础这一步很困难,因为要花很长时间查资料、看书和看代码来理解程序,然后才能自己灵活进行优化。同学之间也相互讨论帮助,都能给出自己的想法,然后交流之后会得出更好的创意,从第一个星期开始,我已经规划好要怎样做,许多同学也参考了我的规划。我一直按照计划实施并且很顺利地完成了程序设计。
六、用户使用说明
1、登录
(1)程序设计的任务是先设计出一个登录窗口,输入用户名和密码。
如果输入错误,会像如图所示输出“用户名或密码输入不正确”的对话框。
我给出的代码为了方便调试,用户名和密码全是0,注意程序入口是LoginGUI类。
(2)如果正确,则成功登录,进入学生信息管理界面,如图所示:
2、添加
(1)点击“添加”按钮,进入学生信息添加界面:
(2)在以上界面输入要添加的学生信息,首先点击“上传照片”按钮,然后弹出具有上传照片和下载照片功能的窗口:
(3)点击浏览选项,选择本地文件里需要上传的图片,这里我们选择Taylor Swift的图片,然后点击上传,会显示“上传成功”的对话框。
(4)可以看到这张图片上传到了本地D:/Test目录下,实现了图片的上传功能。
//上传按钮的监听器
bUpload.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String fromFileName=tFileName.getText();
// 上传的目标目录
String toFileName="D:/Test/" + System.currentTimeMillis() + ".png";
write(fromFileName, toFileName);
JOptionPane.showMessageDialog(jf, "上传成功!", "提示", JOptionPane.WARNING\_MESSAGE );
}
});
(5)点击“下载”按钮,先选择电脑上的一个目录,然后输入保存的文件名,这里我依然是打开到D:/Test目录,然后文件名写的是123.png,最后点击打开。
(6)它会将显示的头像以你指定的文件名,下载到你指定的目录中,实现了文件的下载功能。
(7)然后添加其他的学生信息,如图所示:
(8)点击“确认”按钮,即可保存学生信息。我们再添加一个学生的信息,输入完信息后,点击确认按钮添加成功,如下图所示:
3、查询
(1)在学生管理界面的学生信息列表中点击“查询”按钮,即可显示已经添加的学生信息记录。第一次点查询是查询学号为空的学生,自然是不存在,第二次查点询则显示所有的学生。这是将全查和查询单个学生的功能放到一起。
文末
我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档
- 第一个要分享给大家的就是算法和数据结构
- 第二个就是数据库的高频知识点与性能优化
- 第三个则是并发编程(72个知识点学习)
- 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料
还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
记这里就不一一列举出来