作为一个从事Java开发的应届生的面试总结(三)

接着(二)继续总结

1.了解分布式、集群(关于这个问题,当时问我是否了解,因为没有接触过,所以就只是简单的了解了一下相关的概念)

分布式:任务分解、节点通信,就是把一个业务拆分成多个子系统,部署在不同的服务器上;多个人在一起做不同的事情

集群:多个人在一起做同样的事情

2.解释一下接口

接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现。(一个类必须做什么和不能做什么,描述一种能力)

特点:拥有方法和属性,方法默认是抽象的,只有方法标识符没有方法体

3.数据库引擎

数据库引擎是用于存储、处理和保护数据的核心服务。

MySQL支持的引擎(常用):MYISAM、INNODB(MySQL默认使用)。MYISAM是MySQL的ISAM扩展格式和缺省的数据库引擎,提供ISAM中没有的索引和字段管理的大量功能,还使用一种表格锁定机制,优化多个并发读写操作;插入数据快、空间和内存使用比较低。INNODB支持事务处理、支持外键、并发控制

4.多态性的体现

方法重载():同一个类中,方法名相同,参数不同(数据类型、个数、顺序)

方法重写():父类和子类之间,子类重写父类的方法,方法实现不同,方法名和参数相同

抽象类:一个类中的方法只给出标准,没有给出具体的实现方法

接口:抽象类组成的集合就是接口

5.springmvc工作流程

  用户发送请求至前端控制器DispatcherServlet(中央处理器),中央控制器收到请求后调用HandlerMapping(处理器映射器),处理器映射器找到具体的处理器(xml配置、注解),生成处理器对象以及处理器拦截器一并返回给中央处理器,中央处理器调用HandlerAdapter(处理器适配器),处理器适配器经过调用具体的处理器(Controller,也叫后端控制器),controller执行完成返回ModelAndView给中央处理器,中央处理器将ModelAndView传给ViewReslover(视图解析器),视图解析器解析后返回具体的view,中央处理器根据view进行渲染视图,最后响应给用户。

6.解释一下aop和ioc

aop(面向切面编程):代理模式的体现。是对oop(面向对象编程)的补充和完善,将主业务逻辑和辅助业务逻辑进行分离,在不改变原有代码的情况下,在主业务逻辑中特定位置切入辅助业务逻辑。

ioc(控制反转):工厂模式的体现,通过sessionFactory注入实例。主要是对控制权的反转,将控制权交给spring容器,让它创建对象,当使用时就从容器中获取,不使用,就将对象返回给容器。

7.mybatis和hibernate的优缺点

hibernate:消除了代码的映射规则,分离到xml或者注解中;无需再管理数据库连接;会话中不需要操作多个对象,只需操作session对象;关闭资源只需关闭session;不支持存储过程;优化SQL比较难;多表连接自己写SQL,返回后需要自己将数据封装为pojo

mybatis:比较简单,易学;自己写SQL语句;不需要dao的实现,只需要dao的接口;配置比较容易;易优化

8.实现多线程的方法,同步的方法,启动一个线程方法

实现多线程的方法:继承thread类、实现runnable接口

同步的方法:使用synchronized关键字 ;wait和notify。wait使一个线程处于等待状态,并且释放所持有对象的lock,notify唤醒一个处于等待状态的线程,由JVM确定唤醒哪个线程不是按照优先级

启动一个线程使用start方法

9.switch语句能否作用在string上?

1.7版本之前不能使用string作为参数,只能用byte、short、char、int、枚举enum,;1.7之后可以

10.Java反射

Java反射机制是在运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;反射就是把Java类中各种成分映射成一个个的Java对象

11.谈一下try,catch

try-catch处理异常,将有可能出现的异常操作放在try中,一旦抛出异常,try部分立刻结束执行,转向catch部分。

12.string、stringbuffer、stringbuilder

string:处理不可变字符串,线程安全

stringbuffer:处理可变字符串,使用同步锁,线程安全

stringbuilder:处理可变字符串,线程不安全

13.join、leftjoin、rightjoin、innerjoin的区别

leftjoin:左联接,返回包括左表中的所有记录和右表中联结字段相等的记录(左表全部显示,右表显示符合条件的,不足的为null)

rightjoin:右联接,返回包括右表中的所有记录和左表中联结字段相等的记录

innerjoin(join):等值连接,只返回两个表中联结字段相等的行

14.SQL语句分页查询

Oracle:使用rownum伪列,currentPage表示当前页,linesize表示显示的数据量

查询数据库中第n条到第m条数据:m=(currentPage-1)*linesize+1,n=currentPage*linesize

查询第一页数据,每页显示三条数据
SELECT * FROM 
(SELECT ROWNUM rn,EMPNO,ENAME,JOB,SAL,DEPTNO FROM EMP WHERE ROWNUM<=3) temp
WHERE temp.rn>=1;

MySQL:使用limit关键字,m表示从数据的第m条开始(默认从0),n表示从第m条开始往后查询n条数据

m=(currentPage-1)*linesize ,n=linesize

查询第1页,每页显示10条数据
select * from employees limit 0,10;
查询第2页,每页显示10条数据
select * from employees limit 10,10;

sqlserver:使用关键字top,但是项目中没有用过,也不太清楚具体怎样实现

15.SQL优化

SQL语言是否完全相同(空格、大小写);绑定变量的使用(statement、preparestatement);减少或者避免*的出现;多表查询时,基表的选择(基表就是from后跟的最后一张表);将小表作为基表放在from的最后;三张表,将中间表作为基表;where后面先写连接后写筛选条件,筛选条件从后往前执行,将筛选数据最多即剩余数据最少的条件放在后面位置;大批量的SQL中多使用commit;用exists代替in;使用索引

16.jQuery中的选择器

元素选择器($("p"))、ID选择器($("#one"))、class选择器($(".test"))

17.ajax工作原理

AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。

创建过程:创建 XMLHttpRequest 对象、 打开连接、向服务器发送请求、接收服务器响应

18.说说UML(标准建模语言)这个我在项目中没有遇到过,也不太清楚

19.一些数据库操作,写SQL语句(这个就是做笔试题数据库部分必不可少的,还可能给你说一个要求,让你口述一下SQL语句)

20.微服务器springboot、springcloud

springboot不是全新框架,默认配置了很多框架,操作简单,不需要编写大量配置文件

springcloud微服务框架,提供全套分布式系统解决方案为开发者提供快速构建分布式系统的工具。

这两个框架是现在比较流行的框架,就只了解了皮毛,详细学习还要在项目中实现。

以上这个知识点是我在面试的时候遇到的,希望能对大家有所帮助,当然,我没有列出来的不是不重要,要想干好这份工作,扎实的基础和先进的技术的学习是非常重要的,祝愿大家在工作中多多进步,取得更好的收获。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值