java 基础

1、HTTP请求的过程
1) 建立链接
2) 发送请求信息
3) 回送响应信息
4) 关闭链接

2、那说说数据库连接池的原理:
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

3、Java的内存管理机制是什么
1、静态存储区:内存在程序编译时就分配好了,比如静态变量;
2、栈区:各种原始数据类型的局部变量都是在栈上创建的,当程序退出该变量的作用范围的时候,这个变量的内存会被自动释放。
3、堆区:对象(包括数组)都是在堆中创建的。程序在运行的时候用new关键字来创建对象,对象创建时会在堆中为其分配内存。

4、Javascript中怎么实现继承?有几种方式?
1、构造继承法
2、原型继承法
3、实例继承法
4、拷贝继承法

5、spring底层用什么实现?
反射

6、hibernate和Jdbc的区别
相同点:

◆两者都是JAVA的数据库操作中间件。

◆两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。

◆两者都可以对数据库的更新操作进行显式的事务处理。

不同点:

◆使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言

◆操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。

◆数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。

7、Hibernate与Ibatis的区别
1)Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。
2)Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。
3)iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。
4)iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

8、Struts2和1的区别
1)都是MVC的WEB框架,
2)struts1的前端控制器是一个Servlet,名称为ActionServlet,struts2的前端控制器是一个filter,在struts2.0中叫FilterDispatcher,在struts2.1中叫StrutsPrepareAndExecuteFilter。
3)struts1的action需要继承Action类,struts2的action可以不继承任何类;struts1对同一个路径的所有请求共享一个Action实例,struts2对同一个路径的每个请求分别使用一个独立Action实例对象,所有对于struts2的Action不用考虑线程安全问题。

9、Struts2的执行机制
  1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
  
  2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);

  3、接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请求是否需要调用某个Action;

  4、如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求的处理交给ActionProxy;

  5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;

  6、ActionProxy创建一个ActionInvocation的实例。

  7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

  8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是 (但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。

12、你熟悉那些版本控制? 并说明下版本控制的基线是什么?
svn git

13、谈谈Hashtable与HashMap,区别等
1) 最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是
2) 只有HashMap可以让你将空值作为一个表的条目的key或value

14、谈谈JNI:
Java本地调用。通过JNI,Java程序的函数可以调用Native中的函数(一般,Native用c/c++写的)

15、说说ajax的执行原理:
相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求.

16、java的内存回收机制,是否可以人工干预
可以,但不一定能成功

17、描述一下你做过的你觉得印象较深刻的项目。

18、说一下集合框架有什么??
List set map

19、说一下collection中具体常使用的有哪些?
isEmpty() size() contains() iterator() add()…

20、说说strust2的好处。
1.没有了form Bean,视图层通过OGNL语法直接获取Bean值,这个不是一般的方便啊
2.官方有支持Spring IOC的默认配置.
3.自带的拦截器(Interceptor)把一些通用的业务逻辑比如输入校验、类型转换和参数获取等独立出来,Action中更专注具体业务。也可以自己扩展和配置使用拦截器,比如我就通过拦截器实现了登录信息获取、IP限制、权限验证等功能。
4.标签库很强大,但不知道和struts1相比如何。

21、sql语句中的letf join,right join,inner join它们是什么??
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

23、说一下get 和post的区别。
1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求

24、java会出现内存溢出的问题吗??
会。

25、说出几个你遇到过的异常
数组越界, 空指针, 索引越界,io,关闭的session异常

26、说一下spring有什么好处??
spring充当了管理容器的角色/
面向切面编程的aop 依赖注入 方便的远程调用

27、linux杀死进程的方式:
kill -9 id

28、linux中查看当前线程的方式:
ps -ef | grep xxx

29、说出jdbc的具体实现步骤:
1、加载JDBC驱动程序:
2、提供JDBC连接的URL
3、创建数据库的连接
4、创建一个Statement
5、执行SQL语句
6、处理结果
7、关闭JDBC对象

30、 你知道事务吗,说一下事务隔离级别:
更新丢失
脏读
不可重复读

31、. js中如何获得doctment的对象的?
document.getElementById(‘id’)

32、 谈谈你来我们公司应聘工程师,你的优势是什么??

33、 List list = new arryList( );必须这么写吗?
ArryList list = new ArryList( )

34、写了一个方法,参数是接口,调用方法时用接口的实现类是否可以?
可以

35, 如果查看logic.log日志前10行, 后10行
tail head -n 10 logic.log ( 前10行)
tail -n 10 logic.log( 后10行)

36,logic.log 是一个日志信息,如何实时查看
taill -f logic.log

37,如何查看logic.log里所有包括”abc”的行
grep -n abc logic.log

vi logic.log | grep -n abc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值