第一轮

1. 笔试 30 mins

一共六道大题,前两题有4-5个小题。

第一道大题主要是考察Java Collections:

a. LinkedList和ArrayList的区别

b. Set和List的区别

c. equals方法和hashCode方法的区别与联系

d. LinkedList更适合implement Queue

等等

第二道大题主要是考察Java Concurrency:

a. Volatile关键字的作用

b. notify和notifyAll区别并举例适用情况

c. ReadWriteLock的性质

d. Implicit lock和explicit lock比较

等等

第三道大题

写一个method比较两个double值的大小,关键在于不能用 == 而是用equals

第四道大题

以下程序的输出是什么

public class Demo{
public static void main(String [] args) {
print(3.14);
} private static void print(Number n) {
System.out.print("Number: " + n);
} private static void print(Double n) {
System.out.print("Double: " + n);
} private static void print(Integer n) {
System.out.print("Integer: " + n);
} private static void print(Float n) {
System.out.print("Float: " + n);
}
}

答案是 Double: 3.14

主要考察java中3.14这种写法默认为double类型

第五道大题

给了一个程序让指出程序的缺点。程序是用hashmap实现的,可以put整数然后get最大值。缺点两个1.线程不安全 2.getMax()效率低,因为用Collections.sort来找出最大值,可以用PriorityQueue优化。

第六道大题

给了一部分程序,实现空白的部分。主要是考察对Obsever设计模式和多个listener添加删除时的线程安全问题。用ConcurrentHashMap实现。

2. 面试 30 mins

一个面试官问一些Java基本问题,abstract vs interface,工作中interface的适用场景等。

然后问了下金融软件的系统设计的问题,比如如果客户看到的股票价格会过一会儿才显示正确值,可能是什么原因等(High Throughput causing delays)。还有如何优化系统效率,如何在多线程情况下保证正确率,如何用map-reduce方法优化系统等等。

最后问了下对Java系统怎样做high volume测试,有一个问题我没有回答上来的是“相比其他语言,Java high volume testing的最大缺点是什么”,我答了内存限制、gc的缺点等但是面试官并不认同也没有告诉我正确答案。

第二轮

1. 技术面 40 mins

一个面试官拿着第一轮笔试的卷子前前后后问了很多延伸问题比如HashMap工作机制,daemon threads vs user threads,怎样stop一个线程,double类型为何不能用==比较,ConcurrentHashMap工作原理,ArrayList、LinkedList、HashSet工作原理,线程中如何处理异常等等很多问题。

2. CV面 25 mins

一个面试官拿着简历问各种问题。主要是看对自己做过项目的理解。

3. Manager面 25 mins

Team Lead也是招聘组的头头问一些非技术问题比如为何离开原公司,对系统的理解,对金融的理解等等

4. Manager面 25 mins

上一轮组长的boss,主要介绍一下部门情况和将来的工作状况。也问一下为啥离开原公司等

第三轮

1. HR面 25 mins

主要是问以下签证情况,薪资要求等然后介绍一下公司福利和待遇

2. Manager面 45 mins

主要是跟技术组合作的金融业务组的大boss来问问题,他对我简历上一些金融数据分析的经历很感兴趣,大部分时间都是问的这些项目经历。也问一些奇奇怪怪的问题比如我感觉国内大学和英国大学各自的优缺点等。

面试全都过了,口头Offer也拿到了,不过公司并不太想提供签证所以一直拖着不给书面Offer,所以对公司感官很不好,应该是不会去了。

野村证券伦敦分部面试 - Java岗位的更多相关文章

  1. 2014广州Java岗位面试汇总

    本文记录了最近一些朋友提供的面试经历,真实数据,仅供广州求职的朋友参考.为行文方便,一律用主语”我“进行.部分词语可能造成读者不良反应,敬请留意. 1  广州沣首信息科技有限公司 公司所在区域相对较偏 ...

  2. Java岗位面试题分享:jvm+分布式+消息队列+协议(已拿offer)

    个人近期面试情况 今年二月以来,我的面试除了一个用友的,基本其他都被毙了,可以说是非常残酷的.其中有很多自己觉得还面的不错的岗位,比如百度.跟谁学.好未来等公司.说实话,打击比较大. 情况基本上是从三 ...

  3. 分享系列--面试JAVA架构师--链家网

    本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了.因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间 ...

  4. 7年.NET面试Java的尴尬历程

    先简单介绍LZ 现如今的情况,LZ 1992年出生,2012年实习,大专学渣一枚,实习期直接被校企合作直招到公司做.NET开发,现如今在某三线城市做后端技术经理,7年开发经验(5年.Net,2年.NE ...

  5. 最近面试 Java 后端开发的感受!

    阅读本文大概需要 4.3 分钟. 首发:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实 ...

  6. 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备

    在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...

  7. 面试 Java 高级后端开发,要准备哪些知识点?

    其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的. 在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你做不到 ...

  8. 最近面试 Java 后端的感受!

    来源:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实不复杂: 第一能干活,第二Java ...

  9. 苏州市java岗位的薪资状况(1)

    8月份已经正式离职,这两个月主要在做新书校对工作.9月份陆续投了几份简历,参加了两次半面试,第一次是家做办公自动化的公司,开的薪水和招聘信息严重不符,感觉实在是在浪费时间,你说你给不了那么多为什还往上 ...

随机推荐

  1. 根据源码用HttpServletRequest获取MultipartFile的问题

    问题 由于某些原因,现在需要这样的一个文件上传接口,这个接口type(String)是必传参数,photoFile(MultipartFile)是非必传参数,即一般情况下需要接受两个参数,分别为pho ...

  2. spring annotation功能备注

      @Autowired @Autowired 注释可以在 setter 方法中被用于自动连接 bean.以type方式进行匹配. 一个构造函数 @Autowired 说明当创建 bean 时,即使在 ...

  3. web前端面试集锦(自己搜集的,如有错误请不吝赐教)

    css 1 浏览器兼容性 CSS hack(针对IE6-,IE7,IE8,IE9以及其他浏览器) ‘ * ’ : 所有的IE浏览器都能识别 说明:在标准模式中 “-″减号是IE6专有的hack “\9 ...

  4. Java中设计模式之工厂模式-4

    一.工厂模式由来 1)还没有工厂时代:假如还没有工业革命,如果一个客户要一款宝马车,一般的做法是客户去创建一款宝马车,然后拿来用. 2)简单工厂模式:后来出现工业革命.用户不用去创建宝马车.因为客户有 ...

  5. eclipse如何导入项目和文件

    在左侧创建项目区,右击鼠标-->选择Import-–>General-> Existing Projects into workPlace-->选择最下方Next-->点 ...

  6. c++ 库函数返回的字符串指针是否需要手动释放

    #include <stdio.h> char * tmpnam(char *s); tmpnam函数返回一个不与任何已存在文件同名的有效文件名,如果字符串s不为空,文件名也会写入它.对t ...

  7. SVN·最新使用教程总结

    SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...

  8. 安装Mysql5.7并修改初始密码

    Centos 安装MySQL可以参考之前写的一篇文章 Centos7.3 安装Mysql5.7并修改初始密码 windows安装mysql5.7有两种方式 1.下载.msi安装文件直接根据界面提示进行 ...

  9. JQuery源码阅读记录

    新建html文件,在浏览器中打开文件,在控制台输入consoole.log(window);新建html文件,引入JQuery后在浏览器中打开,在控制台同样输入consoole.log(window) ...

  10. Overfitting&Underfitting Problems

    这次根据结合Google的翻译果然速度快上许多,暂时休息,晚上在传一个exm2的随笔. 关于过度拟合下的问题 考虑从x∈R预测y的问题,下面的最左边的图显示了将\(y=\theta_0+\theta_ ...