笔试题(1)
来源:互联网 发布:django redis mysql 编辑:程序博客网 时间:2024/06/16 05:18
原来公司语言转型,然后我就辞职了也就呆了两个星期。。。。最近又在开始面试了,今天重新开始面试第一天,来总结一下面试题。
1:名词解释,抽象,封装,继承
①抽象:是指将一些有共性的数据数据结构(属性)和行为(操作)抽象成类,他反应与应用有关的一些重要性质,而忽略其他的。 ②封装:封装性是保证软件部件具有优良的模块性的基础,对象是封装的最基本单位, 封装防止了程序相互依赖性而带来的变动影响。 ③继承:是指子类自动共享父类的数据结构和方法的机制,在定义一个类时,如果与类有继承关系,即可以使用父类的属性,并可以添加一些其他的属性。
2:a=10,b=20.在不使用第三方变量的情况下,使两值互换。
a=a+b;//a=30 b=a-b;//b=30-20;b=10; a=a-b;//a=30-10;a=20;
3:String str=”abcde”,反序输出字符串,不能用函数。
String str="abcde"; StringBuffer sb=new StringBuffer(); for(int i=str.length()-1;i>=0;i++){ sb.append(str.charAt(i)); } System.out.println(sb.toString());
4:Math.round(11.5)等于多少,Math.round(-11.5)等于多少。
12 -11
5:override和overload的区别。
override(重写),overload(重载). 1:重载是一个类中多态性的体现,重写是父子类的多态性的体现。 2:重载是多个同名函数存在时,参数列表不同,重写是参数列表必须与被重写的方法完全相同,否则就变成了重载。 3:重写的返回值类型必须与被重写的返回值类型相同。 4:访问修饰符必须比被重写方法的访问修饰符权限要大 5:重写的方法不能抛出比被重写方法更高级别的异常。 6:重载可以有不同的访问修饰符,可以抛出不同的异常,可以有不同的返回值类型,只要参数列表不同即可。
6:String str=new String(“asdf”);创建了几个对象。
创建了两个对象, 1,str 2,String"asdf"
7:说出数据连接池的工作机制。
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表标记为空闲,其他调用级可以使用这个连接。
8:swtich是否能作用在byte上,long上,String上?
byte 能 隐士转换int. long 不能 转换不了。 string 不能 转换不了。swtich支持:int,byte,short,char.
9:一组数字,10.20.45.99.66.进行倒序输出。使用冒泡排序。
int arr[]={10,20,45,99,66}; for(int i=1;i<arr.length;i++){ for(int j=0;j<arr.length-i;j++){ if(arr[j]<arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } 再遍历数组,就可以实现从大到小排列了。
10:new Arraylist(10)的含义。
分配了10个指向String类型的空间。new Arraylist()是默认分配10个MyData对象的空间,此时只是只是分配了对象引用的空间。
11:写一个Singleton。
//懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static Singleton single=null; //静态工厂方法 public static Singleton getInstance() { if (single == null) { single = new Singleton(); } return single; } }
12: java中的异常处理机制的简单原理和应用。
异常指程序运行时期(非编译)所发生的非正常情况和错误。java中的异常都继承自Throwable。派生类有 ---Error(代表程序无法克制和解决的错误) ---Exception(表示可修复的) 其中Exception又分为系统异常和普通异常,系统异常是指软件开发本身时设计不周导致的异常,此异常无法解决,但可以通过手段让程序继续执行下去,而普通异常指的是运行环境导致的异常,如断电等等。Java为异常提供了try()..catch和throws的方式来处理异常。就是要么抓,要么抛。
13:char类型变量中能不能储存一个中文汉字,为什么?
char类型可以储存一个中文汉字,因为一个中文汉字占两个字节,char类型可以容纳两个字节。
14:j2ee常用的设计模式?
单例模式,工厂模式,建造模式,门面模式,原始模型模式。
(一共好像是23种,我就记得这几种,并且熟悉的也就是单利模式和工厂模式,后面那三个都只是听过都没研究过。。。)
15:SOCKET中有几种连接方式,区别?(未答出)
两种:长连接与短连接(我只回答了这一句,只是简单了解过,下面是百度的答案。)
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。
短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。
16:设计两个线程,其中1个线程每次对j增加1,另外1个线程对j每次减少1(未答出).
//加一
import java.util.concurrent.atomic.AtomicInteger;
public class AddNum extends Thread { private AtomicInteger i; public AddNum(AtomicInteger i) { this.i = i; } @Override public void run() { synchronized (i) { i.getAndIncrement(); System.out.println(i); } } }
//减一
import java.util.concurrent.atomic.AtomicInteger; public class SubstractNum extends Thread { private AtomicInteger i; public SubstractNum(AtomicInteger i) { this.i = i; } @Override public void run() { synchronized (i) { i.decrementAndGet(); System.out.println(i); } } }
17:什么事存储过程?有什么优点(勉强答出了前面两点)。
存储过程是组予编译的sql语句优点:① 允许模块化程序设计,就是说只需要创建一次过程,以后就可以调用该过程任意次数。 ② 允许更快执行,如果其操作需要执行大量SQL语句或重复执行存储过程比SQL语句执行的要快 ③ 减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行的代码。 ④ 更好的安全机制,对于没有权限执行存储过程的用户,也可以授权他们执行存储过程。
18:如果有重复的数据怎么办?以前的数据我想保留不可以删除,如何实现(没答出)?
删除重复:select distinct * from tableName/*这道题我没看懂意思,是说重复的数据保留还是以前的数据跟重复数据没关系吗?求指导*/
19:什么叫sql注入,如何防止?请举例说明
我:sql注入是利用sql漏洞进行网络攻击。 举例:在后台登陆的时候,免去了校验的步骤,使得不需要身份验证就可以登陆。百度:答:SQL注入是常见的利用程序漏洞进行攻击的方法。导致sql注入攻击并非系统造成的,主要是程序中忽略了安全因素,利用sql语言漏洞获得合法身份登陆系统 例如:"Select * from users where name='"+uName+"' and pwd='"+uPwd+"' " 如用户在t_name中输入tom’ or 1=‘1 就可以进入系统了。生成语句:Select * from users where name = ‘tom’ or 1=‘1’ and pwd=‘123’防止sql注入的方法有如下几点:使用参数化过滤语句在web应用程序的开发过程中所有阶段实施代码安全检察使用存储过程
其他的还有一个数据库的题,也就是涉及到多表查询和一些复杂查询,也没答全。一共23道题,差不多有10道左右不会。。。好好复习吧!
阅读全文
0 0
- 笔试题(1)
- 笔试题(1)
- 笔试题(1)
- 笔试题(1)
- 笔试题(1)
- 笔试题集锦(1)
- .NET笔试题(1)
- ADOBE笔试题(1)
- 笔试算法题(1)
- 华为笔试题(1)
- 腾讯笔试题(1)
- 笔试题集锦(1)
- C++笔试题(1)
- javascript笔试题(1)
- 刷刷笔试题~(1)
- 笔试题汇总(1)
- linux笔试题(1)
- 操作系统笔试题(1)
- 编译原理与编译构造 二义文法
- Ajax
- HDU
- Runtime的入门与应用之三
- python3.4内嵌函数实例
- 笔试题(1)
- 无法定位程序输入点_except1于动态链接库
- tomcat系列 启动慢
- UVA 12338
- 二维码功能实现简单例子
- RabbitMQ管理(1)——多租户与权限
- 监控器物检测object detection实战
- 基于Excel的QR二维码生成工具——原理及算法详解(之二)
- MacOS 开发