java软件工程师面试基本题Word格式.docx
- 文档编号:15082486
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:10
- 大小:22.16KB
java软件工程师面试基本题Word格式.docx
《java软件工程师面试基本题Word格式.docx》由会员分享,可在线阅读,更多相关《java软件工程师面试基本题Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
怎么动手清除cookie?
用代码?
session打开浏览器创建的,每个浏览器对应一个session
cookie是在客户端本地,不会随着浏览器关闭而消失
用户可以自己清除本地cookie,也可以在程序中使用代码清除
“记住我”怎么实现?
吧什么存到session?
使用cookie记住加密的账号和密码
怎么把MyBatis整合到spring?
MyBatis的#和$区别?
MyBatis最重要的配置是数据库连接、SqlSession的创建和sql映射文件
可以将mybatis的数据库连接和SqlSession和对sql映射文件的扫描配置到spring配置文件中
mybatis中#可以表示任何数据类型都可以,$单独表示数字
Mybites支持延迟加码吗?
原理是什么?
mybatis支持延迟加载
在查询的时候不会加载出关联表,但是需要用到关联表的时候,不需要再单独写查询语句,mybatis会自动查询出需要的关联表信息
多态的了解?
Java支持多继承吗?
多态按字面的意思就是“多种状态”。
在面向对象语言中,接口的多种不同的实现方式即为多态
不支持
String和stringbuffer的区别?
什么时候用string,什么时候用stringbuffer?
String和StringBuffer的区别在于String的内容是不可以修改的,而StringBuffer可以被修改,
String一旦被修改或者重新赋值,就会创建出一个新的对象
Hashmap和hashtable的区别?
Hashmap是有序还是无序?
继承的父类不同,hashtable继承自Dictionary类,HashMap继承自AbstractMap类
HashTable线程安全,应为它每个方法都加入了Synchronize,而HashMap是线程不安全的
怎么保证Java的线程安全?
Spring的IOC和AOP?
使用Synchronized关键字,也可以使用特殊变量Volatile
IOC控制反转,就是将设计好的对象交给spring容器来控制,对象内获取依赖对象的方式,由原来的通过New来创建依赖对象,改变为
通过Spring容器来获取依赖对象
AOP,面向切面编程,它是一种思想,而不是一种实现,Java对Aop的实现有两种方式,Filter和代理模式,
Spring的AOP是通过JAVA的代理模式来实现的,它是一种动态代理,以Spring的声明式事务来说,调用Service层的方法时,根据
原来Service层的方法和Spring中配置的事务级别,来动态生成一个代理类,执行代理类的代码而不是执行原来Service层中的代码
数据库用的是什么?
MySQL怎么创建或者自定义函数?
mysql
delimiter//
createfunctionfunction_name(参数列表)
returns返回值类型
begin
方法内部执行的代码
end//
触发器用过没有?
怎么在一个存储过程里面记住一个日志?
触发器没有用过
游标有用过吗?
MySQL怎么实现分页的?
如果一个SQL语句orderby一个字段性能比较慢要怎么做?
常用的SQL优化手段?
游标没用过
mysql使用limit关键字实现分页
orderby性能慢可以在orderby的字段建立索引
前台做的多不,JQuery有几种选择器?
九种
常用的是基本选择器、层次选择器
“#”和“.”的区别?
Html的代码是从上往下执行区还是从下往上?
#是Id选择器,.是类选择器
HTML代码是从上到下执行的
有用过easyUI吗?
Ajax中post和get的区别?
EasyUI没用过
get一般传送一些简单数据,大小在1KB以下,数据会追加到url中
post的传送的数据量比get要大,因为它把数据作为HTTP消息的实体内容发送给WEB服务器
图片服务器?
图片后台上传的?
图片上传怎么实现?
图片服务器怎么显示吗?
是http的地址还是什么?
直接写Nginx的路径,通过Nginx访问图片服务器
你自己负责的是什么?
推荐商品的表是怎么设计的?
讲一下springmvc?
springmvc的核心?
springmvc做配制的时候,怎么配制?
返回是Json还是数据?
SpringMVC是一个基于MVC设计模式的框架,它的核心是HandlerMapping,SpringMVC的配置很简单,只需要配置一个InternalResourceViewResolver,解析逻辑视图名,web.xml中,需要配置一个Servlet,配置SpringMVC的拦截路径,
有用到maven吗?
怎么在本地仓库书写一个架包?
Tomcat怎么部署,session的过期时间的优先级?
消息队列?
了解过吗?
Spingboot有了解没?
maven是用过的
一般来说,一个jar包要添加到项目中,是要添加到专门管理jar包的父工程中,其他模块直接依赖父工程中的jar包就可以了
tomcat的部署,tomcat是依赖于jdk的,部署tomcat之前,首先要先安装jkd,有了jdk,tomcat直接部署和到电脑或服务器上就可以了
程序中的配置>
web.xml中的配置>
tomcat的配置
讲一下hibernate?
hibernate和mybatis的最大区别?
性能上的区别?
hibernate是一个全自动化的orm实现,内部封装了jdbc操作和大量的sql语句
hibernate和mybatis最大的区别就是对orm的实现一个是半自动化,一个是全自动化,
简单来说就是mybatis需要编写sql语句,所以他的移植性比hibernate差,
如果换了一个数据库,hibernate只需要将方言修改一个,而mybatis基本上需要修改所有的sql语句
讲一下面向对象OOP?
什么是面向对象编程?
Java中的构造函数?
面向对象是基于万物皆对象这个哲学观点.把一个对象抽象成类,具体上就是把一个对象的静态特征和动态特征抽象成属性和方法
什么是构造函数?
什么是死锁?
JVM的垃圾回收机制?
构造函数就是在实例化对象的时候调用的方法
死锁就是在程序运行时,两个或两个以上的进程由于竞争资源或彼此通信造成的一种阻塞的现象
jvm运行时,堆用来存放对象实例和数组,垃圾回收机制的主要作用就是自动释放堆里面对象实例所占用的内存,
有引用指向对象的时候计数器会+1,不再被引用的时候计数器-1,GC会标记所有活着,也就是计数器大于1的实例,将没有被标记的实例全部回收,释放内存
抽象和封装的不同点?
怎么唤醒一个线程?
储存过程用过吗?
怎么创建一个储存过程?
怎么建立一下索引?
oracle的优化?
在mybiets中怎么执行批量处理?
为什么说Mybites是半自动化的ORM的?
与全自动化的区别?
抽象就是将类的特性提取出来,
而封装是将类的属性包装起来,提供一套get/set方法,供外界访问,外界只需要知道他的值是多少,而不需要知道他的其它信息
唤醒线程的话首先要讲线程阻塞或休眠,可以使用suspend方法使线程进入阻塞状态,resume()方法可以将线程从阻塞状态唤醒
创建存储过程
createprocedureprocedure_name(参数列表)
需要执行的sql语句
创建索引
createindexindex_nameontable_name(column_name);
oracle优化:
合理的使用索引、使用where代替having、避免使用"
*"
进行查询、减少对数据库的访问次数
批量处理可以使用存储过程
mybatis之所以是半自动化的orm实现,是因为他的sql语句需要开发人员自己编写,
这导致了它跟全自动化的orm实现比较起来,移植性低,但是整体来说比较轻量级,在中小型项目中,mybatis的性能会高过hibernate
12、Xml映射文件会写一个dao接口和工作原理是什么?
xml?
是mybatis的映射文件吗?
mybatis的映射文件提供了一个dao接口,接口只提供方法的声明,而没有方法的实现,映射文件为接口中的方法提供实现
用户发送请求到控制器,控制器调用业务处理,业务处理调用dao层查询数据库,mybatis会在初始化的时候提供将mybatis的所有sql语句解析成mappedstatement对象
对象的id就是对应接口中的方法名,业务层调用dao层接口中的方法时,mybatis会根据方法名也就是id来调用mappedstatement对象,执行sql语句
用过Javascript用ajax吗?
Ajax有什么参数?
一般用到什么?
在项目中有没有用到日志?
Xml有哪些解析技术?
ajax常用到的参数主要有:
type、data、datatype、success、error、url
日志是用的log4j
DOM、SAX
Nginx怎么配制的?
配制到哪里?
你了解反向代理吗?
Nginx的配置主要是配置它的配置文件中的server
首先是端口listen
然后是urlserver_name
再来是location配置要读取的文件路径、url真实路径
Springmvc?
Struts了解不?
Struts和Springmvc的区别?
Websrvice了解吗?
struts用过但是了解不深
struts是类级别的拦截,Springmvc是方法级别的拦截
Springmvc中方法基本上是独立的,每个方法独享一个request、response数据
struts方法虽然也是独立的,但是方法之间是共享一个request、response
讲一下WebService的理解?
JMS有了解吗?
讲一下?
WebService是一种跨语言、跨平台的远程调用技术。
webService分为服务器端和客户端
服务器端暴露出Service接口,客户端调用service接口得到想要的数据
JMS,Java消息服务,JMS的客户端可以通过JMS服务进行异步消息传输
JMS有两种消息模型,P2P点对点和PUB/SUB发布订阅
点对点的概念就是发送者发送一条消息到消息队列,接收者接受这条消息(消费),接收者成功接收消息之后需要向队列应答成功
Xml有什么解析技术?
对面向编程的理解?
什么是对象?
使用DOM解析XML
使用SAX解析XML
string是最基本的数据类型吗?
Java中有哪几种基本数据类型?
String不是基本数据类型,String在Java中是引用类型
Java中的基本类型有八种
char、boolean、byte、int、long、short、double、float
String是什么数据类型?
Int和integer的区别?
String是引用类型
int和Integer的区别就在于int是java的基本数据类型是一个值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 软件工程师 面试 基本