30道初级Java工程师面试题(附答案)
2023-04-04 10:29:28
面试也是一种考试,面试和考试一样,目的是测试能力水平和资格。由于它也是一种考试,它必须因人而异,在java面试中,根据不同的职位和水平,会有不同的困难的面试问题和评估标准。本文总结了30篇文章初级java工程师面试问题,没有严格安排好照片分数java数据库或者框架知识整理面试问题,但根据java面试问题初级java工程师的难度标准进行总结,希望对初级java工程师有所帮助。
1、什么是 Servlet?
答:Servlet 是服务器端 Java 具有独立于平台和协议的特点的应用程序可以生成动态 Web 页面。它承担客户请求(Web浏览器或其他HTTP)。 客户程序)和服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet位于Web服务器内部的服务器端java从命令行开始的传统应用程序 Java 不同的应用程序,Servlet 由Web服务器加载 Web 服务器必须包含支持 Servlet 的java虚拟机。
2、Servlet 的生命周期分几个阶段?
答:Servlet 生命周期可分为加载和实例化、初始化、服务和销毁四个阶段。当客户第一次要求时,首先判断是否存在 Servlet 如果对象不存在,则由 Web 然后调用容器创建对象 init()方法对其初始化,这种初始化方法在整个过程中 Servlet 在生命周期中只调用一次。完成 Servlet 对象的创建和实例化后,Web 容器会调用 Servlet 处理请求的对象service()方法。当 Web 关闭或关闭容器 Servlet 当对象被从容器中删除时,它会自动调用 destory()方法。
3、过滤器的功能和用法是什么?
答:对于一个对于web应用程序,过滤器是web容器中的一个组件,它过滤特定的请求资源请求信息和响应信息。当一个请求到来时,web 容器将判断过滤器是否与信息资源相关。如果是这样,它将被移交给过滤器,然后移交给目标资源。响应时,将相反的顺序移交给过滤器,最后返回给用户浏览器。
常用的过滤器用途主要包括:统一认证用户请求、记录和审核用户访问请求、过滤或更换用户发送的数据、转换图像格式、压缩响应内容以减少传输、解密请求或响应、触发资源访问事件等。
4、写一个冒泡排序
答:public static void bubbleSort() { int arr[] = {-5, 29, 7, 10, 5, 16}; 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; temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(" " + arr[i] + " "); } }
5、写一个单例的实现(懒加载)
答: class LazySingleton { private LazySingleton() { } private static class SingletonHolder { private static LazySingleton instance = new LazySingleton(); } public static LazySingleton getInstance() { return SingletonHolder.instance; } }
6、有一个二维数组 A[m][n],假设A[0][0]存储位置在 644(10),A[2][2]存储在676(10)每个元素中的文职占据一个空间 A[3][3](10)存放在哪里? 表示用脚注(10) 10进制表示(C)
A.688 B.678 C.692 D.699
7、以下代码执行结果为(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; t.run(); System.out.print("ping"); } static void pong() { System.out.print("pong"); }
A.pingpongB.pongpingC.pingpong和pongping 都有可能
D.都有可能
8、下面的程序能正常运行吗? class NULL { public static void haha() { System.out.println("haha"); } public static void main(String[] args) { ((NULL) null).haha(); } }
答:可以正常运行
9、如果去掉main方法, static 修饰符会怎样?(B)
A.程序无法翻译。
B.程序可以正常编译或抛出 NoSuchMethodError 异常。
C.程序可以正常编译和运行。
D.程序可以正常编译,正常运行一段时间后会立即退出。
10、以下程序输出的结果是(A) static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] args) { int i = 0; for (foo('A'); foo('B') && (i < 2); foo('C')) { i++; foo('D'); } }
A.ABDCBDCB B.ABDCDBCB C.ABDBCDCB D.ABDBCDCB
11、下面哪些是Threadad? 类的方法(A,B,D)
A.start() B.run() C.exit() D.getPriority()
12、以下关于Thredad的关于 在类提供的线程控制方法中,一个错误是(A)
A.在线程A中执行线程B join()方法,线程A等待直到B执行完成。
B.通过调用线程A interrupt()中断其阻塞状态的方法。
C.currentThread()方法返回当前线程的引用。
D.若线程A调用isalive()返回true,则表示a正在执行中。
13、设String s1 =”Topwalk”;String s2 =”Company”; 以 下 方 法 可 以 得 到 字 符 串“TopwalkCompany” 有:(ABD)
A.s2+s1; B.s1.concat(s2); C.s1.append(s2);
D.StringBuffer buf = new StringBuffer(s1); buf.append(s2);
14、String a = new String(“1”+”2”)最后创建了几个对象(D)
A.1 B.2 C.3 D.4
15、int 类型占用(B)个字节?
A.2 B.4 C.8 D.16
16、下面的句子可以快速复制数据库表(C)
A.select * into b from a where 1<>1;
B.creat table b as select * from a where 0=1;
C.insert into b as select * from a where 1<>1;
D.insert into b select * from a where 1<>1;
17、属于单例模式的特点是(ACD)
A.它提供了唯一实现的受控访问
B.允许可变数的例子
C.单例模式的抽象层会导致单例类扩展和那个的困难
D.单例模式很容易导致数据库连接池溢出
18、选择Oracle分页语句的关键词(A)
A.rownum B.limit C.TOP D.pagenum
19、选择查询所有表和视图的方法:(B)
A.preparedStatement.getMetaData().getTables(***);
B.connection.getMetaData().getTables(***);
C.result.getMetaData().getTables(***);
D..DiverManager.getMeta().getTables(***);
20、监控数据库变化的机制有哪些?(ABC)
A.存储过程 B.数据库日志 C.触发器 D.物化视图
21、清空表所有数据性能最好的语句是什么?(B)
A.delete from tsuer;
B.truncate table tuser;
C.drop table tuser;
D.delete tuser;
22、对外共享文件有哪些协议?(AB)
A.FTP B.Windows 共享 C.TCP D.SSH
23、Java中特殊符号的使用是正确的(AD)
A.判断字符串 str 中是否含有“.”,可以根据 str.indexOf(“.”)是否等于-1 判断。
B.判断字符串 str 是否含有“.”,可以根据 str.indexOf(“\\.”)是否等于-1 判断。
C.根据“.”分隔字符串 str 写法可以是 str.split(“\\.”)
D.根据“.”分隔字符串 str 写法可以是 str.split(“.”)
24、根据以下代码回答问题的方法是什么? 6 好的,会导致编译错误的是(B) 1.class Super { 2. public float getNum() { 3. } 4.} 5.public class Sub extends Super { 6. 7.}
A.public float getNum{return 4.0f;}
B.public void getNum(){}
C.public void getNum(double d()){}
D.public double getNum(float d){return 4.0d;}
25、根据以下代码回答问题:输出结果是什么?(B) class Foo { public static void main(String args[]) { try { return; } finally { System.out.println("Finally"); } } }
A.print out nothing; B.print out “Finally”
C.编译错误 D.以上都不对
26、根据以下代码回答问题,请输出 i 和 j 的值是多少(D) int i = 1, j = 10; do { if (i++ > --j) continue; } while (i < 5);
A.i=6 j=5 B.i=5 j=5 C.i=6 j=4 D.i=5 j=6
27、以下是java关键词吗?(CD)
A.run B.low C.import D.implements
28、从甲地到乙地有一天的路线,全程行驶时间 42 到达总站几分钟后,司机至少休息一下 10 几分钟后,公共汽车掉头行驶。如果这条线是A,B两侧的总站每隔一段时间 8 每分钟发一辆车(不需要同时),这条线至少需要两辆公交车。(C)
A.15 B.14 C.13 D.12
29、编号为 1 至 10 的 10 每个盘子都装满了水果,一起盛开 100 一个。第一盘有 16 三个相邻数量的水果盘中的水果是和都相等的,请求第一个 8 盘中最多可能有多少水果?(A)
A.11 B.12 C.13 D.14
30、假设池塘里有无限的水,现在有了 2 一个空水壶,体积分别是 5 升和 6 升,问怎么用这两个水壶拿到? 3 升水。
答:5L桶装满水,全部倒入6L桶;
5L桶再次打满了,把水倒到6L桶里,直到满了。这时,5桶留下4L水;
清空6L桶,将5L桶中的4L水倒入6L桶;
5L桶装满水,将水倒入6L桶至其满,5L桶装满3L水。
以上就是今天为大家准备的java学习者整理的初级学习者java工程师面试题,共有30,涉及很多java相关知识,不仅有java专业知识,还有程序员逻辑思维能力,也希望你能更清楚地了解他们的知识框架,发挥泄漏填补空白的作用,成功通过初级java工程师面试。