想进入金融行业做Java开发,宜信是很多人的选择。今天陕西优就业小优给大家整理了2位网友分享的宜信Java岗面试题,希望能给大家带来参考:
网友一:宜信大数据中心java研发岗面经
一面(1 hour):
1、项目介绍(十分钟)
2、项目里redis了解多少?
3、持久化方式是什么?(aop,rdb)
4、aof重写是什么?
5、怎样保持mysql与redis的数据一致性?(最终一致性)
6、写代码,回文数判断。(回文数以链表的形式存储,怎样盼判断他是回文数。)
7、ArrayList和LinkedList的区别?
8、二叉树有哪几种方式遍历?
9、然后,面试官给了一个二叉树,让你输出前序和中序的结果。
10、给定一棵二叉树,和一个数值。求二叉树的路径和等于给定值的所有路径?(二叉树中可能有负数,终止节点为中间节点不算)
11、Java 泛型(new List> 编译器会不会报错之类的)
12、final的基本用法以及会产生的后果
一面基本上都很基础,面试官人很好,会细心指导你,并且帮助你完成编程。
二面:
二面就两道算法题
1、求一个数组中右边第一个比他大的数(单调栈)(不能暴力搜索)
2、有一个先升后降的序列,求最大值(二分搜索)
这个面试官人技术很厉害,面试的时候很耐心。第一题在我没思路的时候,也耐心给我讲解。
三面:
1、项目介绍
2、jvm了解吗?内存管理机制是什么?
3、垃圾回收机制
4、g1和cms的区别
5、数据结构了解多少(说了java collections 类里面的东西)
6、hashmap在java里面怎么实现的?(说了1.7和1.8的区别,脑残说了下红黑树)
7、红黑树怎么实现的?有什么特点?什么时候左旋?什么时候右旋?
8、mysql四大事务特性,每个特性都是什么意思
9、mysql优化策略
10、mysql怎么做到联合索引的(b+树)
11、联合索引的特性
12、分布式锁
三面主要以你看的东西为主,主要考察你知识的全面性
网友二:宜信Java面经
总的来讲面试流程挺正规,注重基础
和数据结构。
一面:
n个人各自有自己的礼物,然后开始送礼物,最后每个人受里的礼物都不是自己的问共有多少种送法,请
手写写出来。
写一个死锁程序,能够确保死锁。
springMVC,怎么配置 ,原理是怎样的。
mybatis,你怎么用的,怎么配置(因为楼主写了自己手写过orm框架)
redis你是怎么用的。
知道RPC么(楼主自己实现过一个简易的RPC框架)
你是怎么学java的,看过哪些书。
一面的内容大概记得这么多了。
二面:
多线程了解么,讲讲你对线程同步的理解。
NIO的原理,什么是同步,是阻塞你怎么理解。
epoll,与传统的selector有什么区别。
线程池用过么,将一下其各个参数的意义。
synchronized与ReentankLock的区别(ps:这道题面试官问我synchronized是可重入的么,
我说是,然后他说你确定,我就有点虚,事实上就是可重入锁,面试的时候还得自行)。
synchronized与ReentankLock的实现原理。
synchronized会产生死锁么,ReentankLock会产生死锁么,为什么。
线程间的各个状态之间怎么转换知道么,能画下状态图么。
手写一个生产者,消费者代码。
手写一个观察者模式的代码。
三面:
两个栈,一个栈里有无虚的数组,借助O(1)的空间将数组排好序。
树的层次遍历怎么做(宽度优先)。
爬虫知道么,如何爬一个网页(宽度优先,深度优先但深度优先效率差)。
怎么能不重复爬同一个网页(对爬过的网页存放在内存中)。
如果爬下来的url一台内存放不下怎么办,你怎么解决(首先肯定不能写磁盘,使用多台机器扩容使用hash定位url所在机器即可)。
知道拓扑排序么,拓扑排序,与图的深度优先,树的层次遍历有什么关联。
会c么,会编译原理么(楼主说不太会直接跳过了)。
git用过么,常用哪些命令。
以上是我大概记得的地方了,总而言之面试注重基础和数据结构,大多针对简历而问当然如果你有自己的技术
博客,里面的内容有货就是加分项
看完两位网友的分享,你掌握的如何了?可以留言告诉大家,一起成长!