携程一面

首先是一段自我介绍

提问阶段

  1. 了解HashMap吗?说一下对它的理解。(常见八股)

    Java集合—HashMap为什么2倍扩容

    hashmap扩容机制

    hashmap面试

    温文艾尔博客-HashMap夺命14问,你能坚持到第几问?

    1.1补充问题: 为什么要在数组长度大于64之后,链表才会进化为红黑树

    在数组比较小时如果出现红黑树结构,反而会降低效率,而红黑树需要进行左旋右旋,变色,这些操作来保持平衡,同时数组长度小于64时,搜索时间相对要快些,总之是为了加快搜索速度,提高性能

    JDK1.8以前HashMap的实现是数组+链表,即使哈希函数取得再好,也很难达到元素百分百均匀分布。当HashMap中有大量的元素都存放在同一个桶中时,这个桶下有一条长长的链表,此时HashMap就相当于单链表,假如单链表有n个元素,遍历的时间复杂度就从O(1)退化成O(n),完全失去了它的优势,为了解决此种情况,JDK1.8中引入了红黑树(查找的时间复杂度为O(logn))来优化这种问题

  2. 数组去重有几种方法

    Java数组去重的多种方法

  3. 了解过BitMap吗

    Bitmap简介

  4. 如何线程池的优势,结合jvm聊一下

    java 线程池 优点_Java多线程系列

    结合jvm聊一下这个点没有理解,问了一下面试官,面试官本意是让我聊一下NIO.

    Java NIO浅析 - 美团技术团队 (meituan.com)

  5. 对排序算法了解吗,让我写一个排序(写了快排)

    面试官好像对归并很热衷,主动问了我归并,我说了一下思路

  6. 10亿个随机数,如何排序

    聊了一下思路,先保存拆分成小文件,分别排序,然后合并文件。面试官说思路是对的。

    10亿个数字,内存限制100M,进行排序

  7. 对栈和队列了解吗?

    回答的时候结合了一下自己的博客在Java中应该什么来实现栈?Deque or Stack? – Ray的小破站 (raygetoffer.xyz)

    栈与队列(Stack and Queue))

  8. static double的使用在多线程中应该如何考虑

    我答的时候从线程安全性的角度(悲观锁 synchronized、Reentranlock,乐观锁 cas),以及jmm可见性(volatile)的角度答的

    Java多线程中static变量的使用

  9. Redis和MySQL如何保证数据一致性

    如何保证mysql和redis数据一致性

  10. 如何提高数据库的查询效率?

    如何提高数据库的查询效率

  11. 对MySQL的事务了解多少。(常见八股)

    ACID,并且答了一下ACID在MySQL是如何实现的。

    MySQL——事务(Transaction)详解

  12. 对分布式了解吗?

    实话实说,没有做过分布式的项目,了解一些皮毛,然后把自己了解的说了一下,这个是之后要补齐的短板。

    什么是分布式系统,如何学习分布式系统

  13. 做了这些项目,项目中遇到最大的困难是啥。

    考察对项目的了解程度。介绍了一下自己的项目,然后巴拉巴拉,面试之前要熟悉一下自己的项目。

反问阶段

  1. 您平时在公司的业务是什么?

    "我们做的火车票订购的业务"。

  2. 您期望实习生在实习中能扮演一个什么的角色,能完成什么样的工作,并且具备什么样的技能?

    "我面过的大部分实习生在学校中学习的都是基础知识,实际业务能力也是有限的,业务能力的培养还是需要结合工作场景。我更看重实习生的业务成长性,希望带出来的实习生在实习结束能够独立完成需求。我们部门是面向业务需求的,对底层源码可能没有了解的那么深入,虽然理解源码对个人成长很重要,但是我们更希望是能够利用好各自工具完成好需求,当然有的部门是深耕底层架构,他们就更看重底层源码,当然这个也要看不同的部门。"

#携程暑期实习##面经##携程#
全部评论
感动了啊,楼主问题下面还附链接,祝早日offer
1 回复 分享
发布于 2022-04-06 15:36
请问什么时候投递的呀
点赞 回复 分享
发布于 2022-03-19 00:08
请问通知二面了吗
点赞 回复 分享
发布于 2022-03-22 19:12

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
14
104
分享
牛客网
牛客企业服务