第一家偏向大数据和前端数据展示 因此问了我一些关于前端的问题
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
希望大家都能找到自己满意的工作