大数跨境

【面试真题】程序员一定要会的知识点~(五)

【面试真题】程序员一定要会的知识点~(五) 职英产教融合
2022-06-29
2
导读:上期提到的JAVA开发工程师的必备知识点,大家都知道答案吗?



上期提到的JAVA开发工程师的必备知识点,大家都知道答案吗?我们想要做一个合格的程序员,不断的学习和积累是必要的哦!积累的多了,自身越来越充实,那我们的底气也会越来越足,从小程序员晋升技术大佬指日可待!今日依旧给大家带来了五道面试题,准备好了吗?


‍




面试题如下


1、SpringBoot和SpringCloud的区别?


2、使用SpringBoot开发分布式微服务时,我们面临什么问题?


3、你所知道的集合类都有哪些?常用的方法有哪些?


4、什么是微服务架构?


5、运行 Spring Boot 有哪几种方式?




上期答案请查收


1、数据库哪一个比较擅长?Oracle/mysql/sql server的区别?

① 这三种数据库不是同一个公司的

② 其所对应的使用对象不一样,oracle是主流的大型数据库,大多数电信项目都使用oracle,而sqlserver与mysql主要是个人以及小型公司使用的数据库,但sqlserver需要付费,而mqsql不需要。

③ 如果按功能上说,oracle最为强大,oracle支持递归查询,那两个不支持。

④ 三个数据库中,只有sqlserver有完整的图形操作界面,而oracle与mysql都要借助于第三方数据库图形操作界面,比如oracle用的是plsql。



2、使用sql语句怎么实现分页(Oracle/mysql/sql serve)?

取出sql表中第31到40的记录(以自动增长ID为主键)

sql server方案1:

select top 10 * from t where id not in (select top 30 id from t order by id ) orde by id

sql server方案2:

select top 10 * from t where id in (select top 40 id from t order by id) order by id desc

mysql方案:select * from t order by id limit 30,10

oracle方案:select * from (select rownum r,* from t where r<=40) where r>30

oracle:使用ROWNUM关键字,嵌套子查询.

mysql:使用limit关键字.

sqlserver : 使用top关键字.


3、抽象类和接口有什么区别?

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然

eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态方法,接口中不能包含静态方法

6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

7. 一个类可以实现多个接口,但只能继承一个抽象类。


4、java实现多线程有哪些方式?有什么区别?

一是直接继承Thread类,二是实现Runnable接口。

实现Runnable接口相对于继承Thread类来说,有如下显著的好处:

(1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想。

(2)可以避免由于Java的单继承特性带来的局限。我们经常碰到这样一种情况,即当我们要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么,这个类就只能采用实现Runnable接口的方式了。

(3)有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程操作相同的数据,与它们的代码无关。当共享访问相同的对象是,即它们共享相同的数据。当线程被构造时,需要的代码和数据通过一个对象作为构造函数 实参传递进去,这个对象就是一个实现了Runnable接口的类的实例。


5、说出SpringCloud的优缺点?

优点:

1.耦合度比较低。不会影响其他模块的开发。

2.减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开发。

3.配置比较简单,基本用注解就能实现,不用使用过多的配置文件。

4.微服务跨平台的,可以用任何一种语言开发。

5.每个微服务可以有自己的独立的数据库也有用公共的数据库。

6.直接写后端的代码,不用关注前端怎么开发,直接写自己的后端代码即可,然后暴露接口,通过组件进行服务通信。

缺点:

1.部署比较麻烦,给运维工程师带来一定的麻烦。

2.针对数据的管理比麻烦,因为微服务可以每个微服务使用一个数据库。

3.系统集成测试比较麻烦

4.性能的监控比较麻烦。

总的来说优点大过于缺点,目前看来Spring Cloud是一套非常完善的分布式框架,目前很多企业开始用微服务、Spring Cloud的优势是显而易见的。因此对于想研究微服务架构的同学来说,学习Spring Cloud是一个不错的选择。



  END 


—— 暑期招生已经全面启动 ——

欢迎各位同学、家长咨询报名

李老师:13007633571


郑州校区、商丘校区、新乡校区同步招生中


扫描下方二维码,立即报名

👇

【声明】内容源于网络
0
0
职英产教融合
1234
内容 496
粉丝 0
职英产教融合 1234
总阅读17
粉丝0
内容496