您的位置:首页 > 职场人生

Morgan IT 笔试面试汇总

2016-04-16 01:59 295 查看


Morgan Stanley IT笔试题部分回忆版

笔试,Stanley

特点:

1. 题量大,43页的卷子,厚厚一摞,直接把我砸晕了。。

2. 全英文题目,全英文作答,监考人员强调,千万别写中文哦,改卷子的人看不懂滴~所以,学好英语很重要很重要,我后面答题的时候居然N多单词8会写… 

3. 题目很杂,什么都有,Java,C++,C#,数据库,操作系统,网络,还有包括SMTP,IMAP什么的都有.. 大杂烩,大拼盘,但仔细想想,其实还是和Morgan Stanley IT工作的内容应该是非常相关的吧,比如数据库,网络通信,邮件系统什么的,其实如果有心的话,早早做做准备,过笔试还是很有希望的,可是我啥都没准备,裸考的结果就是那句名言,茶几。。上面布满了杯具啊… 

4. 题型如下:

    第一部分选择题,36道,分值从1-4分不等,有单选也有多选。l

    第二部分综合题:l

    2.2.1 是简述题,必答,有几道我不记得了,考的主要是概念和数理逻辑,智力题之类的;ü

    2.2.2-2.2.5是编程题,分别是Java、C#、C++和Database相关的内容,其中选两个部分中就可以了,我选做的是C++部分和Database部分的。ü

【Java的题其实挺多的,选择题部分就有好多代码题,俺都不会.. 看到大段的Java代码我就晕啊,其实如果准备一下,看下Java的基本语法什么的应该会OK,但俺真是没准备。。】

5. 下面回忆一下题目吧,肯定不完整,我就选我还记得的题目写下吧、

选择题部分:

1. hash的时间复杂度?

2. 一个后缀表达式,2+59-/。。。之类的,计算结果。

3. 汉诺塔问题,如果有7个盘子,那么需要移动多少次?

4. IMAP的端口是多少?

5. HTTP 401应答是啥意思?

6. SMTP如何表示结束?

7. TCP三次握手过程描述的判断正确选择。

8. 传输层、网络层协议描述的判断正确选择。

9. 多进程和多线程的描述判断正确选择。

10. 数据库中范式相关的描述,选择正确的说法。

---还有很多看Java代码,选择输出结果的题,我直接跳过了,很吃亏。。C#部分我就连蒙带猜了---

2.2.1 简述题,【大多是数学题,智力题把感觉哈】

1. 现在时刻是下午3点,问从此刻开始,分针和时针啥时候才能再相遇呢?

2. 概率题,盒子里能够装5个球,一次拿出1个或者两个球然后再放回盒子中,问几次能够把盒子装满?

3. 概率题,抽屉里有8只红袜子,11只白袜子,在黑屋里拿袜子,一次要拿几只能够保证至少取得一双袜子呢?

----概率题都挺简单,关键用英文描述,我的反应就会慢一拍,而且本身数学就不好---

4. 快速排序算法描述,是否是稳定排序?

5. 二叉树给出前序遍历结果,中序遍历结果,要求根据这两个结果写出后序遍历结果。

6. 三个点A (x1, y1),B(x2, y2), C(x3, y3),计算三角形ABC的面积,求点A到边BC的距离。

7. Semaphore和Mutex的区别.. 

8. 描述Model-View-Control的原理。

2.2.4 C++部分

1. 【这是个很经典的题,貌似宝典上有,但俺还是8会。。杯具。。】就是编写一个程序,打印如下的矩阵(螺旋状):

1  2  3  4

12 13 14  5

11 16 15  6

10 9  8  7

2. 额。。这部分居然都没有印象了。。

2.2.5 Database部分

[总体来说不难,掌握好数据库的基本概念,会写简单的SQL语句就好]

1. 写简单的SQL语句在表中查询数据。

2. 描述一下数据库中Normalization和Denormalizatoin的解释和描述。(嘛东西啊,没看懂..)

3. 给了一段描述,说有Agency和Publisher两个类型的用户,都有Employee之间有1-N的关系,问如何为这三者建立数据模型,给出了三种 Data Model,让选择一个并说明原因。【主要考察数据库模型设计吧,关键字:Primary Key,Foreign Key】

4. 最后一题题目N长,没看完,貌似也是写SQL语句,从Student,Course,Classroom之类的等多张表中联合查询数据得到指定的结果。【不难,关键是我SQL语句忘光光了。。】

 



摩根士坦利(Morgan Stanley)应聘资料之morgan IT笔试题(2)

把自己印象比较深的题贴出来吧(怕过两天就忘光了),几个智力题答得都不好,其中3

,4两题连题意都没看懂,直接跳到后面了

1.Java中的字符串的属性

之前的帖子中已经有了

2.删除单链表中倒数N个节点

用两个指针,第一个指针先走N步,然后两个指针同样的速度往后走,当第一个指针到链

表结尾时,第二个指针就到了要找的位置

3. heap 和 stack的区别

4. finalization在Java或/C#中的作用,举例说明

不会C#, 在JAVA中,定义常量,定义某类不能被继承

5. 选择题第一题,常见的排序算法中哪些是stable的,所谓stable就是关键码相同的it

em在排序前后位置相对位置不变

考的时候选错了,考完查了一下,快速排序是不稳定的,冒泡排序是稳定的,shell排序

是不稳定的,归并排序是稳定的,插入排序是稳定的

对于给定的整数,求出删除该整数中的1个数字后得到的最小值

举例说,1214 ,得到的结果是114

这题是写代码实现的,复杂度为O(n)

 

2010 的笔试,没有去年的43页,也就21页,除去了不同语言(java、c/c++、C#)的题,真正要做的也就16页左右,时间是够的。

基本上当了炮灰,所以在这里列出来,和大家分享一下。其实有很多都不是很难得问题,但是多了起来就很难发挥好。

session 1(必做)

有点变态,因为无论你什么语言,都必须答——我常用java,很久没有其他的,都忘了那些语言的特性了。
<
4000
p align="left" style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;color:rgb(51,51,51);font-family:Arial;font-size:14px;line-height:26px;">
1 一只蜗牛,在一根10feet的杆上,每天向上3feet,晚上休息,下降1feet,问第几天什么时候到杆顶?(应该是考虑最后一天的情况)

2 考了java,对于类的staticsynchronized ,问:能不能编译通过,能不能锁住对象?

3 考了c#,问一下代码输出的是什么?主要有个printer2,搞了个new virtual在搞搞阵。

 1 IPrint{
 2   void print(); 
 3 } 
 4  
 5 class Printer1:IPrint {
 6    public void print(){ Console.WriteLine("Printer1.")} }
 7  
 8 class Printer2:Printer1
 9 {
10   public new virtual void print() { Console.WriteLine("Printer2.")} }
11 } 
12  
13  class Printer3:Printer2
14 {
15   public override void print() { Console.WriteLine("Printer3.")} }
16 } 
17  
18  class Printer4:Printer3
19 {
20   public override void print() { Console.WriteLine("Printer4.")} }
21 }  
22 
23 IPrinter ip = new Printer4();
24 ip.print(); 

 

4 考了java的一个分析wait/sleep/notifyAll的题目,问有无死锁。

5 考了一个C++版的继承与派生的问题

 1 class Base
 2 {
 3 int val;
 4 public Base():val(5);
 5 public virtual void print(){printf("%d",val);}
 6 }
 7 
 8 class Child
 9 {
10 int _j;
11 public Child():_j(8);
12 public void print(){printf("%d",_j);}
13 }
14 
15 

 

问以下情况什么时候会输出88888

代码



 Child[5] c;

 Base* p = (Base*)c;

  for(int i=0;i<5;++i)

 {

 p->print();

 ++p;

 }

 

B...

 

 C

 Base[5] c;

 Child* p = (Child*)c;

 for(int i=0;i<5;++i)

 {

 p->print();

 ++p;

 }

 

 D

 Base[5] c;

 Child* p = //用dynamicCast
 for(int i=0;i<5;++i)

 {

 p->print();

 ++p;

 }

 

6 考了C++一个编译的问题,问哪里有bug

代码

class A<T1,T2>

{

T1* t1;

T2* t2;

  public A():t1(new T1()),t2(new T2()){} //choice A

  public A(const A& a){  //choice B
    t1 = a.t1;

    t2 = a.t2;

  }

  operator =(const A& a) //choice C
  {

    t1 = a.t1;

    t2 = a.t2;

  }

  ~A() throw() //choice D
  {

    delete t1;

    delete t2;

  }

}

 

据说是C,因为有内存泄露。原来的指针指向的空间没有释放掉。

7 以下的java会怎么样?

代码

public class Foo {

    int value;

    public void Foo() {

        value = 100;

    }

    public Foo(int i) {

        value = i;

    }

    public void print() {

        System.out.println(value);

    }

    

    public static void main(String[] args)

    {

        Foo f1 = new Foo();

        Foo f2 = new Foo(200);

        f1.print();

        f2.print();

    }

}

 

a 输出100和200

b 编译不过,因为value没有初值

c 编译不过,因为没有默认构造函数(应该选这个,因为有个void Foo())

... 

 

section2(必做,只不过是大题,上面的是选择题)

1 问实现一个priority queue需要用多少个queue实现? (不知道说什么)

2 两个已排序的O(n)的序列A、B,求两个序列merge后的中位数?如果能在O(logn)内满分,在O(n)内有一些分。

3 有两个文件夹,里面有很多文件,写一个算法,找到在一个文件夹里而不在另一个文件夹中的文件。 

4 有一份文件,里面有2^32-1个数,取值范围是[0,2^32-1],系统内存只有几百k,请问如何找出[0,2^32-1]中不在文件中出现的数。

5 有一个密码锁,密码锁是转盘状,有40个数字(包括0)。按一次
1a688
密码需要顺时针,先转到0,转密码的第一个数字,转到0,转密码第二个数字,如此类推。密码长度是3位。问最坏情况下转了多少个数字包括0。(排列组合的题目,描述也不很清楚)

6 写一个“非递归”的算法,找出pattern在长串中出现的位置,如输入长串是abcbc而pattern是abc时,要输出(0,1,2)、(0,3,4)、(0,1,4)

session2.1

根据自己的编程语言答题,java题目如下:

1 改写main,使得不抛出运行时异常

 1 import java.lang.reflect.Constructor;
 2 
 3 public class ConTest {
 4 
 5     public ConTest(String... ops) {
 6         System.out.println("Success");
 7     }
 8 
 9     public static void main(String[] args) {
10         Class<?> clazz;
11         try {
12             clazz = Class.forName("ConTest");
13             Constructor m = clazz.getConstructors()[0];
14             String a = "";
15             m.newInstance(a);
16 
17         } catch (Exception e) {
18             // TODO Auto-generated catch block
19             e.printStackTrace();
20         }
21 
22     }
23 }
24 

 事后试出答案是m.newInstance(new Object[] {new String[] { a } });

因为ConTest(String.. ops)等同于ConTest(String[]ops)

而newInstance(Object..objs)等同于newInstanec(Object[] objs) 然后就不知道怎么回事了

考试没得查真恼火,看看javadoc一分钟就能解决。

 

2 写一个类,里面用“数组”实现List接口,List接口只要求实现三个函数。(这个比较简单,主要要注意add的时候,数组需要增长的情况)

1 public interface List
2 {
3 public boolean add(Object o);
4 public int indexOf(Object o); //给出了javadoc,如果不存在返回-1
5 public boolean remove(Object o); //如果不存在,不变,返回false
6 }

 

 

 

morgan IT笔试资料~~

   转自北大未名站,不知道为什么JAVA这么多。

智力题一大推,就不贴了!!  

1.class Test 



         static void print(Strings1,String s2) 

         { 

                 if(s1 == s2) 

                        System.out.println("Ooops~");

                 else 

                        System.out.println("Wows~");

                 if(s1.equals(s2))

                        System.out.println("Wows~");

                 else 

                        System.out.println("Ooops~");

         } 

         static publicvoid main(String args[]) 

         { 

                 String s1 = new String ("hello world"); 

                 String s2 = new String ("hello world"); 

                 print(s1,s2);//s1!= s2 指向不同的内存空间 

 

                 s1 = "helloworld"; 

                 s2 = "helloworld"; 

                 print(s1,s2);//s1== s2 指向同一个常量 

 

                 s1 = s1 +"!"; 

                 s2 = s2 +"!"; 

                 print(s1,s2);//s1!= s2 分别创建了新的内存空间来存放 + 操作的结果 

 

                 s1 ="hello" + "world"; 

                 s2 ="hello" + "world"; 

                 print(s1,s2);//s1== s2 常量的计算结果在编译的时候计算(?),指向同一个常量 

         } 

}

这是programming题中的一个,主要考察JAVA中的String类的理解 

当时答题的时候不是很确定,回来把代码写了下来 

当然了,上面的这四种情况都为s1.equals(s2) == true 

  

2.Java中的字符串的属性,之前的帖子中已经有了 

 

3.删除单链表中倒数N个节点 

用两个指针,第一个指针先走N步,然后两个指针同样的速度往后走,当第一个指针到链 

表结尾时,第二个指针就到了要找的位置 

 

4. heap 和 stack的区别 

 

5. finalization在Java或/C#中的作用,举例说明 

不会C#, 在JAVA中,定义常量,定义某类不能被继承 

 

6. 选择题第一题,常见的排序算法中哪些是stable的,所谓stable就是关键码相同的it 

em在排序前后位置相对位置不变 

考的时候选错了,考完查了一下,快速排序是不稳定的,冒泡排序是稳定的,shell排序 

是不稳定的,归并排序是稳定的,插入排序是稳定的 

 

7.智力题1 

对于给定的整数,求出删除该整数中的1个数字后得到的最小值 

举例说,1214 ,得到的结果是114 

 

这题是写代码实现的,复杂度为O(n)

10:01 | 写入日志 | 计算机与
Internet

 

Morgan Stanley摩根士丹利IT笔试试题
为是IT部门,所以基本上考的都是technology的,主要是各种编程语言,包括了JAVA,C/C++,C#, 还有几种我不知道的,所以已经忘了。哈哈~另外还考核了Networking, Operating System等,以及一些数理逻辑类题目。 

笔 试一共90分钟,要求用非铅笔答题(不过很奇怪的是,起初我收到的邮件上说,请自带文具,比如铅笔,橡皮等,但是后来因为改时间笔试后,再次收到HR的邮 件里的要求就说请带non-pencil。很神奇,还让我误以为题目改变了呢。哪不知原来两次考的都是一样的,题目没有变,可惜之前一批的没有人写笔经, 询问到的同学也不过草草描述了下有选择题,有大题,考编程语言,考到一题骰子的,考到题木板云云,总之就是让我拿到试卷后得知原来题目没有换以外,对我多 做对一题没有帮助。汗~~) 

 题目分为三个部分,全英文题目以及答题:

第一个部分是multiple choice,有14题,主要是考编程语言和纯计算机技术的,因为是编程除了C 语言知道点儿外,其他都不懂,所以几乎都用猜的,但从知道的网络技术和操作系统的题目难度来看,应该也没有太难吧,大概就是基础的题目。

记得有一题问进程和线程的差别,四个选项是问:计算机是可以同时运行多个进程每个进程只能同时运行一个线程,还是只能同时运行一个进程其中可以多个线程,或是一个进程里只能同时运行一个线程,又或者……如果没记错就是这样一道题。

另 外最后一题选择考的是网络技术的,大致问判断一个数据包是传递给这个网络还是附近的其他网络的东东是什么,选择的答案里有Router, APR, 其他的忘了~嘿嘿,考网络的话,还是很有把握的,这不就是路由器的工作职责吗~选择D选项,唯一会做的14题中的三题之一啊,连答案选项都记住了~ 呵呵~

还有一题是问的JAVA里的两个例外是什么?这题貌似还查过的,结果考到直愣愣地想不起来。晕死~ 

第二个部分是 General Questions,有4题,第一题考了个我不知道的东东,就是一个十分形如algothrusm的单词,完全不认识,不好意思,忘了趁机背下来好写笔经 造福大众积累RP了。不过懂计算机的人们肯定是知道这个东东的。这题考的大概是给了个要求还是什么的,让编段程序?头昏,反正空白过去了~

第二题是考概率论的题,说是面积为2*1的N多木板,比如如果遮住2*8的面积可以有多少种不同的方法?这个还是属于概率论里算比较简单的了,所以说,如果去笔试的同志们不要惧怕,因为连我这样的电脑编程白痴都还是有题可以做,你们高手就不用担心啦~白卷不会的~

然后第三题是考的一个边长为1的立方体的某个顶点到opposite point的最短距离是多少?觉得有点诡异?为什么会有这样的题目?还是我自以为太简单了其实有个大陷阱?看了半天还是看不出什么问题~不管了~就这么easy地作答吧。

第 四题考骰子,传说中的骰子,早知道问别人的时候细致地挖一下,就可以提前准备好省点时间啦(虽然说我30分钟就把能做的几乎都做完了,开始闲着挣扎着看那 些看不懂的了,省时间对我也没啥用来着)。题目说有1-12,共12个数字可以选择,请给出2个骰子,让第一个骰子赢第二个骰子的概率是2/3。仍然是考 概率论,呃~~算好,又可以做一题装装佯,不至于卷面太空。

觉得这些General Questions应该是考察你是否具备基本的数理知识,学过基本的概率论的同学应该都没问题,就算没学过,现场凑着试几个,找出规律,也是可以做的,想 我也是1年半前学的了,忘的都差不多了还是做了,而且的确就是很基础很基础的,所以不用担心。个人认为这一部分应该把自己思考的逻辑答清楚,让人看到你的 思维是比较清晰的,从而哪怕编程答得不好,也至少说明只要肯学,你是有潜力的,呵呵!~唯一可以讲讲的一部分,呃~

第三部分是 Programming Questions,这一部分我就彻底死掉了,蒙了三题,一题是连线题(唯一一题不写的),不知道讲什么,凭感觉连了一气,呵呵~另外两题大题靠着C语言 的基础编了些,完全不靠谱,也就是不想让卷子太空吓到监考官罢了,呵呵~无所谓挣扎,考前就知道自己没可能~这部分真的是看不懂,然后也就没太多印象了, 所以不能给广大真正要去摩根笔试IT的后续者们提供帮助了~汗颜~总的来说,是要求自己编写程序的大题。
 

 

摩根IT之痛--上

虽然参加最后的晚宴,但是还是没有拿到offer,面试到现在,终于尝到首败。痛苦,因为它的薪水实在太诱人,诱人到让我后悔为什么没有对它足够重视。写下这段经历,算是我的第一篇面经,也希望我能够不再后悔。

和很多公司一样,首先是电面,两个MM面试我,一个好像是印度人,口音不甚标准,而我一上来就是一句中式英文:Is the signal now good?说完差点没羞愧死,好在面试经验此时已经足够丰富,很快稳住阵脚。电面啥都问了,操作系统,数据结构,java,c++,设计模式,面向对象设 计,项目经历,个人规划,最搞笑的是数据库我连说两次不懂,那位疑似印度mm还是坚持不懈连问数道关于数据库的问题。

上上周五收到final interview+笔试通知,没有特别在意,也没有特别高兴,因为已经拿了不少offer,当时不觉得去morgan做个小IT会比我拿的这些 offer薪水高很多。最要紧的事,当时已经面完我最重视的Microsoft ATC,并且拿到一个Intern offer,感觉一下子从求职状态回到了常态,想写论文,却持续打游戏。。。但是冲着morgan的顶顶大名和号称上海唯一的超五星酒店四季酒店,还是决 定去面试。

上周二,犹犹豫豫中买了套suit,好在买了,因为第二天大家都把自己装在正装里。

周三,是morgan开始面试的第一天,后来听说北京上海都进行了两天半,每天64个人,打破早起记录,5:45就起来了...赶到四季酒店 时,时间刚刚好。好吧,又轮到我展现自己的时候了,我对自己说。我就是这样,不管之前多么的颓废,一到正式上场的时候,总是信心满满。可是马上开始的笔试还是做得不紧不慢,漫不经心,更不知道大题原来藏在最后,后来三道大题(两道编程)只有15分钟时间...更郁闷的是第一个还看错了题,第二题虽然会,但 写得太快,忘记分析算法复杂度,第三题更是没机会见面。中间休息的时候,特意叮嘱同来的包云程先看大题。

好在我这种不太在乎的态度也帮了我,笔试没有影响我的心情,第一面,两个面试官,大量的问题集中在我在香港的实习经历,原来他们就是来自香港的 摩根分部,自然对答如流,一道算法题,关于字符串里单词的逆转,老题了,不过要用两种方法,一种节省空间的,一种节省时间的,想了一下,搞定。软件重构的问题,问我怎么对软件重构,我说,改善设计,具体到操作上就是代码的合并,删除,重组,转移,比如从一个class转到另一个,从上层转到下层。经过仔细 review和redesigh之后,重新确定了类的协作和职责分配,需要重构。英语回答,很多词说不上,否则应该能答得更好。不过看得出,他们很满意。然后问我,除了编程,还喜欢什么,我说喜欢和客户打交道和设计软件的基本框架,曾经是一个项目的team
leader。他们说了一个case,说假设我设计了一个完美的架构,但是到还剩一个星期的时候(距离deadline)后来发现,时间不够用了,如果继续按照我设计的框架和编程原则走下去,肯定来不及,怎么办?我一开始坚持,架构不能破坏,宁可少实现一些功能,我们可以选择实现一些重要的功能,至于哪些 重要,可以和客户共同定义,然后我们应该和客户解释,说明这样做会使我们的软件更容易被扩展,本来还想说更多好处,可单词记不上来了:)。但他们也很坚持说,客户就是坚持要实现所有功能,我突然想到摩根宣讲会说,他们IT部有自己的一套软件过程(其实就是没有成熟的软件过程,我猜),而他们做的软件往往不会1.0,2.0不断开发下去,于是我就说,如果这样,我会暂时破坏这个结构,选取一些非常直接的方式来完成功能。于是他们又问,但这样会破坏代码的重用性,怎么办,kao,这不找喳吗,我只好摆出经典的天真的笑容,不过有两个面试官,所以只好先朝左边笑笑,再朝右边笑笑,好在他们意识到这个问题问得太...转而问,怎么和客户解释这个问题,我说干么和客户解释,客户根本不需要了解技术细节,我们应该对他们隐藏这些,他们只要知道功能有没有完成,怎么用就可以了。项目完成以后,咱自己家再慢慢重构呗。一个面试官还想问,说但是。。。好在另一个及时制止了他说
enough,总算知道折磨我够了,于是一面结束。

摩根IT-下

老有人说我更新慢,一个月才两三篇,所以我将这篇面经分成上下集,够厚道了,没有分成上中下。希望我的这篇面经能给后来的师弟们以帮助,也算是完成一个面经的承诺。

摩根的面试会将16个人分成四组,四个组同时笔试或者面试或者休息。8个面试官同时面试4个人,而当一个组在面试的时候,其他的组可能在笔试。 面完第一轮的时候,应该是轮到我们休息,所以当有人叫我出去的时候,我以为是他们搞错了,于是我说现在我应该是休息啊。但是那个叫我出去的人说,是的,但是我们想talk with you more。

原来还有两个面试官躲在大厅的角落里,似乎来头更大,胸前的牌子表明其中一个是ED,终于明白原来还有二面。一开始自我介绍,然后问了一个我三年前做的项目,问了一些项目的细节,叫我画出项目的框架图,汗,好在当时真的是自己熬了好多天设计了整个软件的框架,而这个项目也是我的第一个团队项目和唯一用Java做的项目,印象不是一般的深刻,战战兢兢中还是画出来了,并且自圆其说解释得比较清楚。因为解释到其中某处用了singleton模式,于 是马上被要求解释singleton模式和写出这个模式的代码,呵呵,就等着你问呢,之后又捡了三年前在intel的实习,问做了什么(可见把时间晚的经
历放在后面还是比较重要的),于是跟他们讲了我开发的为项目组服务的很多小工具,他们似乎挺感兴趣,不过可惜,因为很多专有词汇不会,这部分结结巴巴。之后就是一些soft questions了,why morgan?我说,在很多纯软件的大公司,我可能会在一个很大的项目组里,和全球的几千人一块做一个软件,可能是这个软件的第十代了,而我做的事情往往已经由软件架构师,技术leader或者其他人用标准的文档定义好了,给自己自我发挥,和一些创新的机会不是很多。而在morgan it不一样,我可以并需要和其他部门的人去交流,常常可以加入自己的想法,我喜欢这种感觉。(只所以这么说,一方面因为有时候真是有这样的感觉,另一方面
morgan的宣讲会虽然没有把工作细节说得很清楚,但是从中不难推断在morgan it的工作会是什么样子)果然,很对胃口,面试官忙说,确实是这样,在morgan it有大的项目,也有小的项目,你常常需要和别的部门的人讨论,也有许多机会去有一些自己的想法。又问了一个case,说你是一个team leader,你们组有一部分工作依赖于别的团队,而他们没有即时完成任务,影响到了你们组的进度,你会怎么办?棘手。。。我说,我会分析下我们team是不是没事情做了,如果很空,当然咱不会歇着看戏,会和他们一起把问题解决,如果咱还有其他事情,我们就会先做那些事情,变做边等。于是又追问,如果那个团队老是这样,一次又一次不完成任务,你会怎么办?更棘手...心中在想,难道这样的人不应该早就被开除了吗。好在没这样说,我反问到,是不是也有别人依赖我们的工作,且经常需要等我们?这在这个公司是不是一种普偏现象。他们说,是的,因为在morganit很多人手头上通常同时要做很多事情,等待是经常的事情。我说,既然这样,我们也会耐心的等待的,并且经常耐心地帮助别人一块解决问题的。于是又问,那你会告诉你的经理吗?太棘手了...打小报告?
不喜欢,不打。公司应该不喜欢坐视不理的人吧。激烈的思想斗争,最后说,我会和经理说一下,但不是说要complain or blame 某些人,而是希望找出问题出在哪里,使我们的制度有问题?过程有问题?希望能有一个解决方案。显然,这样的回答让人满意的,于是其中一个面试官开始从口袋里掏,我以为像IBM CRL一样掏出一张名片给我,然后直接口头offer,结果自做多情浪费表情,是一张Dinner券,还挺神秘,说要keep 不要告诉别人, 显然,这在中国的学生中不太可能,面试还没有结束,大家就都知道谁谁谁可以去dinner了,包云程在逻辑测试前冲我神秘地微笑,我就知道小样也拿到了dinner.呵呵。面试官送我去休息室的路上,问了一个问题,说工作找得怎么样了,我说拿了一些offer,他问我会怎么选。我说,看重
三点,做的事情,相处的人,发的薪水.这个却是我的真实想法,在这些有着丰富人生经验的人,如果你没有把握把堂皇的话说得很真诚,那就老实一点。他大笑...

逻辑测试没什么好说的,自我感觉做得还不错。晚上的dinner很是丰盛,但之前同来的一个mm说morgan薪水很高,我吐血,突然对这个面试重视起来,吃得很拘谨,什么大闸蟹,龙虾都不敢吃。剥壳的时候直接剥到对面ED的脸上就不那么妙了。

面试后,对morgan it的认识又加深,觉得这里面的工作自己很感兴趣,后又不断听到关于morgan it高薪的种种传闻,再加上开始搜索一些资料去了解morgan it,觉得去一个不以软件为主业的公司做it,虽然以前从未想过,但也不失为一个很好的职业开端。心中对这个潜在的offer愈发的看重,也愈发的后悔,因为知道自己技术笔试实在考得很烂,简直愧对‘考神’称号,不过,自我感觉面试还可以,又还抱着一线希望。不难想象发offer那晚我是多么的煎熬,最终 电话还是没有响起。最后的结果应该是综合笔试,面试,也许还有dinner综合给出的。

很多事情错过了才知道重要的,但是要是当初我知道了,虽然笔试肯定会有所准备,做得更加紧凑,但说不定面试就没这么轻松自如了,不管怎样,只能 说与morgan没有缘分!还有就是后悔那天晚上没有放开肚皮吃。最后祝福包云程,多年的老友,本科是同班,同样的公司实习,研究生还是同班,这次看来不能去同一家公司了,:) 希望他在morgan的职业发展顺利。

 

 

 


摩根士丹利MorganStanley IT面经

 

【前言】 

  第一次听说Morgan Stanley 还是因为高中时年级的第一名Z在清华毕业后去了这家公司的香港office。在这不得不说一下传奇人物Z,他是我们当时年级当之无愧的NO.1。直到现在 我仍然记得高一刚入学时的那次期中考试,我年级排135名,他是第一名,每门考试,除了语文是120多,其它几门都是140以上,就连地理,历史这种文科 也是。其实我小学时就认识他了,不过他不认识我。也难怪,他是出类拔萃的数学神童,而我只是小人物而已。当时周末上数学奥赛班,他是班上思维最敏捷,最聪明的小朋友,也是老师最得意的门生。每次老师提问,当大家还在苦思冥想时,只有Z高高地举起了他的小手,回答老师的问题。Z高一读完后,转学去了广州的华
师附中,那是广东最好的高中。据说他在华附也是一直NO.1,高中数学竞赛获奖直接保送清华数学系。大学四年在清华数学系也是NO.1的人物,大四毕业时 被录取公司有Morgan Stanley FID,Morgan Stanley IBD,Goldman Sachs, BCG,最后选择了Morgan Stanley Fixed Income Division (HongKong base)。 

  我一直很钦佩Z,听说他去了MorganStanley, 我就很好奇想了解一下这家公司。它竟然能吸引到Z,肯定很牛。后来知道它是美国三大投资银行之一,里面的人都是精英中的精英,它在经管专业的学生眼中就和Microsoft在我们CS学生中地位一样。

 

 

【笔试】 

  9月开始找工作后,看到它家IT部招聘的消息,冲着它的名气就去投投简历试试。从论坛下了它的大礼包,里面有它的介绍,还有IT部员工的一些感想。看完后,觉得IT部的要求还是很高的,要懂的技术好多,估计难度也很大。 

  10月中旬接到个北京Morgan的电话,通知我10月20号参加笔试。当时很意外,居然还有笔试的机会。因为之前看大礼包介绍时说,简历筛选的通过率就 很低,网投简历还要附上一封cover letter。我那时还不知道cover letter是啥,上网google才知道是求职信,下个模板,改一下,然后就投了。后来这个coverletter模板我还用在了其它好几家外企的网申中。从接到笔试通知起,我决定临时抱抱佛脚,好好复习一下基础知识,准备它家的笔试。我想银行IT部应该 会对数据库方面的要求比较高,而自己的数据库从学完后就还给老师了,基本上都忘光了。于是把王珊的那本数据库SQL语句部分好好看了一下,但是还是不熟,
最多只达到了看懂SQL语句的程度。笔试的人很少,武汉考场才28人,看来很多人都不知道有这个公司的招聘。笔试的题目范围很广,题量很大,都是计算机的 相关知识,少量智力题。比较郁闷的是,我的水平仅限于对C/C++编程,数据结构比较熟悉,而卷子还考了组成,软件工程,java,C#等方面的内容。整 张卷子就只考了一道数据库的题,解释一下什么是聚簇索引,刚看过数据库的书,但是还是想不起来,郁闷。还有题概率的老题,3个门中有1个门后有礼物的那 道。我想都没想就选不更改自己的选择,结果考完上网一查,才知道那题原来是要更改的,唉,自己还是太水了。不过有点幸运的是,它考了道组合数学的题目,而那道题目正好是上课时老师讲过的。我一看比较眼熟,回忆了一下居然记起了答案,so
lucky。笔试卷子明确提出不能使用STL和java内置的一些库,这对我这种C++菜鸟真是天大的好消息。因为我对STL库不熟悉,如果题目要求用 STL库函数写代码那我就缴械了。笔试考的编程题难度不大,但是要想出高效的好方法还是要动动脑子的。我想了一下,想不出高效的方法,就用笨方法把 code写出来了,先完成任务再说,时间有限,不容仔细推敲。

  考完后,问了下Morgan的工作人员,说2周内通过笔试的话就会有电话面试。

【电面】 

  考完笔试后,觉得自己考得比较烂,有不少题目都没做。但是还是很关心Morgn IT的招聘,于是经常逛论坛看看有没人接到电面。由于武汉考试的人很少,无论是白云黄鹤还是珞珈山水都很少有人讨论Morgan IT。于是我把注意力转到了水木社区和饮水思源,清华和上交参加笔试的人好多啊,经常有人在BBS讨论电面。于是这2个论坛成了我每天必逛的bbs。非常 感谢在这些论坛上贴自己电面面经的同学,给后人留下了宝贵的经验。看了一下电面面经后,发现电面问了比较多的C++问题,如virtual function, overload的实现,overload
和 override的区别等。 

  大概是11月5号左右,晚上7点多时突然接到个0019开头的奇怪号码。当时就纳闷,谁找我啊?接了电话说声"你好",对方来句英文"Is that Pang Ting?"。当时心里一惊,难道是Morgan的电面??果然对方说是Morgan日本公司的,想和我约个时间电面。哇,笔得这么烂居然还有电面的机 会,心里一阵狂喜。高兴归高兴,还是要calm down,和对方约好第二天晚上北京时间7点电面。挂了电话后,赶紧再上水木和饮水思源看看电面面经,把问到的问题整理一下,不懂的问题查懂。准备个英文自我介绍,把暑假实习时涉及到的英文关键词搜一下,反正就是把自己能准备的都准备好。本来还想把项目经验也写份英文介绍的,后来一想,这个照着纸念感觉效
果还是太生硬了,还是顺其自然,看自己临场发挥吧,事先就只演练一下用英文介绍项目经验。 

  在准备电面的过程中,由于很久没说英语了,自己骑车去食堂吃饭的路上都不自觉地在练口语,搞得旁边的人都觉得我很怪异,用异样的眼光看着我,汗。自从读研后,英语基本上是荒废了,都是在吃老本。研究生英语免试,口语是N久都没说过了,听力更是大大退步,最多也就只是看看英文的paper而已,和自己考 T,G时的英语巅峰期差很远了。但是没办法,要电面了,只好硬着头皮上啊。 

  第二天晚上7点5分,电话响起。还是昨晚的那个日本人,简单的问候后,马上进入正题。期间还发生了段小插曲,他看到我的资料,我填的是从Morgan日本 的网页上得知这个招聘信息的,然后问我是不是这样?我马上打住,说可能我填错了。估计如果我说是的话,他可能就用日语来问我了。先来一段自我介绍,照着准备好的材料念,easy。然后对方让我介绍一下自己做得最满意的一个项目,也是预料之中,balabala一通。说的时候都没怎么考虑语法问题,反正应该 是把核心思想介绍清楚了吧,对方听后说我的这个项目sounds interesting。心里暗暗高兴,接下来他问我熟悉的编程语言是什么。我就说,读研基本上是用C在linux下编程,对C++也比较熟悉。然后他就问我C++的问题,什么是多态,重载的实现原理,堆和栈的区别,new和delete有什么用等等。一大堆C++问题,答得还行。但是问到引用和指针的区别时就卡住了,我还真不清楚引用和指针具体有哪些不同,他还问我什么情况下只能用指针,不能用引用。当时心跳得很快,又不方便敲键盘google,于是把自己记得的一些区别说了下。他不是很满意,给我提示了一下,我在他的提示下回答了new的返回值只能赋给指针,不能赋给引用。从他的回应中我估计应该答对了其中一个方面。下一个问题是问我什么是smart
pointer?我从来没听说过这个东东,于是只好说"Sorry,I don't know."然后他又问我如果不及时delete掉new出来的变量,会有什么后果?我就说会造成内存泄漏,new的变量越来越多,不delete的话, 堆的可用空间就会越来越少,就有可能造成new失败。他接着又问,有什么办法可以保证自动,及时delete掉new出来的变量。说起来也巧,我正好之前 看过面试宝典中关于垃圾回收机制的原理。虽然我不知道具体如何实现的,但是宝典中用几个形象生动的比喻来说明实现的方法。于是,我就把宝典的几个比喻用英文说了一下,对方表示很高兴。呵呵,我就更高兴啦,直接就问他"你说的是垃圾回收机制吗?"。他说是的,问我知道哪些语言提供这个机制吗?我就说Java
和C#,java我知道是有垃圾回收的,C#是猜的。看来他还挺满意我的答案。接着又问我,说你最近关心哪些方面的新技术?你所掌握的C和C++都是很老 的编程语言了。我一听,爆汗,没想到还会问这种问题。幸好之前查过web2.0方面的知识,于是和他说我了解web2.0方面的知识,大概说了一下。最后,他问我干嘛选择Morgan IT。我就说,我喜欢技术,喜欢搞研发。对于编程我有一种偏执,每当我编的程序能够按照自己预想的方式正常运行时,就会特别高兴,特有成就感。就算没有正常运行,经过自己的调试后能把程序顺利run起来也同样感到很高兴。MorganIT要开发的是金融交易系统,对于程序的健壮性,高效性要求很高,不能有bug,否则会对公司的业务造成巨大的影响。我觉得这对我是一个极大的挑战,所以我选择Morgan
IT。说完,他说"Great!" 听到他说这句,我也满心欢喜,得到了面官的认可,面试就成功了一半了。最后他说下周会有进一步的通知。我问那是不是指我已经通过了这轮电面?他马上意识到自己说得有歧义,更正说无论是否通过,都会有通知的。他还表扬我的English pretty good。汗啊,就我那蹩脚的口语还pretty good??估计是他之前面的同学口语太挫了,所以觉得我的还过得去。

电面完后,看了下通话时间,居然聊了52分钟。看别人的面经,都是30,40分钟,聊这么长时间,应该通过的希望还是挺大的,自己wish自己一把。

 

【终面】 

  电面完几天后,收到终面邀请邮件。外企的终面通常称为Assessment Center,简称AC。Morgan IT今年的AC在北京和上海2个地方举行。2个地方合起来一共有250多人,我居然被安排在AC的第一天去北京面。第一天,估计是去当炮灰了。打电话联系 Morgan的人,他们帮我订好往返的机票。Morgan负责外地学生的往返机票和一晚的酒店住宿,还有在市内打taxi的费用。好有米的公司啊,狂赞。 

 我被安排在11月19号早上参加AC,18号下午5点多的飞机从武汉飞北京。去到机场时,飞机延误,延迟半个多小时才能起飞。在机场没事做,拿出数据结构书把查找那章好好看看,因为发现自己对查找的内容不是很熟。与其把宝押在不可预知的内容上,不如把自己擅长的数据结构方面的内容再温习一下。抵 达首都国际机场后,一下飞机,好冷啊,冷得我直哆嗦。出了机场,打taxi去预先订好的酒店。司机居然说不认识路,只能载我到我面试的那个中国大饭店。我 想,那就去中国大饭店吧,反正Morgan的人说面试的地点距离住宿地点步行也就10分钟,就当提前熟悉环境了。 

  问了下路,终于找到住宿的酒店了。安顿好一切,洗个澡,熨一下面试的战衣,然后又把数据结构拿出来看看。临睡前看看电视,居然在播京华烟云,我很喜欢看的连续剧。一看就看到12点40了,不行不行,再看下去明天面试就挂掉了。第二天7点准时靠生物钟起床,手机的闹钟都还没响。然后LP打来电话叫我起床,呵 呵,我已经起床了。洗漱完毕,就下去吃早饭了。初冬的北京清晨好冷啊,寒风凛冽。很快走到面试的中国大饭店,去到面试的那个会议厅。已经有不少应聘者在等待了。登记完了之后,看了下schedule, 一共有5轮,2轮技术面,1轮personal
fit,1轮shl笔试,最后是group discussion。看来这是体力和脑力的大挑战,5.5个小时的终面即将开始了。 

  第一个回合是技术面试,面官是位美国的白人。他自我介绍说在美国NewYork office工作的,今年调到香港office工作。然后就是我的自我介绍,项目介绍,都是常规面试流程了。接着就是C++问题了,又问到smart pointer 和auto pointer。幸好我在电面后把这个问题仔细研究了一下,总算回答出来了。后面的问题都是些C++的基础问题了,什么virtual destructor,多态啊,重载啊,this指针啊。经过多次的笔试面试,这方面的问题已经难不倒我了。不过他问了个const 成员函数的重载的问题,我答错了。最后还问了道很简单的算法题,问如何在一串字符串中找出出现次数大于2的字符。比较easy,立马给出个不错的answer,面官也很满意。第一个回合就这样over了。 

  第二个回合是personal fit,面官是个华人MM。MM自我介绍说是在美国长大的,现在在香港IT部工作。哦,我还以为是hr来当这轮的面官呢,原来也是IT部的工程师。这一回 合也是先自我介绍,项目经验。然后就问了些hr面的问题,如你做过的最重要的决定是什么?你做过的最大的决定是什么?前一个问题我说是本科毕业时选择在国内读研究生,而没有选择直接工作和出国读研。然后把自己当时考虑的原因说了一下。后一个问题我说是选择加入Morgan IT。把Z的传奇故事,由Z知道MorganStanley,再到电面时说的为什么想加入Morgan
IT的原因都说了。面官问我Z的名字,我告诉她,可惜她说不认识Z,估计是部门不同吧。然后面官看到我简历写了个实习经历,问我实习主要干了什么,学到什么。我就说完成了实习项目的策划报告,在监控室完成日常监控任务。她说,那你实习没有涉及到任何的coding?我说是的,但是通过完成实习项目的策划报告,我们几个实习生一起分析问题,提出问题的解决方案,对自己分析问题,解决问题的能力和团队合作精神都大有提高。面官露出了一丝微笑,第二个回合也 over了。 

  第三个回合是shl笔试。这个shl是专门针对IT部的应聘者的。题目就是有些输入字符串,经过一些符号的变换后得到输出字符串,现在知道输入和输出了, 先要推出每个符号代表的变换,然后再由题目给出的一些特定输入,写出它们的输出结果。这部分我做得很糟糕,35分钟40题,结果我才做了30题,估计正确的只有28题左右。其它同学都完成了36题以上,这种推理题,一般能做出来基本就是对的。看来这个回合要远远落后其它应聘者了。 

  第四个回合又是技术面试,是个华人面官。也是自我介绍,项目经验介绍开始。然后C++问题,还有什么是hash和hash table,linux方面问题。问了个linux命令LDD,不懂。最后我问了下MorganIT对平台和语言有没有特殊要求?我说我对java了解很少,平时基本是在linux下用C编程。他说没有什么特殊要求,公司有服务器是运行在linux 下的,各种人才公司都需要。入职时还有技术培训,现在不懂也不要紧,我们更看重应聘者的潜力。 

  最后一个回合是群面。当天上午面试的16个人分成3组,完成一个任务。任务上有个关键单词storefront,我们都不懂它的确切含义。大家猜了一下, 估计是用像积木那样的玩具堆出一个雪糕仓库,然后仓库有和顾客的接口,让顾客可以方便地吃到雪糕。我们那组要完成仓库主体建设。老实说,我在群面表现很差,贡献很少。仅有的贡献就是,提出了仓库和顾客接口的大体框架,然后在玩具积木中找到合适的建造零件。最后每个小组派人陈述自己的作品时,我在旁边没有 发言。面官问谁觉得自己在这个过程中起到leader作用时,我更加没有发言权,自己的贡献少啊,哪还敢说是leader,就当个普通member吧,起
码不是害群之马。 

  群面结束后,HR说下周出录用通知。然后就回酒店收拾行李,去机场等飞机了。

【等待】 

  AC回到武汉后就是漫长的等待。每天看水木和饮水思源,看看大家有没收到offer的。出offer的那周,从周一一直等到周四。都记不清每天刷多少次 foxmail,差不多1个小时就刷一次,每天看论坛3,4次。等啊等,祈祷上天不要让我尝受终面被刷的感觉。说起来,我还真没试过终面被刷,要不就是一开始就被BS,要不就是被录用。百度招聘时,认识的几个同学去到终面被刷了,我知道他们心里一定很难受。我可不想尝受这种滋味。 

11月29号 晚上7点多,在饮水思源看到上交有人收到Morgan IT offer了,看自己邮箱没有邮件,电话也没响过。心里顿时凉了半截,问了下隔壁班去AC的几个同学,他们也没收到,难道全军覆没?上交说发了50多个 offer,250多人终面才招50多,唉,估计是当分母了。清华那边下午5点多就有人收到offer了。 结果没想到,8点40多手机响起,021的号码,难道难道~~~~一接通,居然就是Morgan的hr,通知我被录用了。顿时兴奋得跳起来,赶紧给家里和 lp报喜,心里难以平静。当晚失眠了,很奇怪,考上研,拿到百度offer都没失眠,拿到Morgan
IT的offer居然失眠了。脑子里浮现的都是接到Morgan录用电话的情景和接到百度收回offer的电话时的情景,久久不能入睡。早上很早就醒了,精神居然还很好。 

  在据掉浙大网新恒天和中国雅虎的offer时,心里想着后面还有EMC,Cisco,Autodesk,爱立信,Oracle和Morgan IT,机会还很多。结果除了拿到Morgan IT offer外,其它几个公司都是在笔试后即被bs。幸好Morgan录用了我,不然真不知道怎么办,只能签广东移动了。在等待Morgan IToffer的日子里,很苦闷,找LP聊天,聊点有趣的事,很感谢LP在身边一直陪伴和支持我。也感谢上天,最后还是没有让我尝受终面失败的感觉,呵呵 

感 觉自己在最后的AC中,表现一般,技术面和personalfit表现还不错,但是SHL和群面表现就很糟糕了。看来Morgan是综合考虑一个应聘者的能力,而不是仅靠某一方面的表现就否定一个应聘者。很幸运能拿到Morgan IT的offer,以后真要好好练练英语的听说读写了,不然去到公司真不知道怎么办才好。

摩根面试题目

PS:早就说了,偶技术不行,大家不信,这个聊上技术了,我就死了吧~~看看我是怎么

死的吧~~

我没有笔试,竟也有电面通知,已然神奇~~约好今天下午4点15,30分钟,足见今天一天

都是折磨~~

正式的准备时间从今早开始,自我介绍,项目介绍,why morgan stanley,career

plan,写好这些英文部分,就剩技术了~~

技术嘛,我只要不是死的太难看,我就心满意足了~~于是乎小准备一下,回顾了系统分

析设计和UML(因为写成自己的strong area,而且还有IBM认证在,必须要复习一下),

然后就回顾了Java课件,看了网上的java面试宝典~~

于是乎,早早的开着写好的自我介绍word、java面试宝典网页,关掉所有其他的东东,

关掉电脑声音,等待着,煎熬啊~~

居然4点手机响,吓死了,原来博朗软件确认是否接受offer~~挂上电话,继续煎熬~~

4点15分,电话准时打来了,可是听不大清楚啊,男的就e**,没听清,女的叫Ada,倒是

听清了,先是一个brief introduction,没说时间限制,我搬出来的内容没说完,被打

断了,然后电话就掉线了~~泪~~

然后,对方马上又打回来了,接着问~~

(1)是否做了毕业设计

做了,就说从公司实习项目抽取的,这个还好了,然后简单介绍了这个项目

然后,又被追问了一下,继续介绍~~

(2)什么语言编写的,熟悉什么语言?(完,这么快就要往语言上转,怎么不多说点项

目)

Java Java

又说有没有C++经验?

答 只在课程设计中有

(3)override和overload区别

好在java面试宝典开着,直接blabla

然后他还引导,这个挺好的,再问我返回值可不可以不一样?答可以

有返回值的无参方法可不可以被overload? 答 不知道(看,网上说了要实在)

(4)interface可不可以static,为什么

答 只知道no,不知道why

(5)用没用过inner class?有什么benifit?

答 只用过一次,;拼命想,想不起来,还是胡诌,说是我只要在那一个类里用一次而已

~~

(6)用没用过多线程?进程和线程有啥区别?

这让我回想起了当年的孙大灯泡的OS试卷~~

(7)文档、代码管理,用什么IDE,在我的那个project中

Eclipse,控制版本用Subversion

(8)你有IBM证书,(哈哈,来了~~)说说OO,有啥好处?

汗,以为会问有啥UML图之类的,没想到这个问题,胡诌好了~~

(9)你还有什么问题要问我们么(汗,怎么这么快,才15min么?估计悲剧了,正在回

想中,忘了要问对方问题)

马上说,我在网上看到IT部门有3个division,我们会被如何分配?

然后gg就blabla~~啦,我就魂飞九霄了,他咋这么快就结束了呢???

汗,还有问题么,没有了~~就over了~~

看下手机,这次是17min,算上掉线前,明显不到20min~~

狂汗~~~~~~~~

大摩IT电面

两个面试官,半个小时,全英文。

首先自我介绍

接下来技术面试,是否了解linux,linux command说一些

描述一下c和cpp区别

new和malloc区别

cpp虚函数,纯虚函数区别,用法

java接口和继承

描述一下select

问了下多线程,同步和异步(题目没听清,直接说I don't know了...)

最具挑战的项目

最后是例行问他们问题

唉,问题都很简单,就是英语太烂,用英语描述不清楚...杯具啊~~~

不多不少刚好半个小时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: