复试面试回答

自我介绍方向提问

1、提问python相关内容

当使用Python进行数据分析时,你可以遵循以下简单的步骤:

  1. 准备数据:获取你要分析的数据,可以是CSV文件、Excel文件、数据库中的数据,或者通过API获取的数据。

  2. 导入库:在Python中导入所需的库,主要包括Pandas用于数据处理和分析,NumPy用于数值计算,以及Matplotlib用于数据可视化。

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
  3. 读取数据:使用Pandas库的read_csv()read_excel()等函数读取数据。

    data = pd.read_csv('data.csv')
    
  4. 数据分析:利用Pandas进行数据处理、统计和分析,例如查看摘要统计信息、绘制图表、进行数据筛选和排序等。

    # 查看摘要统计信息
    summary = data.describe()
    
    # 绘制直方图
    data['column'].hist()
    
    # 数据筛选
    filtered_data = data[data['column'] > 50]
    
    # 数据排序
    sorted_data = data.sort_values(by='column')
    
  5. 数据可视化:利用Matplotlib或其他可视化工具绘制图表,以便更直观地理解数据。

    # 绘制折线图
    plt.plot(data['x'], data['y'])
    plt.xlabel('X-axis')
    plt.ylabel('Y-axis')
    plt.title('Title')
    plt.show()
    
  6. 结果解释:解释你的分析结果,并根据需要撰写报告或分享可视化图表。

这些步骤简洁明了,让你能够快速上手使用Python进行基本的数据分析。
当然,下面是每个步骤的精简概括:

  1. 准备数据:获取数据。

  2. 导入库:导入Pandas、NumPy和Matplotlib库。

  3. 读取数据:用Pandas读取数据。

  4. 数据分析:使用Pandas处理、统计和分析数据。

  5. 数据可视化:使用Matplotlib绘制图表。

  6. 结果解释:解释分析结果。

  7. 文献检索优化:通过分析学科领域的文献数据库或学术搜索引擎的数据,了解研究热点、关键词趋势和重要文献,以优化文献检索策略和提高文献查阅效率。

  8. 资源评价和选择:分析学术期刊的影响因子、引用次数和作者贡献等数据,评估期刊的学术水平和质量,以选择适合自己研究方向的高质量文献资源。

  9. 阅读行为分析:分析个人的阅读行为和偏好,如阅读时间、阅读速度和阅读深度,以了解自己的阅读习惯和改进阅读策略。

  10. 文献管理和整理:利用文献管理软件或工具,对查阅的文献进行分类、标注和整理,以便后续的阅读和引用。

  11. 文献引用和网络分析:分析文献之间的引用关系和网络结构,了解研究领域的学术脉络和关键研究者,以指导文献引用和文献跟踪。

2、为什么挂科

老师,是这样的,我在大二上学期挂科的主要原因是因为我刚从包装工程转专业到物联网工程,专业跨度较大,并且这个领域对我来说是全新的,因此我需要花大量的时间来适应新的学习环境和学科知识。
同时,我还需要补修转专业前的课程,这增加了我的学习压力和挑战。在这个过程中,我可能没有很好地平衡好课程的学习和复习,导致了一些考试没有一次性通过。
我认真总结了挂科的原因,努力端正了自己的态度和学习方法。我采取了更有效的学习策略,包括更好地规划时间、提高学习效率等,以确保我能更好地掌握课程内容。因此,我后来在学业上取得了更好的成绩,也没有再出现挂科的情况。

3、谈谈你为什么选择生物医学工程专业(报考方向的理解)

关于我选择攻读生物医学工程专业的决定,是因为我对生物医学数字医疗软件领域的浓厚兴趣。通过我自己的了解,我注意到了智能健康监测设备结合了传感器技术和数据分析,能够实时监测患者的生理参数,比如心率、血压等,并将这些数据传输到医疗机构,为医生提供及时的诊断和治疗建议。另外,医疗影像处理软件利用图像识别和人工智能算法,可以辅助医护人员准确地诊断疾病,提高诊断效率和准确性。这些例子生动展示了数字医疗软件在提升医疗服务质量和效率方面的巨大潜力,激发了我在这个领域追求进步和贡献的强烈愿望。

4、说说你对生物医学工程专业的理解

我认为生物医学工程是结合一门结合了生物学、物理学、计算机科学、电子科学、信息科学、医学等,利用工程技术和理论方法去解决医学实践与研究中的各种问题的前沿学科。
在重庆邮电大学生物信息学院,生物医学工程的研究方向主要为:智能医疗装备、数字医疗软件、健康大数据。

5、为什么想读博

老师,我想攻读博士学位主要有两个原因。首先,我对我所研究的领域有极高的热情和兴趣。我希望能通过深入研究,进一步拓宽知识领域,寻找和发现新的问题和解决方案。其次,我有志于成为一名科研人员,在未来为社会的发展做出贡献。博士学位将为我提供必要的研究技能和专业知识,帮助我实现个人的职业目标。

6、研途规划

第一学年: 主要确定研究方向,并完成核心课程学习,同时进行相关文献的查阅和理解,确立研究计划。
第二学年: 完成实验设计,收集和处理数据,根据实验结果撰写论文,并尝试在学术期刊上发表文章。
第三学年: 对论文进行进一步的完善和修正,准备论文答辩,同时开始进行就业或升学的准备活动。

5、其他

计算机网络、Java基本框架
数据库架构
嵌入式课程设计

毕设方面

1、前提铺垫(为什么课题这么水)

关于我的毕业设计,我选择的是设计一个企业人事管理系统。尽管这个项目比较常见,但我在设计和实施过程中学到了很多关于软件开发和项目管理的重要经验。我也努力确保了项目的完成度和质量,并最后克服了实现过程中的一些困难。虽然我意识到这个项目的实现不太复杂,但是它让我有机会将在课堂上学到的知识付诸实践,提升了我的系统分析、设计和编程的实战能力。它也是我的一个重要的学习经历,并且在未来的研究生生涯中,我将努力挑战自己,追求更高的科研水平。

2、why this topic?

另外是我认为这个项目具有较强的实用性,也让我对企业人事管理的运作机制有了进一步的了解,让理论知识与实际应用紧密结合。同时,虽然这个系统在技术上并不复杂,但是对我来说是一次全面的锻炼。它让我有机会将在课堂上学到的知识付诸实践,提升了我的系统分析、设计和编程的实战能力。(此外,我也在项目中获得了宝贵的团队协作和项目管理经验,这些都对我的职业生涯非常有帮助。)我选择这个项目,不是因为它简单,而是因为它让我能够从多个角度提升自我,并对我未来的学业规划有所启示。

3、主要回答

谢谢老师的提问,关于我的毕设设计构思的过程大概是以下几个步骤,

1、需求分析

我对我设计的系统的大概需求如下所示
我首先对企业框架进行了一个初步了解后,然后对系统进行相关的需求分析。我设计的系统内主要包含两种角色:员工、管理员。然后根据需求设计了以下模块,员工信息管理,考勤管理,部门管理,请假和离职管理,薪资奖惩管理以及新闻和通知公告显示等。
员工登录系统后,可以进行考勤打卡,请假离职申请的相关操作,并且能浏览相应的人事信息,例如薪资情况以及企业新闻和公告。为了提升员工的用户体验,我也设计了安卓客户端,也能在移动端进行相应的简单操作。
另外就是管理员在登录系统后,在员工信息管理可以实现更加方便的掌握企业员工的人事信息,考勤管理可以监控员工的是否到岗,薪资奖惩管理可以通过员工工作绩效来进行薪资的调整,部门管理可以实现相应的人员调动以及请假和离职管理可以处理相应员工的申请,最后是通过新闻和公告的管理来提升企业内部的沟通效率。

下面是我的具体实现过程,我所用到的开发工具主要有JDK1.8 + IDEA + MySQL +Navicat+Android Studio等

2、建立数据库

根据需求分析的结果,我用了mysql创建了相应的数据库表。比如员工信息表、薪资信息表、考勤信息表等。

3、搭建SSM框架

进行Spring、SpringMVC、MyBatis的相应配置,数据源的配置、事务管理的配置、Mapper扫描的配置等
登陆拦截器interceptor的相应配置
实体类(Entity):根据数据库的表结构,编写对应的实体类。
数据访问层(DAO):使用MyBatis编写Mapper接口和对应的Mapper XML文件,实现对数据库的操作。
服务层(Service):编写Service接口和实现类,调用DAO进行数据库操作,并处理业务逻辑。
控制层(Controller):编写Controller类,接收前端的请求,调用Service处理业务逻辑,并返回响应。

其中

  1. Spring:Spring是一个轻量级的、全面的、可扩展的框架,提供了IoC(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)等功能,帮助管理Java应用程序中的对象以及处理各种业务逻辑。
  2. SpringMVC:SpringMVC是Spring框架的一部分,是一个基于MVC(Model-View-Controller,模型-视图-控制器)设计模式的Web框架,用于处理Web请求和响应,将请求映射到相应的处理器方法并返回响应结果。
  3. MyBatis:MyBatis是一个持久层框架,用于简化数据库访问操作,将数据库操作与Java对象之间的映射关系定义在XML文件中或者注解中,通过SQL语句来实现对数据库的操作。

Spring就像是一个大型的积木盒,里面有各种各样的积木,可以帮助你管理和组织其他积木,比如说安排它们的位置和功能。
SpringMVC就像是一个小车底盘,专门用来运载积木的,它会根据你的指示把积木运送到指定的地方,然后把结果返回给你。
MyBatis则像是一本智能翻译书,可以帮你将你的想法翻译成数据库可以理解的语言,比如查询数据、保存数据等等。

把这三种积木组合在一起,你就可以轻松搭建一个完整的建筑物,就像是搭积木一样简单!

4、前端页面

我前端编写主要用的是JSP+JQuery+H-ui

5、Android端

考虑到员工使用场景的多样性,我只设计了员工用户端,我最主要的工作就是实现网页端和移动端的数据库共享,我的大概操作如下,
设计RESTful API接口:在SSM服务器端提供相应的API接口,如登录接口、查询接口、更新接口等,给安卓端调用。
安卓端发起请求:在安卓客户端,使用OkHttp发送HTTP请求,根据不同的需求向服务器请求不同的API接口。
服务器端处理请求:服务器收到请求后,进行相应的处理。如考勤打卡,请假离职等操作。
返回数据给安卓端:服务器处理结束后,将结果(通常为JSON格式)返回给安卓端。安卓端收到数据后,进行相应的处理,最后进行UI界面的更新。

6、问题及解决

下面是我主要遇到的问题
跨域访问问题:
问题描述:由于安卓端和Web端位于不同的域或者协议下,可能会出现跨域访问问题,导致安卓端无法直接访问Web端API。
解决方案:在Web端配置跨域资源共享(CORS),允许安卓端跨域访问。可以通过在Spring MVC的Controller中添加@CrossOrigin注解或者通过配置过滤器来实现。

移动端和Web端的数据同步问题:员工在移动端和Web端均可进行操作,如何保持数据的实时同步是一个挑战。
解决方案:可以采用我之前提到的几种数据同步策略,例如使用Websocket建立长连接,服务器有新的数据更新时可以主动推送到客户端。

另外我也考虑到了一下相关问题,虽然没能进行具体实践,但是我也通过网上的学习,有了初步的解决思路,比如。。。
并发处理问题:系统中的员工和管理员需要在多个设备上操作,并且管理员需要处理来自多个员工的各种请求,这就带来了并发处理的问题。例如,当多个管理员同时进行操作时,系统如何保证数据的准确性和一致性。
解决方案:可以采取乐观锁或是悲观锁的方式来解决并发的问题,来保证数据的一致性。

6、考勤打卡定位问题及解决

要实现员工考勤打卡时的定位功能,以便检查员工是否到达公司内,你可以按照以下步骤进行操作:

  1. 在安卓客户端添加定位功能: 在安卓客户端中,使用Android提供的定位服务(如GPS、网络定位等)来获取员工的当前位置信息。你可以使用Android开发中的LocationManager或者Google Play服务中的Fused Location Provider API来获取定位信息。

  2. 发送位置信息到服务器: 在员工进行考勤打卡时,将获取到的位置信息发送到服务器端。你可以通过HTTP请求或者其他网络通信方式将位置信息发送给后端服务器。

  3. 服务器端处理位置信息: 在服务器端,接收到员工发送的位置信息后,进行相应的处理。可以通过后端代码接收并存储位置信息,或者进行进一步的处理,如与公司内部的位置信息进行比对。

  4. 位置信息验证: 在服务器端,根据员工打卡时发送的位置信息与公司内部设定的位置进行比对。如果员工的位置与公司内部位置符合要求,则可以认定为员工已经到达公司内,否则可能需要额外的处理。

  5. 反馈结果给安卓客户端: 根据服务器端的处理结果,反馈给安卓客户端相应的信息,告知员工打卡是否成功或者是否需要进一步操作。

通过以上步骤,你可以实现员工考勤打卡时的定位功能,从而检查员工是否到达公司内。需要注意的是,在实现过程中要考虑隐私保护和数据安全等问题,确保员工的位置信息得到妥善处理。

系统的安全性:系统中涉及到员工的敏感信息,如薪资情况等,需要对数据进行安全的存储和传输。
解决方案:数据传输时可以使用HTTPS协议,数据存储时可以进行加密处理。

7、请假及离职功能的实现

MVC(模型-视图-控制器)设计模式:在整个系统中,员工的请假或离职申请分别对应模型、视图和控制器的交互。员工通过视图(也就是用户界面)发起请假或离职申请,此请求被控制器捕获并进行处理,这个处理通常包括在数据库中对应的员工信息的更新(这就是模型部分)。在处理完请求后,控制器会将结果返回到视图,员工便能看到此次申请是否成功。
工作流引擎:请假和离职申请通常需要经过几个步骤,如提交申请、等待审批、审批结果反馈等。这一系列的步骤就构成了一个工作流程,因此可以通过工作流引擎来管理这些流程。每一步操作都对应工作流中的一个状态,通过状态之间的转移来推进流程的进行。
数据库事务:在提交请假或离职申请时,可能需要对数据库进行多个操作,例如在申请表中新增一条记录,同时更新员工状态等。为了保证数据的一致性,这些操作需要放在同一事务中执行。
权限系统:不同的用户(如员工和管理员)在系统里具有不同的权限,比如普通员工可以提交请假或离职申请,但只有管理员可以对这些申请进行审批。因此,系统需要一个权限系统来控制不同用户可以访问的功能。

什么是乐观锁或悲观锁???

悲观锁是一种保守的锁策略,它假设在并发环境下总会有其他线程来修改数据,因此每次操作数据时都会先加锁,以防止其他线程的干扰。悲观锁的经典应用是数据库中的行级锁或表级锁,在Java中也可以通过synchronized关键字或者ReentrantLock类来实现悲观锁。
悲观锁适用于并发更新操作频繁、对数据一致性要求高的场景。然而,悲观锁的缺点是加锁的开销比较大,会影响系统的性能。
乐观锁通常用于并发环境下,不加锁地对共享资源进行读取操作。在进行更新操作时,首先读取资源的版本信息,然后在更新时检查该版本信息是否发生变化,如果没有变化则可以执行更新操作,如果发生变化则需要进行相应的处理,比如重新读取最新数据或者放弃更新操作。

乐观锁:先假设并发冲突不会发生,仅在更新时检查数据是否被其他线程修改过,适用于读操作频繁、写操作较少的场景。
悲观锁:假设并发冲突总会发生,在访问共享资源时先加锁,以防止其他线程的干扰,适用于对数据一致性要求较高的场景。

JDK1.8 + IDEA + MySQL +Navicat+Android Studio??

JDK(Java Development Kit)是用于开发、编译和运行Java程序的软件开发工具包。

MySQL是一种关系型数据库管理系统,用于存储和管理数据。
Navicat是一款数据库管理工具,用于连接、管理和操作多种类型的数据库,包括MySQL。
它们之间的联系是Navicat可以通过连接MySQL数据库来管理和操作MySQL中的数据。

tomcat??

Tomcat 是用于运行 Java Servlet 和 JSP 的开源 Web 服务器。

关于实习

在中铁电气化局的见习期间,我有幸参与了工程部的日常工作。尽管我的职责主要是资料整理和归纳,通过这次工作经历,锻炼了我的细心和耐心,也让我意识到了责任感的重要性,即使是一件很小的,很简单的事情,也要努力想好去完善,通过这次总结的工作经历,我相信对于我未来的研究生生涯会有莫大的帮助。

好的,让我们一步步完成这个设计过程:

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值