美文网首页
月薪2万的程序员面试问什么?

月薪2万的程序员面试问什么?

作者: 码农那些事 | 来源:发表于2017-09-01 22:49 被阅读0次

    注:本文首发于今日头条“码农那些事”。

    作为一名合格的码农,不能一直沉浸在忙碌的工作中,除了不断提高自己的技术水平之外,也需要定期出去参加一些面试。既可以了解下自己的技术能力到底是个什么水平了,也能对当前市场的薪水价位做到心中有数。

    本人前段时间投了几家公司,其中包括唯品会,因为投的是Java开发,因此会有一些比较偏Java方面的问题。由于是社招岗位,价位一般就是看能力了,基本上只要能够通过本次面试,月薪2万是少不了的。本头条号会不定期分享程序员的面试经验,以及程序员需要掌握的技术干货,喜欢就关注我吧~

    面试总共半小时,但问了不少问题,记录如下。

    首先是自我介绍,然后面试官根据我简历中写的项目挑了一个让我大概说一下。关于项目这块,其实都是有套路的,你只需要准备好三个方面:项目背景是什么,其中的难点是什么,怎么解决这个难点的。

    然后就开始面各种技术问题。

    synchronize关键字的作用是什么?

    答:简单的说,作用是为了进行线程间的同步。每个用synchronized关键字声明的方法都是临界区。在Java中,同一个对象的临界区,在同一时间只允许一个线程访问。

    被synchronize修饰的哪些方法之间会被同步?

    答:同一个对象的非static的synchronized方法之间、static的synchronized方法之间会进行同步;

    同一个对象的static的synchronized方法和非static的synchronized方法之间是否会被同步,为什么?

    答:不会。因为它们获取的不是同一个监视器,一个是类的对象,一个是类.class。

    valotile关键字的作用是什么?什么情况下会使用这个关键字?

    答:简单的说,作用是保证变量的可见性。保证一个线程对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。在多线程环境下,为了确保不同线程之间对共享变量的可见性时使用。

    ArrayList是不是线程安全的?

    答:不是。

    那和它功能类似的线程安全版本是什么?它的实现原理是什么,为什么能做到线程安全?

    答:CopyOnWriteArrayList。

    ConcurrentHash在JDK 1.7和JDK 1.8中的实现有什么区别

    异步和回调的概念

    reactor和proactor模式的区别是什么?

    NIO2的底层实现,Channel的作用

    Thrift框架了解吗,说下RPC框架大概的实现原理

    dubbo了解吗,注册中心如何实现?

    工作中使用过哪些常用的开源类库

    由于投的是大数据相关的一个部门,因此也问了一些别的如:

    redis集群怎么做分片的

    一致性hash的原理,虚拟节点作用

    kafka了解吗

    hive执行流程

    hive优化相关

    总体来说,涉及的面还是很广泛的,难度不小。 如果你回答不了这些问题,也不要灰心,毕竟是月薪2万的岗位,不是那么容易就能成功的。

    本头条号会不定期分享程序员的面试经验,以及程序员需要掌握的技术干货,喜欢就关注我吧~

    完。

    相关文章

      网友评论

          本文标题:月薪2万的程序员面试问什么?

          本文链接:https://www.haomeiwen.com/subject/ykqljxtx.html