• 摩根斯坦利面试


    第一轮

    电话面试,纽约面试官,涉及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

  • 相关阅读:
    笔记类软件的选择——有道云笔记与OneNote
    蓝屏的解决办法
    imshow()不显示灰度图像
    对待电子产品出问题的态度
    文献的管理、阅读及笔记
    电脑安全设置
    搜索引擎的选择与在chrome上的设置
    用Quartz处理定时执行的任务
    bootstrap datetimepick 时分秒选择,坑我15个小时,整理记录
    bootstrap可编辑下拉框jquery.editable-select
  • 原文地址:https://www.cnblogs.com/codingforum/p/7465049.html
Copyright © 2020-2023  润新知