尼克老湿の面试回顾(5)

阅读: 评论:0

尼克老湿の面试回顾(5)

尼克老湿の面试回顾(5)

前言

自如

面试内容

笔试

1. 下列哪些定义正确()
A. int i = 0xFFFFFFFF;
B. char c = 'u0571';
C. byte b = 01;
D. int i = 'a';
E. long l = 45555566666L;
复制代码
2. 下列哪些生成新的String对象()
A. String s = new String();
B. String s = new String("A");
C. String s = "";
D. String s = "A".intern();
E. String s = (String)wInstance();
复制代码
3. 根据下面的代码,选择可能的结果()
public class Demo {void change(String s){s = s.replace('A','E');s = s.toLowerCase();}public static void main(String[] args){Demo d = new Demo();String str = "BEA";d.change(str);System.out.println(str);}}
复制代码
4. 有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?
5. 解释下sql注入?怎么有效的防止sql注入?
6. try()里面有一个return语句,那么紧跟在这个try候的finally()里面的code会不会被执行,什么时候被执行,在return前还是后?
7. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?sleep()和wait()有什么区别?
8. ArrayList和Vector的区别?
9. 说一下Java常见的设计模式,并写出一种单例模式的实现方式
10. 数据库第三范式是什么?
11. 软件生命周期,包括有问题的定义及规划,需求分析,软件设计,程序编码,软件测试,运行维护。请简单介绍一下每个阶段的实际意义以及各阶段间的相互作用。你认为重要的事那个阶段?
12. 编写一段Java代码,展示程序中存在内容泄露的问题,并标明内存泄露的位置。

1). 堆内存溢出


/*** VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError* */public class HeapOOM {static class OOMObjetct{}public static void main(String[] args){List<OOMObjetct> list = new ArrayList<>();while (true){list.add(new OOMObjetct());}}
}
复制代码

2). 虚拟机栈和本地方法栈OOM


/*** VM Args : -Xss128k* */public class JavaVMStackSOF {private int stackLength = 1;public void stackLeak(){stackLength ++;stackLeak();}public static void main(String[] args){JavaVMStackSOF oom = new JavaVMStackSOF();try {oom.stackLeak();}catch (Exception e){System.out.println("stack length : " + oom.stackLength);throw  e;}}
}
复制代码

3). 运行时常量池导致的内存溢出异常

/*** VM Args : -XX:PermSize=10M -XX:MaxPermSize=10M* */public class RuntimeConstantPoolOOM {public static void main(String[] args){List<String> list = new ArrayList<>();int i = 0;while(true){list.add(String.valueOf(i++).intern());}}
}复制代码

由于PermSize在JDK 8.0已经被移除了

4). 本机直接内存溢出

/***VM Args : -Xmx20m -XX:MaxDirectMemorySize=10M* */public class DirectMemoryOOM {private static final int _1MB = 1024*1024;public static void main(String[] args) throws IllegalAccessException {Field unsafeField = DeclaredFields()[0];unsafeField.setAccessible(true);Unsafe unsafe = ((null);while (true){unsafe.allocateMemory(_1MB);}}}
复制代码
13. 写一个SQL存储过程,建立一个表USER字段是姓名,年龄,入职时间(记录创建时间),然后向里面插入6条数据。第二步建立一个表WORK字段是姓名,职位,工号(按照入职顺序编码依次为link1,link2&#),请遍历USER表,按照入职时间的先后将对应的员工信息插入WORK表。
14. 假设字符串类似这样的aba和aab,abcd和acdb,caa和aac这样的字符串相等,现在随便给你两组字符串,请编程比较它们是否相等。
    public static boolean equals(String a,String b){byte[] arr1 = a.getBytes();byte[] arr2 = b.getBytes();Arrays.sort(arr1);Arrays.sort(arr2);return Arrays.equals(arr1,arr2);}复制代码

     详细可参考: 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等

一面

1. HTTP

1). 常见的网络协议有哪些?

2). 简述TCP的三次握手

3). 网络传输数据的格式有哪些?

4). Jason的数据类型有哪些?

5). JacksonJason和FastJason的区别有哪些?

2. Spring

1). Spring 和 Spring MVC的区别有哪些?

2). 常用的标注在类上的Spring标签有哪些?

3). Spring事务是如何配置的?

3. MySQL

1). 谈一下数据库连接池的相关配置有哪些?

2). 谈一下水平分表和垂直分表?

二面

1). Hive和Hbase的区别有哪些?

2). UTF-8和UTF-8mb4的区别有哪些?

更新时间

发布时间 : 2018年8月22

本文发布于:2024-02-04 06:02:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170700597852916.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:尼克
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23