zoukankan      html  css  js  c++  java
  • 摩根斯坦利面试

    第一轮

    电话面试,纽约面试官,涉及binary search, completable future, volatile等很多concurrency的问题。

    比如自己implement thread pool.最后题目是设计一个电梯的class

    第二轮

    onsite三小时。

    第一轮

    先是问了一些分布式client-broker-server系统可能出现的很多开发问题,例如load balancing, distributed cache, concurrency, disaster tolerance等等。然后除了两道算法题目,

    第一题

    class myIterator implements Iterator<T> {
     Iterator<T> delegate;
    
    hasNext() {
    
    }
    
    
    // next will remove elements from iterator
    next(){
    }
    
    
    //return the current top element without deleting it from Iterator
    peek() {
    
    }
    
    
    
    }

    解决方法是内部维持一个值currentValue, peek总会返回这个值,next会更新删除下一个值。注意next如果是null会抛出异常等corner case

    第二题

    给定一个二叉树,按层遍历这个树并返回List<List<Integer>> results, 每一level的所有值都在一个list里。

    第二轮

    Garbage Collection有那几种,怎么工作的。volatile关键字。什么是tail recursion, 什么是SOLID原则,什么是open-close, single-responsibily。equals and hashCode。

    然后是算法题目

    第一题,给定一个set, return all power set of it. (1,2,3)要返回(空集,(1), (2), (3), (1, 2), (1,3), (2,3), (1,2,3)要用divide and conquer的思想递归的解决问题。对于一个n elements set, 先得到n-1的set,然后每一个set都各多加入一次所有的单个element

    第二题,level by level遍历一个树

    第三题,如何用多线程处理List<String> 然后所有结果按顺序放在ArrayList里面。

    第三轮

    第一题,return一个String的所有palindrome形式。

    第二题,reverse linked list

    第三题,

    f(i) {
    //xxx
    if(i > 2) { f(i-1); } System.out.println(i); }

    1) f(6), 上面题目会打出什么

    2 3 4 5 6

    2) f(i-1)变成f(--i)会怎样

    2 2 3 4 5

    3) f(i-1) 变成f(i--)会怎样

    Throw StackOverFlowException

    4) System.out.print 放在xxx位置会打出什么

    6 5 4 3 2 1

  • 相关阅读:
    利用开源jPlayer播放.flv视频文件
    记录一次项目中使用memcatch添加端口以及自动运行
    学习制作菜单导航
    利用vs2013简单初探Python
    磨刀不误砍柴工,使用visual studio之前应该先了解这些...
    关于asp.net与jquery ajax 的一些补充
    Matlab转opencv遇到的坑
    WMS
    Javascript 学习笔记
    卷积神经网络学习笔记(CNN)
  • 原文地址:https://www.cnblogs.com/codingforum/p/7465049.html
Copyright © 2011-2022 走看看