java工程师面试题大全100%公司笔试题你都能碰到几个(6)

2019-05-18 20:59

scanf( \ printf( \ for(i=2;i <=n;i++) while(n!=i) {

if(n%i==0) {

printf( \ n=n/i;

} else{ break; } }

printf( \ getch(); }

116. 用一个方法查出宜个数值类型数组的最大值,用递归方式实现 方法1

public class Test1 {

public static int a(int[] i,int j){ if(i.length-1>j){ if(i[j]>i[j+1]){ i[j+1]=i[j]; }

return a(i,j+1); }else{

return i[i.length-1]; } } }

方法2 -- 非递归

public static int test(int []num) { int x=0; int log = num.Length;for(intt=0;tx){ x=num[t]; } }return x;}

方法3 --- 递归 不改变原数组中的元素

public static int getMax(int[]a, int index,int max){ int len = a.length; if(len==1){

return a[len-1]; }

if(index==0){

max = a[index]; }

if(index==len){ return max; }

if(max

index++;

return getMax(a,index,max); }

// 测试

int max = getMax(new int[]{2,5,18,3,38,10,2},0,0); System.out.println(max);

117. JSP与SERVLET区别

JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

118. xmlhttprequest.open()里面有几个方法? XMLHttpRequest.open() 初始化 HTTP 请求参数 语法

open (method, url, async, username, password)

method 参数是用于请求的 HTTP 方法。值包括 GET、POST 和 HEAD。 ( 大小写不敏感 。

POST:用\方式发送数据,可以大到4MB GET:用\方式发送数据,只能256KB

如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内 没有参数使用GET方式

对于请求的页面在中途可能发生更改的,也最好用POST方式 )

url 参数是请求的主体。大多数浏览器实施了一个同源安全策略,并且要求这个 URL 与包含脚本的文本具有相同的主机名和端口。

async 参数指示请求使用应该异步地执行。如果这个参数是 false,请求是同步的,后续对 send() 的调用将阻塞,直到响应完全接收。

如果这个参数是 true 或省略,请求是异步的,且通常需要一个 onreadystatechange 事件句柄。

username 和 password 参数是可选的,为 url 所需的授权提供认证资格。如果指定了,它们会覆盖 url 自己指定的任何资格。

119. java优缺点

先说优点吧,比较显见一点

1.指针.

任何一个学过C或者C++的人都知道指针的操作对于他们是很重要的,为什么,指针能够支持内存的直接操作,这样的直接操作能够带来的是效率上的提高.但是任何一个东西都是有副作用的,指针给程序员带了的混乱也是无可比拟的.对于一个不是很强劲的C程序员而言,指针是要命的(对我而言也是,我几乎不会写C代码).而JAVA就为我们省去了这样的麻烦,或者说JAVA完整的限制了对内存的直接操作,让程序员能够安心去搞业务逻辑,而不用管自己后院的那堆内存有没有人来收拾.

2.垃圾回收

其实垃圾回收也是JAVA对于内存操作的限制之一,也大大解放了程序员的手脚.但是也正是这样的一个内存保姆的存在导致JAVA程序员在内存上几乎没有概念...一个纯粹的JAVA程序员对于内存泄露这样的问题是从来没有概念的,因为他从来不用担心,因为大多数情况下即便他大手大脚也不会有什么问题

3.平台无关性

平台无关性的真正意义在于程序的可移植性高,能够在多个平台平滑迁移。这点就特别适合网络应用。

好吧,然后我们再来看看缺点吧:

1效率

1.1当然首先就是内存操作限制带来安全的同时带来的副面效果了..... 1.2 其次呢,就是面对对象的一个很重要的特点所带来的——多态导致的。

1.3平台无关性带来的。由于需要平台无关,所以JAVA是不能直接调用OS的API的,JAVA需要调用自己的API来隐式地调用OS的API,大家可想而知这样的效果。多一层调用,必然多一层代码需要加载到栈内了。

2逆向编译问题

由于JAVA程序是动态连接的,从一个类到另外一个类的引用是符号化的。在静态连接的可执行程序中,类之间的只是直接的指针或者偏移量,。相反地,在JAVA class文件中,指向另一个类的引用通过字符串清楚地标明了所指向的类的名字。如果引用指向一个字段的话,这个字段的名字和描述符会被详细说明。如果引用指向一个成员变量,这个成员变量的名字和描述符(方法的返回类型,方法参数的数量和类型)也会被详细说明。

3 线程调度问题

Java虽然是一个总进程下的多线程,但是线程间的调度没有非常的清晰,由于为了能够支持多种系统的不同的线程支持策略,JAVA只能采取这样笼统而又松散的线程规范。

120. 写一个单例Signleton代码 public class Singleton { private Singleton(){};

private static Singleton singleton; @SuppressWarnings(\

private static Singleton getSingleton(){ if(singleton==null){

singleton=new Singleton(); }

return singleton; } }

121. Mvc各部分用什么实现? 视图层用jsp,javascript

作用--显示数据,接受用户输入数据 控制层用servlet

作用--接收视图层数据,传输 给业务逻辑层(即模型层) 模型层用普通javaBean

作用--业务类的实现,如:数据库操作

122. ejb是基于哪些技术实现的,和javabean的区别?

EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现 EJB是一个关于用JAVA语言开发的可部署的服务器端组件的组件体系结构。它是一个技术协议,能使组件运行于任何应用服务器,专门用来解决商务问题JAVABEANS是JAVA类,是由属性、事件和方法组成的JAVA组件,它们可以用来组成JAVA应用程序

123. 适配器模式解释:

把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类 能够一起工作。适配类可以根据参数返还一个合适的实例给客户端

124. 进程和线程的区别:

线程是一种操作系统对象,代表着一个进程中要被执行的代码的路径。每一个WIN32应用程序至少有一个线程--通常称为住线程或默认线程--但应用程序可以自由地创建其他线程来执行其他任务!

进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程 线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生 多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念 125.

short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译)

126. 写一个程序,把一个文件的数组按对角线做对称变换,并输出!

一个正方形里面全数字,写一个程序,成对角线转变! 我做的这个是3行3列的对角互换,也许转换规则不一样

public class testMain {

public static void main(String[] args) { int a[][]=new int[3][3]; int c=1; //初始化数据

for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ a[i][j]=c++; }

}

System.out.println(\转换之前:\ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){

System.out.print(\ }

System.out.println(\ }

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

if((i+1<3&&j+1<3)&&i==j&&i!=0&&i!=3-i){ int temp=a[i-1][j-1]; a[i-1][j-1]=a[i+1][j+1]; a[i+1][j+1]=temp; temp=a[i-1][j+1];

a[i-1][j+1]=a[i+1][j-1];

a[i+1][j-1]=temp; } } }

System.out.println(\转换之后:\ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out

print(\ }

System.out.println(\ } } }

127. 再SSH框架中,用流程表示处理过程。从Request, Response

128. 人民币小写转成大写,写个java程序和思路(写10100.00转成汉字壹万零壹百整)

public class Money {

public static void main(String[] args) { // 金额大小写转换

float money = 2038.0f;

int m1, m2, m3, m4, m5, m6, temp; temp = (int) (money * 100); System.out.println(money);

m1 = temp % 1000000 / 100000; m2 = temp % 100000 / 10000; m3 = temp % 10000 / 1000; m4 = temp % 1000 / 100; m5 = temp % 100 / 10; m6 = temp % 10;

char c1, c2, c3, c4, c5, c6;


java工程师面试题大全100%公司笔试题你都能碰到几个(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:镇党委书记在全镇重点工作推进会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: