携程Java后台开发三面面经

作者: 6b440373157d | 来源:发表于2018-04-19 14:43 被阅读671次

    前言

    携程是我面试的第一个互联网公司,投递的岗位是后台开发实习生,总共面了三面,止步于人才库。中间兜兜转转,复杂的心理活动,不足与外人道也。唯有面试的技术部分与大家共享。

    宣讲会完了之后有个手写代码的笔试,大致内容:

    1已知有一颗二叉排序树,向树里面插入节点,如果该节点已存在(节点值相等),将节点中的count字段加一;如果不存在,将节点插入树中,并将节点的count值置为1。自行设计数据结构,插入算法并且分析算法的复杂度。

    题目比较简单,写完交卷。晚上一点左右接到一面面试通知.

    一面

    例行自我介绍、项目介绍。然后开始面试:

    项目是用http还是https访问的。答:https。

    http 1.0 和 http 2.0的区别?

    说下https 的请求过程。

    说说ssl四次握手的过程。

    在java 7 和 java 8中GC的区别。

    看你的项目上面有做大文件的分片上传,在上传的过程可以做其他的事情吗?是否可以后台运行?

    多个task是在一个进程中运行吗?

    数据库建索引有哪些考虑?

    之前保存文件分片序号的时候会出现脏读的情况,如何防止脏读?事务隔离是怎么做的?

    304状态码有什么含义?服务端是如何实现的?

    二面

    技术和算法问的比较少,全程都在谈人生理想和职业规划。

    算法

    1在一个给定数组中找到最大的两个数。

    为什么很多类要定义成抽象类?

    三面

    22号星期二,接到hr面试预约电话。24号下午视频面。面试官看起来斯斯文文的,亲和力也很好。自我介绍之后面试正式开始。

    java基础:

    ConcurrentHashMap 1.7和1.8的实现有什么不同。

    get() 和 size()是否要加锁?如何加锁?

    泛型在编译期和运行期的作用。

    线程池是如何创建的?需要几个参数?分别是什么含义?

    锁:

    乐观锁和悲观锁的区别。

    乐观锁和悲观锁的实现。(数据库、Java)

    CAS syncronized实现有什么区别。

    violate关键字。

    数据库:

    数据库索引结构。

    数据库对sql语句的解析过程。

    JVM

    JVM GC的优缺点。

    假设一个场景,要求 stop the world时间非常短,你会怎么设计垃圾回收机制?

    有没有用过JVM相关工具?

    算法

    海量数据top K算法,讲一下思路。

    设计模式

    策略模式和XX模式的区别。(这里因为没有看过其他设计模式,当时问这个题目的时候脑袋都是懵的。)

    一二面面的都还可以。第三面面的不是很好。吃完饭查了下状态直接进入人才库了。比较遗憾。

    作者:唐小败

    本文来源于牛客网

    ——————————

    牛客网(www.nowcoder.com)

    - 互联网名企笔试真题

    - 校招求职笔经&面经

    - 程序员求职实习信息

    - 程序员学习交流社区

    相关文章

      网友评论

        本文标题:携程Java后台开发三面面经

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