首页 > 编程知识 正文

java开发和后端开发的区别,web前端和前端开发有什么区别

时间:2023-05-03 06:46:52 阅读:142585 作者:2834

前言:我的同学,专科毕业应用电子技术专业,已经毕业快两年了因为专业原因工作一年也没有前途,所以想跳槽。 作为他的“好朋友”,他觉得我的这份工作很好,就咨询了一下,但在严厉的拒绝下,还是没能阻止他。 随后,他报名参加了北大某鸟培训,进行了半年的Java程序员速成加工。

年前研修结束后他正在准备年后的面试,所以遇到了这次大流行,被拖到了5月。 之后,进行了长达两个月的面试历史。 昨天聊天的时候,这个偷狗贼居然通过了面试。 而且还是12K。 我羡慕死了。 (我还是11K )。 拜了徒弟之后才知道这是他努力复习面试问题的结果。 今天和大家分享偷学的面试问题。 希望能拿到大家想要的报价。

1 .静态和最终用法静态的作用从三个方面来讲,分别是静态变量、静态方法、静态类。

静态变量:声明为静态的静态变量实际上是全局变量,声明对象时,不会生成静态变量的副本,并且该类的所有实例变量共享同一个静态变量。 这意味着此静态变量只加载一次,并且只能分配一个存储空间。

静态方法:声明为静态的静态方法具有以下特征:

(1)静态方法只能调用静态方法。

)2)静态方法只能访问静态数据;

)3)静态方法不得以任何方式引用this或super;

静态类:普通类通常不允许将其声明为静态。 只有一个内部类。 main方法是典型的。 在这种情况下,声明的静态类可以直接用作普通类,而不需要实例的外部类。

final的作用从变量、方法和类三个方面来理解。

无法更改final限定变量的值。 是常数。

final修饰的方法是不可改写的;

final限定类不能继承;

2 .抽象类和接口的区别。 类可以继承多个类吗? 接口是否可以继承多个接口? 类是否可以实现多个接口? 抽象类和接口都不能直接实例化。 要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,而接口变量必须指向实现所有接口方法的类对象。

抽象类必须被子类继承,并且接口必须在类中实现。

接口只能进行方法声明。 抽象类可以声明方法,也可以实现方法

中定义的变量只是公共静态常数,抽象类中的变量是常规变量。

抽象类中的所有抽象方法都必须在子类中实现,如果子类不能全部实现父类的抽象方法,则该子类只能是抽象类。 同样,实现接口时,如果不能实现所有接口方法,则该类也只能是抽象类。

抽象的方法只能主张,不能实现。 abstract void abc (; 不能写abstract void abc。

抽象类中可以没有抽象方法。

如果某个类有抽象方法,则该类只能是抽象类。

抽象方法必须被实现,所以不能是静态的,也不能是私有的。

接口继承接口,可以继承多个接口,但只能继承一个类。

3. this和super的功能和使用this

)可以访问结构方法以外的所有属性、方法,在this .中调用方法和属性

)2)不能用静态方法使用

)3)要在生成方法中使用this (参数列表)调用本类的其他生成方法,必须将其放在生成方法的第一句中。

super:访问父类的方法和属性

)访问父类的方法和属性

)2)要在构造方法中从super (参数列表)调用父类的构造方法,必须将其放在子类的构造方法的第一行。

4. final、finally、finalize的区别?final:修饰符(关键字)有三种用法。 如果类声明为final,则意味着它不能派生新的子类,也就是说它不能被继承。 通过将变量声明为final,可以保证在使用过程中不会发生更改。 声明为final的变量只能通过初始化后的引用读取为不可更改。 声明为final的方法也可以类似地使用,并且不能在子类中重写。

http://www.Sina.com/: try…catch后面的结构通常总是执行代码块。 这意味着无论程序是成功运行还是出现异常,只要JVM未关闭,此处的代码都可以运行,并且可以将释放外部资源的代码写入finally块中。

http://www.Sina.com/:在object类中定义的方法。 在Java中,可以在垃圾收集器从内存中删除对象之前,使用finalize ()方法执行必要的清理任务。 当垃圾收集器销毁对象时,将调用此方法。可以通过重写finalize )方法来组织系统资源和执行其他清理任务。

5. Error和Exception的区别是什么? Error表示系统级错误和程序不需要处理的异常,不是不可能恢复,而是困难时的重大问题,如内存溢出,无法期待程序能应对这种情况

Exception表示需要捕获或程序处理的异常,是设计或实现的问题; 即,钟表

示如果程序运行正常,从不会发生的情况。

6. 说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy()方法。

与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。

7. 如何防止缓存雪崩?

原因

缓存雪崩可能是因为数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。

对应解决

采用加锁计数,或者使用合理的队列数量来避免缓存失效时对数据库造成太大的压力。这种办法虽然能缓解数据库的压力,但是同时又降低了系统的吞吐量。

分析用户行为,尽量让失效时间点均匀分布。避免缓存雪崩的出现。

如果是因为某台缓存服务器宕机,可以考虑做主备,比如:redis主备,但是双缓存涉及到更新事务的问题,update可能读到脏数据,需要好好解决。

8. 谈谈你对MVC的理解

MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。

MVC中的模型、视图、控制器它们分别担负着不同的任务。

视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。

模型: 模型表示业务数据和业务处理,相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性。

控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求,然后根据处理的结果调用相应的视图来显示处理的结果。

MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。

最后

既已说到spring cloud alibaba,那对于整个微服务架构,如果想要进一步地向上提升自己,到底应该掌握哪些核心技能呢?

就个人而言,对于整个微服务架构,像RPC、Dubbo、Spring Boot、Spring Cloud Alibaba、Docker、kubernetes、Spring Cloud Netflix、Service Mesh等这些都是最最核心的知识,架构师必经之路!下图,是自绘的微服务架构路线体系大纲,如果有还不知道自己该掌握些啥技术的朋友,可根据小编手绘的大纲进行一个参考。

如果觉得图片不够清晰,也可来找小编分享原件的xmind文档!

且除此份微服务体系大纲外,我也有整理与其每个专题核心知识点对应的最强学习笔记:

出神入化——SpringCloudAlibaba.pdf

SpringCloud微服务架构笔记(一).pdf

SpringCloud微服务架构笔记(二).pdf

SpringCloud微服务架构笔记(三).pdf

SpringCloud微服务架构笔记(四).pdf

Dubbo框架RPC实现原理.pdf

Dubbo最新全面深度解读.pdf

Spring Boot学习教程.pdf

SpringBoo核心宝典.pdf

第一本Docker书-完整版.pdf

使用SpringCloud和Docker实战微服务.pdf

K8S(kubernetes)学习指南.pdf

需要下载的请**点击传送门:《出神入化——SpringCloudAlibaba》**

另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此,照样可免费分享给有需要的你!

mxTbFJ1cmN1R2dB)**

[外链图片转存中…(img-2ZY5ivEj-1620983430653)]

另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此,照样可免费分享给有需要的你!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。