JAVA面试记录


第一家偏向大数据和前端数据展示  因此问了我一些关于前端的问题

1.浏览器版本如果过低 有的js样式不兼容怎么办

我觉得这真是前端工程师该考虑的  不过我猜应该用原生js可以?

2.DOM树

面试官想问的是原生js怎么写  答document.getElementById()

3.echarts

没啥好说的 这玩意儿填充数据不就行了么

等等忘了

第二家就是正常的java公司了  先是笔试  后来面试

笔试中的问题

1.二分查找法

看到这个题目心里一紧  最近只手写了冒泡排序 没写二分查找  于是我偷偷拿出了手机...

public static int t1(){
    int[] arr = {1,2,3,4,5};
    int s = 5;
    int left = 0;
    int right = arr.length;
    while(left<right){
        int mid = (left+right)/2;
        if(arr[mid]<s){
            left = mid+1;
        }else if(arr[mid]>s){
            right = mid-1;
        }else{
            return mid;
        }
    }
    return -1;
}

2.数字很大的乘法程序怎么设计

我表示不知道... 后来查了下

java.math.BigDecimal是可以进行高精度的运算

例:

double a = 111111111111111111111;

double b = 222222222222222222;

BigDecimal b1 = new BigDecimal(a);

BigDecimal b2 = new BigDecimal(b);

System.out.println(b1.muliply(b2));

 

菊花一紧...

3.如何跳出for循环

这个就简单多了...

1) return 直接跳出方法  不执行循环下面的代码

2) break 跳出循环 继续执行循环下面的方法

3)countine 跳出本次循环

4.@ResponseBody和@RequestBody的作用

@ResponseBody将数据以json格式返回给前台

@RequestBody将前台返回的json数据对应实体类

5.数据类型有哪些 int,boolean,String的默认初始值是多少

byte char short long double int boolean String

波尔类型的默认值是false;
其余的7种基本类型默认值
byte是 (byte)0;
short是 (short)0;
int是 0;
long是 0L;
float 是0.0f;
double 是0.0d;
char是 \u0000。

6.int和Integer谁占得内存大

Integer 对象会占用更多的内存。Integer 是一个对象,需要存储对象的元数据。
但是 int 是一个原始类型的数据,所以占用的空间更少。

 

另外查阅资料发现  int的默认值是0  Integer的默认值是null

另外的比较这篇博客写的很详细

http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html

还有就是int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较。

7.String s = "a"+"b";创建了几个对象

我个人认为是1个        但查资料发现有的人说创建了4个  a,b,ab,s

8.异常处理机制怎么回收垃圾

 

面试问的问题

1.线程的创建

runable 、thread

2.spring的ioc怎么控制事务的

ioc是将对象创建权交由spring容器

3.数据的事务性

隔离性 原子性 一致性 持久性

4.String,StringBulider,StringBuffer之间的区别

String长度不可变  StringBulider,StringBuffer可动态加长  且Bulider线程安全

5.udp/tcp的区别

1.基于连接与无连接

2.对系统资源的要求(TCP较多,UDP少)

3.UDP程序结构较简单

4.流模式与数据报模式 

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

等等忘了

 

第三家是我比较中意的一家  因为给的工资比较高

首先来一轮笔试  都是些基础题  网上都能搜到

面试比较印象深刻  面了我一个小时  口干舌燥的

1.自我介绍 没啥好说的

2.char和varchar的区别

char类型的长度是10  不管有没有存满10个字节都是10  varchar长度不固定 用多少占多少

3.讲讲springmvc的理解

通过DispatchServlet控制一系列的操作 

4.redis和服务器内存有啥区别

因为一开始问了我项目中redis怎么使用的  我说登录信息存在redis中  

然后我扩展了下说  之前有个页面的接口很慢  后来我用定时任务解决的  将数据存在了服务器的缓存中

面试官  就问了这个问题  当时没回答上来

后来想 redis调取数据还要通过服务器  但直接存在服务器中的话   就不需要多了这步操作

5.工作中遇到的困难

我说了个公司让我学习kettle采集数据的困难 当时是真的困难 T T

6.讲下springcloud

我结合了之前的项目说了下  因为之前的项目是所有服务都放在一个服务中 所以每次升级的时候都会

把所有的接口都重新打包发布  这就很不灵活  springcloud就是微服务么  将一个业务所涉及到的接口

弄成一个springboot也就是一个服务  升级某个业务的接口时 就不会再牵扯到其他的服务

7.最近有学什么新技术么

讲了下昨天面试遇到的那个Integer的问题

然后说公司需要用什么技术  我会去进行学习...

8.sql调优

select查询时 指定字段进行查询 不用*

用exsit替代in

9.clob和blob的区别

clob通常存储大文本

blob通常存储图片、文件、音乐等信息

然后又说了下之前遇到的问题  从一个表中的blob字段数据插入到另一个表中的clob字段

百度了下写一个转化函数解决

10.遇到过的异常

最常见的空指针   数组下标越界异常  参数异常  文件找不到异常等等

 

然后还讲了很多其他问题  有点记不清了 尴尬

这场面试中面试官问我的问题  我回答后都会再说点自己工作上遇到类似的问题 所以我说的比较多

后来感觉面的还行 虽然有几个问题没答上来  最后也是收到了offer 

希望大家都能找到自己满意的工作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值