面试题整理

网络协议与Java多线程
本文深入探讨了网络协议如TCP/IP、HTTP的工作原理,包括Socket的应用与实现,以及HTTP状态码的意义。同时,讲解了Java实现多线程的三种方式,并介绍了SQL语句的分组与过滤技巧。此外,还解析了SpringMVC框架的工作流程和核心组件。

面试题

socket http tcp/ip

  • socket则是对TCP/IP协议的封装和应用,Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象
  • HTTP是应用层协议,主要解决如何包装数据;
  • TCP/IP协议是传输层协议,主要解决数据如何在网络中传输;
  • TCP协议的职责:为了通信方便,将HTTP请求报文分割成报文段,按序号分为多个报文段,把每个报文段可靠地传给对方;从对方那里接收到的报文段,重组到达的报文段,按序号以原来的顺序充组请求报文;
  • IP协议的职责是搜索对方的地址,一边中转一边传;
  • 而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。

UDP TCP

  • TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,三次“对话”的目的是使数据包的发送和接收同步;
  • *

HTTP状态码

HTTP状态码表示客户端HTTP请求的返回结果,标记服务器端的处理是否正常,通知出现的错误的等。

  • 1xxx 接收的请求正在处理
  • 2xxx 请求正常处理完毕

    • 200 请求已正常处理
    • 204 请求处理成功,但没有可用资源返回
    • 206 表示客户端进行了范围请求,而服务器成功执行了这部分get请求
  • 3xxx 需要进行附加操作以完成请求

    • 301 永久性重定向,表示请求的资源已经被分配了新的uri
    • 302 临时性重定向
    • 303 应该使用get方法获取资源
  • 4xxx 服务器无法处理请求
    • 400: 请求报文中存在错误,服务器无法理解这个错误
    • 401: 发送的请求需要有通过HTTP认证的认证信息
    • 403: 请求被拒绝
    • 404: 服务器没有请求的资源
  • 5xxx 服务器处理请求出错

    • 500 服务器在执行请求时出错
    • 503 服务器超负载或正在停机维护

    Java实现多线程的三种方式:

    Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。

sql语句分组关键字,having是做什么的,如果我想要只三条数据应该用什么关键字?

分组数据涉及两个SELECT子句 分别是GROUP BY(组级过滤) 和 HAVING子句

GROUP BY 分组说明
HAVING 组级过滤
ORDER BY 输出排序顺序
LIMIT 要检索的行数

介绍一下springmvc。springmvc从前台传递数据到后台怎么接收。介绍一下springmvc工作流程。

SpringMVC是Spring的一个模块,是一个基于MVC设计模式的web框架,将web层进行职责解耦,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

SpringMVC框架是围绕着DisPatcherServlet而工作的,从名字上看它是一个Servlet它可以拦截HTTP发来的请求,在Servlet初始化时,SpringMVC会根据配置信息,得到URI和处理器之前的映射关系,为了更加灵活和增强功能,SpringMVC还会给处理器加入拦截器,所以还可以在处理器执行前后加入自己的代码,这样就构成了一个处理器的执行链,然后根据配置信息初始化视图解析器等内容,当处理器返回的时候就可以通过视图解析器定位视图,然后将数据模型渲染到视图中,用来响应用户的请求了。
当一个请求到来时,DispatcherServlet首先通过事先解析好的HandlerMapping配置,找到对应的处理器(Handler),这样就准备开始运行处理器和拦截器组成的执行链,而运行处理器需要有一个对应的环境,这样它就有了一个处理器的适配器(HandlerAdapter)通过这个适配器能运行对应的处理器(controller业务代码)及拦截器(将请求参数转换成一个对象,数据类型转换,数据格式化,数据验证),这里的处理器包含了控制器的内容和其他增强的功能,在处理器返回模型和视图给前端控制器后,DispatcherServlet就会把对应的视图信息传递给视图解析器。这一步取决于是否使用逻辑视图,如果不是逻辑视图,就不会进行处理,而是直接通过视图渲数据模型。

spring的核心原理(Ioc,AOP都是什么)。

IoC(Inversion of Control,控制反转)是Spring的一个核心思想,实现了将类实例化的时机以及细节交给Spring来管理。当一个对象创建时,它所依赖的属性和对象由外部传递给它,而非自己去创建所依赖的对象(比如通过new操作),这种方式称为DI(Dependency Injection,依赖注入)。我们就像是工厂的客户,我们只需要向工厂请求一个Car实例,然后它就给我们按照Config创建了一个Car实例。
我们完全不用管这个Car实例是怎么一步一步被创建出来。
AOP

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值