宜信技术研发中心实习生面经 首先需要说明的是面试方式是视频面试,博主人生当中第一次面试,还是视频面试,而且共享屏幕敲代码!!!真虚啊!!!

首先需要说明的是面试方式是视频面试,博主人生当中第一次面试,还是视频面试,而且共享屏幕敲代码!!!真虚啊!!!

宜信是什么? 
http://baike.baidu.com/link?url=9bgG1BISSpxTgi9ghQ-6Ci4lTF-6qVWlkU3mnijvd6tLBeImosB4e1cZcnhjPdQrDuUhCvt1usYZcMr4zWyhLq

宜信技术研发中心: 
http://crdc.creditease.cn/

一面

1.输入字符串”I am a student.”,则输出”student. a am I”。 
这道题一上来我就蒙了,本来就紧张,加上让我在线编程,我只能草草地把他转换成数组,然后转置,最后new一个StringBuffer拼接到一起,当时紧张地连for循环都没写,直接buffer.append()了七次,面试官说:“你不能写个for循环吗…” 
我无言以对。 
后来这题我在剑指offer上看到了…,才发现自己的算法功底太弱了!!!! 
链接是http://www.cnblogs.com/edisonchou/p/4823706.html


2. 好,别紧张,来你说说spring的AOP和IOC 
balabalabala….. 

3. 学过数据结构与算法吧? 
恩,学过

    10
    / \
    6 14
    / \ / \
    4 8 12 16
给我个二叉树,让我转换成双向链表
4=6=8=10=12=14=16。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我回答用二叉树的中序遍历可以做 
那你给我写一写二叉树中序遍历的递归和非递归算法。 
………….写啊…………. 

4. 说说单例设计模式和工厂模式的区别 
balabalabala…….

5.嗯,不错,说说JVM的垃圾回收机制。 
这个问题是Java开发实习生必考的问题,作为Java开发人员,必须得了解虚拟机的知识,即使你现在还没有做JVM实战和虚拟机调优。 
主要回答GC算法和两次标记过程,可达性分析算法,分代收集就可以了。

6.给你10T 64整数,存储方式是1T 一个文件, 80个文件,我想找他的中位数 
我回答了分块排序,外部排序,面试官不是很满意,问我可不可以用分布式同步处理,我说可以啊。 
这样效率提高好多,然后再加上分块排序,找中位数的话必须先确定每一块的范围,这是关键。 
我们可以先分别计算出每一块的范围,大致地估算出来。。。

7.你有什么要问我的吗? 
如果我有幸进入到下一轮面试,也是技术面试吗? 
是的,你的基础不错,进入二面不是问题,好好准备吧。

五天后二面:仍然是视频面试…… 

二面

  1. 给我写个求圆的面积的算法。
import java.util.Scanner;   
    public class Circle 
    {
    public static void main(String[] args) 
    {
            double r;
        System.out.print("输入圆的半径:");
        Scanner s=new Scanner(System.in);
        r=s.nextDouble();
        double S=Math.PI*r*r;
        System.out.print("面积为:"+S);
    }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
我说了高精度用BigDecimal。
  • 1
  • 2

2.学过数据结构与算法吧? 
·学过 
· 恩,你说说常用排序及时间复杂度? 
·我说了几个排序和时间复杂度? 
·恩,快速排序的时间复杂度为什么是Onlog(n)? 
· 我给他讲了一下快速排序的原理还有它像树形结构的分析。


3. 说说怎么操作数据库… 
我说了hibernate和jdbc原生态怎么操作… 

4. 说说spring怎么管理事务.. 
在配置文件中bean声明式管理…txmanager事务管理器等等… 

5. 给你个例子,来说说它有几个事务(a调用b方法) 
Service { 
a () { 
};

b (){ 
};


我回答了两个事务(可能有问题),面试官问怎么变成一个事务,我说spring中是动态切进去的,只需要把前缀名改成相同的就可以利用_*通配符来变成一个… 
我自己也不知道对不对….这道题很晕菜,以前没有遇到过,也没有想过。!!! 

6. 给我说说JVM的垃圾回收机制 
balabala… 

7. 给我说说JVM运行时内存区的分配 
balabalaba…… 
PS:只要是涉及到虚拟机的问题,去读周志明的《深入理解Java虚拟机》就没问题,这本书我只读了一遍,根本吃不透,起码得读五遍!!! 
## 
8. 说说String a = new String(“Hello xxxxx”)创建了几个对象,这是非常经典的面试题了啊,Java面试必备; 
如果字符串常量池中由hello *就一个,否则就俩,好好给他解释就行了。

9.给我说说你常用的Java API? 
·我回答了集合类的API,包括各种map,set,list。这个体系必须清楚啊!!! 
·给我说一下hashtable怎么实现的? 
·数组加链表实现的。 
·给我画出一下结构。 
【】 【】 【】 


10. 你会二叉树的遍历吧? 
会啊 
那你给我写个二叉树的S型遍历,我勒个擦,S型遍历,第一行从左到右,第二行从右到左,以此类推,当时我就有点蒙,后来捋顺一下思路,开始决定用队列写, 层序遍历那种,不行,后来想一想决定用栈写,写了15分钟,面试官也是很耐心,总算写出来了,给他讲了一遍。

 public void S_LEVEL(){  
        Stack<TreeNode> stack1 = new Stack<TreeNode>();  
        Stack<TreeNode> stack2 = new Stack<TreeNode>();  
        stack1.add(this); //根进入栈顶元素
        while(!stack1.isEmpty() || !stack2.isEmpty()){ 
            if(stack1.isEmpty()){  
                while(!stack2.isEmpty()){ 
                 TreeNode temp = stack2.pop();  
                    System.out.print(temp.value + " ");  
                    if(temp.left != null)  
                        stack1.push(temp.left);  
                    if(temp.right != null)  
                        stack1.push(temp.right);  
                }  
            }else{  
                while(!stack1.isEmpty()){  
                 TreeNode temp = stack1.pop();  
                    System.out.print(temp.value + " ");  
                    //利用栈的后进先出
                    if(temp.right != null)  
                        stack2.add(temp.right);  
                    if(temp.left != null) 
                        stack2.add(temp.left);  
                }  
            }  

        }  
    }  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

11.说说事务的四大特性 
ACID 
原子性 持久性 隔离性和一致性 
分别给他讲一讲就好啦 

12. 说说数据库的范式? 
啥,犯事?不好意思,还没学数据库。 

13. 说说操作系统的进程和线程 
不好意思,我们这学期才开操作系统,但是我自己了解了一些,然后我就说出来了…… 

14. 恩,你平时有什么其他爱好吗?看书什么的? 
我喜欢看CSDN的论坛还有ImportNew的公众号,我在那里学了…… 

15. 你有什么要问我的吗? 
我想知道假如我有幸进入公司,会是什么岗位? 
公司有独特的培训体系,业务也非常多,然后他给我讲了宜信的业务…说,还是从基础做起。 
·我想问一下,假如我有幸进入公司,我还需要掌握什么知识来快速的适应公司的岗位呢? 
·我建议你学好数据库和操作系统,这是非常重要的 
·会的,这学期开课,我会好好学的! 
·你的基础还不错,加油!!!你是大二的能实习多长时间? 
·三个月,我每天都可以去公司,全职实习。 
·行,那今天咱们先这样! 
·好的,再见!

自我感觉:感觉宜信对数据结构与算法特别的重视,无论去哪里面试,这都是十分重要的。宜信对JUC、项目、多线程并没有问到,在此谢谢孙浩渝学长的内推,万分感谢,让我逃离了东软的命运。二面很虚,问的东西太多了,但是大多数也都是答上了,也得到了HR姐姐通过的消息。


猜你喜欢

转载自blog.csdn.net/it_beecoder/article/details/80658530
今日推荐