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

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

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

本人前段时间投了几家公司,其中包括唯品会,因为投的是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万的岗位,不是那么容易就能成功的。

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

完。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,370评论 11 349
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,142评论 0 62
  • 五一三天假期的两天用来游玩位于河北省秦皇岛市的翡翠岛。整个的心情可谓是跌宕起伏,大起大落。从最开始的大巴车晕车,大...
    智Lin阅读 213评论 0 1
  • 本地localhost访问: 本地WWW文件下可能存放多个项目.直接localhost到WWW目录.再访问某个项目...
    欢迎惠顾阅读 552评论 0 0