java面试题04
1.就你所熟悉的银行业务面说一下,越详细越好
银行经验:手机银行 网上银行经验 怎么支付 转账 了解基本业务
2.了解工作流的控制,审批流程以及帐务处理么?
java中怎么实现工作流、审批流程,java怎么实现报表功能?
web 项目整合 jbpm或者其他工作流组件
3.java开发web有几种开发模式?你最熟悉哪种?
共有23中开发模式:
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。
最熟悉的:单例模式
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。
4.描述某些特殊功能你认为要从什么包实现?
java.util是JAVA的utility工具包,包含一些使用工具类,如定义系统特性、使用与日期日历相关的函数等。
java.lang是JAVA的language核心语言包;如String、Math、Integer、System、Thread,提供常用的功能。特殊之处是不需要导入,是作为默认导入的包。
java.awt是JAVA的abstractwindow toolkit,抽象窗口工具包;包含了构成抽象窗口共具体的多个类,这些类用于构建和管理应用程序的图形用户(GUI)。
java.applet是创建APPLET的必须包;包含applet运行时所需要的一些类。
java.net是JAVA有关网络操作的包。
java.io是JAVA的输入输出流的包。
java.sql是JAVA的数据库操作包。
javax.swing是新的界面包。
java.applet 支持小应用程序的结构
java.awt 提供图形用户接口的能力
java.awt.color 支持颜色空间和外形
java.awt.datatransfer 与系统的剪贴板交换数据
java.awt.dnd 支持拖拉操作
java.awt.event 处理事件
java.awt.font 描述多种字体类型
java.awt.geom 允许你使用几何形状
java.awt.im 允许编辑组件中日文,中文,韩文的的输入
java.awt.im.spi 支持二选一的输入设备 (在java 2, v1.3中加入) java.awt.image 处理图像
java.awt.image.renderable 支持独立显示图像
java.awt.print 支持一般的打印功能
java.beans 允许你建立软件组件
java.beans.beancontext 为bean 提供可执行环境
java.io 输入输出数据
java.lang 提供核心功能
java.lang.ref 使能与垃圾回收交互
java.lang.reflect 运行时分析代码
java.math 处理大整数和十进制数
java.net 支持网络功能
java.rmi 支持远程方法调用
java.rmi.activation 激活永久对象
java.rmi.dgc 管理分布垃圾回收
java.rmi.registry 映射名称到远程对象引用
java.rmi.server 支持远程方法调用
java.security 处理证书,密钥,摘要,签名和其他安全功能
java.security.acl 管理访问控制列表
java.security.cert 分析和管理证书
java.security.interfaces 为DSA(数字签名算法)定义接口
java.security.spec 设定密钥和算法参数
java.sql 与SQL(结构化查询语言)数据库交互
java.text 格式化,查询和处理文本
java.util 包含一般工具
java.util.jar 生成和打开JAR文件
java.util.zip 读写压缩或解压缩文件
5.一般怎么调试java程序?
(1)system.out.print()输出语句调试
(2)使用MyEclipse/Eclipse程序的Debug调试,设置断点,运行程序,观察不变量变化;
6.熟悉几种分布工具?各自是怎么发布的?
tomcat
部署方法:
(1)直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
(2)在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking 和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
(3)创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
tomcat自带例子如下:
privileged="true" antiResourceLocking="false" antiJARLocking="false">
7.Easyui中的控制datagrid在加载数据的时候会出现两次请求后台数据的情况,什么原因?
html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid")或者采用延迟加载初始化:
init();
function init() {
$('#dic').datagrid({});
//延迟加载,否则页面请求两次
setTimeout(refreshDic, 100);
}
function refreshDic() {
$('#dic').datagrid({
queryParams: {
dictName
}
通过setTimeout实现延时请求,果断不请求两次了
为了那100毫秒页面没渲染的太难看,先初始化个简单的datagrid。
延迟的毫秒数试过很多,最小95毫秒左右,不能再小了,否则还是请求两次。
8.Oracle中字符串用什么符号链接?Oracle是怎样实现分页的?
连接符号是:||
分页:
select * from
(select a.*,rownum row_num from
(select * from mytable t order by t.id desc) a
) b
where b.row_num between startIndex and endIndex
9.Oracle中where条件查询和排序的性能比较?
10.解释什么是死锁,如何解决Oracle中的死锁?
死锁:程序运行过程中,只有一个进程在运行,其他进程都在等待状态,并且点击进程的确定和保存按钮,程序无反应,但是也不报错,之中现象称作死锁。
解决方法:
1)用dba用户执行以下语句
以下是代码片段:
select username,lockwait,status,machine,program from v$session where sid in
(select session_id from v$locked_object)
如果有输出的结果,则说明有死锁,且能看到死锁的机器是哪一台。字段说明:
Username:死锁语句所用的数据库用户;
Lockwait:死锁的状态,如果有内容表示被死锁。
Status: 状态,active表示被死锁
Machine: 死锁语句所在的机器。
Program: 产生死锁的语句主要来自哪个应用程序。
2)用dba用户执行以下语句,可以查看到被死锁的语句。
select sql_text from v$sql where hash_value in
(select sql_hash_value from v$session where sid in
(select session_id from v$locked_object))
A. kill掉这个死锁的进程:
alter system kill session 'sid,serial#'; (其中sid=l.session_id)
B. 如果还不能解决:(linux)
select pro.spid from v$session ses, v$process pro where ses.sid=XX and ses.paddr=pro.addr;
其中sid用死锁的sid替换:
exit
ps -ef|grep spid
其中spid是这个进程的进程号,kill掉这个Oracle进程。
11.怎么创建一个视图,视图的好处,视图可以控制权限吗?
创建视图语句:create or replace view teacher_view
as
select tname,sal from teacher
创建视图要有视图权限,否则不能创建。
12.ServletAPI中Forward()和Redirect()的区别?
forward:转发---是服务器端行为,携带请求数据,客户端的Url显示不改变,且客户端只发送请求了一次
redirect:重定向----是客户端行为,不携带请求数据,客户端的Url显示改变,且客户端至少发送请求了两次
13.如何查看在weblogic中已经发布的EJB?
可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB.
在weblogic中开发消息Bean时的persistent与non-persisten的差别:persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃
14.spring+Hibernate中委托方案怎么配置?
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置会话工厂sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 配置hibernate映射文件以及hiberbnate配置文件的参数 -->
<!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->
<property name="mappingDirectoryLocations" value="classpath:com/news/pojo"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<!-- 配置当前事务的Session -->
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate3.SpringSessionContext</prop>
<prop key="hibernate.javax.persistence.validation.mode">none</prop>
</props>
</property>
</bean>
15.求小王在2017年卖给北京海淀区客户财务软件的总套数?设计出表之间的关系,并写出sql语句。
表一:user(员工表)
字段:uid(员工id,主键) uname(员工姓名) utel(员工联系方式)
表二 district 地区表:
字段:did(地区did、主键) 地区姓名(dname)
表三:sal表
字段:sid(销售标号、主键) syear(时间) scount(数量) sdid(销往地区,外键关联district的主键did) suid(销售人员,关联外键user的主键uid)
select count(0) ‘销售数量’,uname ‘销售人员’
from (sal s left join district d on sdid =did)
left join user u on suid=uid
where d.dname=’海淀区’ and u.uname=’小王’ and s.syear=”2017”;
16.写个程序,实现对新闻的增删改查,新闻包括:新闻标题、种类、内容、附件,不同种类按照Tab展现,点击Tab时必须显示相应类型的新闻列表,点击列表后,弹出页面,显示新闻的项目内容,附件可以下载。
17.你对加班怎么看?能否出差?
18.目前北京的项目要求较高,你是否有意向去滨海新区发展?
java面试题04的更多相关文章
- Java面试题(全)--视频系列
此系列为面试笔试题的视频讲解,以下均为超链接,点击即可进入每个知识点的讲解. Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环 ...
- 尚学堂Java面试题整理
博客分类: 经典分享 1. super()与this()的差别? - 6 - 2. 作用域public,protected,private,以及不写时的差别? - 6 - 3. 编程输出例如以 ...
- 一线互联网企业常见的14个Java面试题,Java面试题集大全等你拿,颤抖吧程序员!
本文由尚学堂学员们根据自己参加过的面试回忆.总结而成,一线互联网企业常见的14个Java面试题,包括各大互联网企业.创业小公司,互联网企业.传统软件公司.对于刚毕业和想要跳槽的宝宝们,再适用不过啦,赶 ...
- Java面试题阶段汇总
初级面试题 Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java面试题-基础篇四 Java面试题-基础篇五 Java面试题-javaweb篇六 Java面试题 ...
- java面试题8
java面试题08 1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;编译 ...
- 最全最新java面试题系列全家桶(带答案)
最全最新java面试题系列全家桶(带答案) 置顶 2019年04月06日 22:40:28 青春季风暴 阅读数 14082 文章标签: java面试题技术栈 更多 分类专栏: 面试 版权声明:本文 ...
- java面试题及答案(转载)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- 115个Java面试题和答案——终极列表(下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- Java面试题(全)
JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...
随机推荐
- java拷贝构造函数
浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象. 深拷贝就是两个对象的值相等,但是互相独立. 构造函数的参数是该类的一个实例. Operator = 拷贝构造函数 ...
- webapi设置一个Action同时支持get和post请求
代码如下: [AcceptVerbs("GET", "POST")] public HttpResponseMessage Http([FromUri]Prox ...
- SpringBoot启动流程分析(三):SpringApplication的run方法之prepareContext()方法
SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...
- SpringMvc aop before
1.config.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans ...
- android 编译问题解决
1.android4.2.2 '/root/origin_android/mokesoures/out/target/common/obj/APPS/ApplicationsProvider_inte ...
- React中key的必要性与使用
React这个框架的核心思想是,将页面分割成一个个组件,一个组件还可能嵌套更小的组件,每个组件有自己的数据(属性/状态);当某个组件的数据发生变化时,更新该组件部分的视图.更新的过程是由数据驱动的,新 ...
- excel十几万行数据快速导入数据库研究(转,下面那个方法看看还是可以的)
先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.setting ...
- Android Apk包下查看 sha1
用keytool工具查看sha1,格式如下:keytool -printcert -file Urovo.RSA文件路径(APK解压后在Meta-INF文件夹下)
- intellij idea 大内存优化配置 idea64.exe.vmoptions文件配置
-ea-server-Xms2G-Xmx4096M-Xss2m-XX:MaxMetaspaceSize=2G-XX:ReservedCodeCacheSize=1G-XX:MetaspaceSize= ...
- svn服务器 vim 修改 authz passwd 添加用户
进入svn服务器 vim 修改 authz passwd 添加用户 SVN服务器之------2,配置PhpStorm连接SVN服务器(其他IDE大同小异) - 学到老死 - 博客园 https:// ...