Java 实习应聘总结 & 面经分享,感谢牛客网

(请尽量在网页端阅读本贴,手机上排版会乱掉)

本人某五百本大学软件专业大三(认出我的同学私下联系我就好了,希望别直接指出来hhh),主 Java 后台。我的实习应聘从二月底开始,到现在已经基本进入尾声了。在这两个月里,有点过于焦虑地投了很多简历,参加了很多面试,也学习到了很多。特别是对互联网行业有了更深入的了解,这可能算是投了这么多公司的一个好处吧(笑)。

在这段时间里,我也和其他同学一样,每天刷着牛客网上的各种信息和分享。感谢牛客网提供了非常好的一个交流平台,下面分享一下我的各家面经,也算是对这个平台的回馈吧。

最后祝各位牛油都能拿到理想的 offer ~


实习应聘总结(排名可能分先后)

  • Microsoft:offer(STCA 苏州)
  • 阿里:offer(蚂蚁金服)
  • 腾讯:二面挂,Java 程序员被狂怼 C++ 和 Linux 底层
  • 网易互联网:offer(大数据产品开发)
  • 美团点评:offer(点餐事业部)
  • 今日头条:offer(广告变现业务)
  • 网易游戏:offer(运营平台开发)
  • 京东:让去上海面试,不报销路费,鸽了
  • 小米:笔试后杳无音讯
  • 爱奇艺:笔试后杳无音讯
  • 拼多多:笔试后杳无音讯
  • 携程:offer(面试就 10 分钟,水得不行)
  • 华为:性格测试挂🌚

部分面经分享

Microsoft

  • 一面:项目介绍,聊项目的具体内容;问 Java 的各种底层相关内容(内存管理,类型系统,GC,JIT,……)然后和 C++/C# 做了一些比较;手写一个算法题。
  • 二面:手写两个算法题;用英语介绍一个项目并回答相关的问题。
  • 三面:英语尬聊,职业规划之类的;给出一个需求,做分析和设计,并简单地写出部分代码实现。

阿里 一面

  • 去年实习经历
    • 异步调用的使用场景
    • 数据库设计
      • MySQL 索引结构
      • 主键和普通索引的区别
    • 服务化框架
      • 服务注册的原理
      • 负载均衡方案
    • 批量数据处理
      • 如何控制服务器并发量
  • 其他项目经历
  • 除了 Java 还在学习什么技术
  • 二分查找的实现
  • 数据库的 ACID
    • 如何理解隔离性,举例如果不隔离会产生什么问题
  • 编程:设计 parseInt(String)
    • 异常处理
    • int 的取值范围

阿里 二面

  • 再次确认是本科生,有没有读研计划
  • Java 集合框架
    • 举例常用数据结构
    • ArrayList/LinkedList 实现对比,使用场景
    • HashMap 实现
  • JVM 内存分区、堆的分代
  • JVM 垃圾回收算法
  • 去年实习经历,印象最深的 bug
  • Java 网络编程
    • 有没有用过网络通信框架(没有)
    • Java IO/NIO 区别
  • 多线程与并发
    • 乐观锁/悲观锁
    • volatile 关键字

阿里 三面

  • 算法:从大量 ID 中找出出现次数大于 3 次的所有 ID
    • ID 取值范围较小:Bitmap,每个取值用 2bit
    • ID 取值范围较大:Hash,取模,分片统计,合并
  • 项目经历,创业项目最后成功上线了吗
  • 对实习的期望、未来职业规划

阿里 HR

  • 学校、学历、读研吗
  • 职业发展规划
    • 具体的技术发展方向(Java)
    • 对什么样的业务感兴趣
  • 成绩、排名、相对于其他同学的优势
  • 介绍项目经历
  • 可实习时间,是否考虑转正

腾讯

  • (一面全程聊项目,在此略过)
  • 这几年的学习情况
  • C++
    • 什么是多态
    • 继承的实现原理
    • 多态的实现原理
  • 操作系统
    • 进程和线程的区别
    • 进程间通信的方式
    • 线程同步机制
    • 信号量的实现原理
  • Linux
    • Socket 编程相关的函数
    • I/O 多路复用机制
    • epoll 底层原理
  • 数据库
    • ACID 特性
    • 事务的隔离级别
    • 如何对某一行加锁 (?)

网易 一面

  • 项目介绍
  • 自己实现的 RPC 框架
    • 暴露服务的过程
    • Thrift 有了解吗,和 Dubbo 有什么区别
    • 如果重新设计 RPC 需要考虑什么
  • 为什么造了这么多轮子
  • 有做过性能监测和调优相关的工作吗
    • 如何压测一个服务
  • 微信朋友圈 Timeline 怎么实现
  • Redis 有用过吗
    • 分布式锁如何实现
    • 除了加锁还有什么方法解决资源竞争
  • Object 有哪些方法
    • 什么时候需要覆盖 equals() 和 hashCode()
  • 有 100GB<user_id, value>数据,统计出现次数前 100 的 value 及对应的 user_id
  • JVM 内存结构
    • 什么时候会发生栈溢出、堆溢出

网易 二面

  • 项目介绍
  • 自己造的框架
    • 画一个模块图
    • 介绍一下 Servlet 容器
    • RPC 用什么序列化方式
      • 了解其他的跨语言二进制序列化库吗
      • 描述一次 RPC 调用的流程
    • HTTP Server
      • 用什么管理 Socket 连接(NIO)
      • 有没有用第三方网络 I/O 库
      • NIO 相对于传统 IO 的优势
      • 如何解决粘包、半包问题(有限状态机)
        • HTTP 请求的格式
        • 如果自己设计一个协议,怎么解决
    • AOP 原理
      • JDK 自带的动态***有什么限制
      • CGLib 创建动态***的原理
        • final 类可以被***吗
    • Java 为什么可以实现 IoC
      • JVM 如何提供反射特性(Unsafe,动态字节码生成)
      • Class.forName 的运行过程
        • 类加载过程
        • 最顶层的 ClassLoader 叫什么
        • 能获得 Bootstrap ClassLoader 的引用吗
  • JDK 1.7 及以下版本,字节码存储在哪个区域
    • 1.8 永久代的改变
  • Java 8 新特性
    • Stream API
      • 大致运行原理
      • Stream 操作的类型
      • 调用一次 map/filter 后会发生什么
    • Lambda 表达式实现原理
      • LambdaMetaFactory
      • invokedynamic
  • 读研吗,大四有课吗

美团点评 一面

  • 去年实习经历,做了哪些业务
  • 自己造的框架
    • 为什么想要造框架,有哪些比 Spring 好用的地方
    • 画一下 IoC 容器的架构图
    • 自己有用这个框架吗,有别的同学用这个框架吗
  • 职业规划,最近在看什么书,在了解什么新技术
  • 有哪些专业课
  • 去年实习的收获,你认为在业务部门干能带来技术提升吗
  • MySQL
    • 索引的实现
    • 表的存储方式
  • HashMap 原理
  • Redis 用过吗
  • 手写代码:检验一串左右括号是否配对,若不配对则找出配对的最长子串

美团点评 二面

  • 去年实习经历
    • 做了什么项目
      • Web 层、服务层、数据层 分别是怎么做的
      • 缓存的使用位置,缓存过期时间的设置
    • 实习带来的收获
  • MySQL:对比下面两个查询消耗的时间(其中 age 带有索引)
    • SELECT * FROM xxx ORDER BY age LIMIT 0, 10
    • SELECT * FROM xxx ORDER BY age LIMIT 990, 10
  • Java 方面看过什么书
  • JVM 类加载机制
    • 有哪些 ClassLoader
    • 类加载过程,双亲委派模型
  • 自己造的框架
    • AOP 的实现原理
    • RPC 框架包含哪些组件
  • 如果来实习希望做什么

今日头条 一面

  • 去年实习经历,做了什么工作
  • HTTP 怎么实现上传图片
    • POST 和 PUT 有什么区别
    • multipart 怎么确定每个部分的长度
  • 自己造的框架
    • 能看 GitHub 吗
    • 包含哪些功能,和 Spring 有什么区别
    • HTTP 服务器的实现
      • 为什么小并发的性能超过了 Tomcat
    • RPC 的实现(Java 和 Go 程序员的撕逼大战)
      • 序列化方式,为什么不兼容 Thrift (?)
      • 直接序列化和使用 IDL 的区别
  • 操作系统
    • 内存管理(不了解)
    • 进程、线程、协程
      • 为什么需要协程
      • 协程的调度过程
      • Java NIO 里面用到了协程你知道吗 (?)
  • TCP 四次挥手
  • 可实习时间
  • 编程:给定一个数组,输出所有的递增子序列(搜索)

今日头条 二面

  • 介绍项目
  • wait(), notify(), notifyAll()
    • 正在 wait 的线程被唤醒后会发生什么
    • notifyAll 唤醒所有的等待线程后会发生什么
  • MVC 介绍一下
    • 写 Android 的时候会用 MVC 吗
    • MVC 和 MVP 对比
  • JVM 内存分区
    • 堆和栈的区别
    • 堆的垃圾回收
      • 新生代、老年代的区别
      • Minor GC、Full GC 的区别
  • 编程:LRU Cache(估计很多人都有遇到过,详情就不写了)
  • 除了 Java 还用过什么编程语言
  • MySQL
    • 索引的结构
    • 为什么 InnoDB 非主键索引存的是对应的主键

今日头条 三面

  • 一个先升后降的整数数组,找出最大的数
  • 一个无序整数数组A,元素可能有重复,给定任意一个数a,等概率返回其下标(这题没想出来,换了个题)
  • 给定整数a和一个k,去掉a中的k位,使得余下的数字最小

网易游戏 一面

  • 自己造的框架
    • 主要功能介绍
    • HTTP 服务器介绍
      • 介绍分层设计
      • 如何解析 HTTP 请求
      • TCP 底层的实现,如何处理 TCP 半包问题
      • 有没有了解过 HTTP 规范,有没有阅读过相关的 RFC
      • HTTP 的缓存方式
    • 如何对这个框架进行测试
    • RPC 框架介绍
      • 如何处理 Exception
      • 序列化方式

网易游戏 二面

  • 为什么除了 Java 还有做 PHP 和 Android
  • 自己造的框架
    • 造了多长时间
    • Servlet 容器
      • 支持哪个 Servlet 版本,什么特性没有支持
    • HTTP 服务器
      • 支持 http/2 吗(当然不)
      • http/2 的新特性
  • 平时玩游戏吗,吃过鸡吗

#春招##实习##面经#
全部评论
厉害大佬
点赞
送花
回复
分享
发布于 2018-04-29 12:17
真正的大佬!
点赞
送花
回复
分享
发布于 2018-04-29 12:21
秋招专场
校招火热招聘中
官网直投
如何才能像你这样优秀,厉害了!
点赞
送花
回复
分享
发布于 2018-04-29 15:46
大三都已经这种水平了..
点赞
送花
回复
分享
发布于 2018-04-29 22:39
大三就这么厉害了。。
点赞
送花
回复
分享
发布于 2018-04-30 00:35
我的妈呀,我该怎么学才能这么牛逼啊
点赞
送花
回复
分享
发布于 2018-04-30 12:51
膜拜,大佬
点赞
送花
回复
分享
发布于 2018-04-29 13:43
点赞
送花
回复
分享
发布于 2018-04-29 13:56
厉害大佬
点赞
送花
回复
分享
发布于 2018-04-29 14:11
膜大佬
点赞
送花
回复
分享
发布于 2018-04-29 16:08
点赞
送花
回复
分享
发布于 2018-04-29 17:03
太厉害了,微软的offer!膜拜!求推荐一些书籍【弱鸡表示大佬很多面试题都不会_(:з」∠)_】
点赞
送花
回复
分享
发布于 2018-04-29 20:27
吃过鸡吗?
点赞
送花
回复
分享
发布于 2018-04-29 20:41
div.0大佬!
点赞
送花
回复
分享
发布于 2018-05-03 18:08
大佬可以分享下你的github吗?膜拜下
点赞
送花
回复
分享
发布于 2018-05-04 16:10
同楼上,大佬可以分享下github吗
点赞
送花
回复
分享
发布于 2018-05-04 16:45
感觉在大学学的差距好大
点赞
送花
回复
分享
发布于 2018-05-16 22:19
膜!大写的服!
点赞
送花
回复
分享
发布于 2018-07-17 13:12
太强了啊,大写的服!(求求你们别学了,我跟不上啊TAT)
点赞
送花
回复
分享
发布于 2018-09-14 00:07
膜拜,求个微信
点赞
送花
回复
分享
发布于 2019-01-03 10:35

相关推荐

26 287 评论
分享
牛客网
牛客企业服务