2020年Java实习面试总结回顾:从面试连跪到收割offer(10家大厂面经)

落爺英雄遲暮 提交于 2021-02-20 01:15:27

江湖路漫漫其修远兮,希望你眼眸有星辰,心中有山海,从此以梦为马,不负韶华

阿里巴巴 春招实习 电话面试

阿里一面

今年3月份左右,因为有一个阿里梦,所以兴致勃勃地投了阿里的Java实习岗位,没有内推,走的是正式流程,结果面试却来的比想象中早一些。

当时今年年初发生的事情嘛,大家也都知道,所以是直接参加视频面试,第一次面阿里,当时还是挺紧张的。

一面面试官问的问题比想象中要简单,可能是看在我年龄不大的原因吧!

  1. 项目(作为刚毕业的我,这个是硬伤,没有好的项目可说)

  2. 项目中的问题(面试官显然对这些项目没啥兴趣,所以没问几个问题就跳过了)

  3. Java三大特性

  4. Jvm虚拟机 内存结构、算法、垃圾回收

  5. 集合类 链表和数组的区别 map和set的区别

  6. 二分查找代码

  7. mysql相关的问题

  8. spring

  9. 前后端数据交互

  10. 网络、操作系统

后面这些问题记不大清了,但是都问的比较基础,基本上就是刷过面经就能搞定的程度,当时对数据库的索引没有答好。

后续:

一面之后马上来了二面,二面面试官问了一个问题就让我等结果,并且告诉我他们的部门是阿里云。

本来我还以为这是过了的意思,后来一个HR问我一周内能不能到岗,我说大概要两周,结果。。。结果居然就没有下文了。(哭晕在厕所)

到现在我都不知道这个HR是不是因为时间问题而拒绝了我。于是我就这样第一次和阿里擦肩而过。

所以告诫大家,如果真的是很想去的公司,一定要做好随时打包上班的准备,不要重蹈我的覆辙。

腾讯 春招实习 电话面试

腾讯一面(挂)

很兴奋地参加了腾讯的春招实习生面试,当时对腾讯的后台开发岗位还没啥了解,事业群也没选。然后妥妥地一面挂了。

  1. http的数据包格式

  2. tcp包含ip么

  3. tcp的数据包格式(腾讯确实很喜欢考计算机网络,我当时对这块基本没准备,挂的很彻底。)

  4. mysql数据库连接池的驱动参数

  5. 数据库连接池如何防止失效

  6. 部署项目时tomcat 的参数(问的角度有点刁钻,当时没答上来,感觉有点劝退的意思。)

  7. 热加载的原理

  8. mybatis的#和$号区别

  9. java的jdk源码

  10. hashmap的iterator读取时是否会读到另一个线程put的数据

这个是不会的,迭代器在迭代时如果集合类插入新元素,modcount会变化,此时迭代器的迭代过程应该会失败退出。

  1. Linux的显示文件夹大小 ls -al

  2. Linux的查看端口状态 natstat加参数

  3. linux的查看进程的启动时间 linux ps

好吧,这就是腾讯第二喜欢的操作系统和Linux。

腾讯 秋招实习生 电话面试

腾讯一面(挂)

当时我已经去了网易游戏实习,某天在杭州逛该的时候,接到了腾讯的面试电话,于是我就在商场里完成了这次面试。当时是CDG部门面的我,尴尬的是当时我不知道这个事业群,导致我重复问了面试官好几遍才确认:好吧,我没听说这个事业群。

简单说一下面试题吧:

  1. 自我介绍

  2. 项目

  3. java的堆和栈

  4. 内存泄漏发生在哪

  5. 设计模式 工厂模式 单例模式 举例子

  6. mysql数据库 实现层级树形结构 引擎 索引 查询优化 多方面

这些面试题跟之前面试遇到的没有太大区别,但是答得并不是很好,因为我那时候对有些知识点的理解还是停留在表面,所以时间一长马上就忘了。这方面不知道各位有没有同感。

  1. 微信红包的设计 开发 注意 用户数据的统计 项目相关

不是很常见的面试问题,主要考察系统设计方面的知识,没答好。这道题网上也可以找到答案,一些常见的系统设计场景题例如:秒杀系统,直播系统,大家平时也可以稍微了解一下。

滴滴 日常实习生 电话面试

滴滴一面(挂)

  1. 项目ssm

  2. mybatis与hibernate比较

  3. 快排和冒泡

  4. hadoop redis

  5. Linux 显示文件属性 杀死进程 找出出现次数最多的ip linux指令(打扰了,对Linux命令极为不熟悉)

  6. sql中唯一索引的使用(索引字段若相同则更新,不同则插入。)

  7. hashmap的线程安全,性质

  8. 多线程的使用

  9. 同步解决线程安全但带来低效率问题。

  10. map reduce过程

  11. spring的几个特性

  12. aop事务的隔离级别和传播特性(默认隔离级别: ISOLATION_DEFAULT)

感觉答的还可以,但是没有回音,有点奇怪。

网易游戏(offer)电话面试

网易一面

  1. 项目内容

  2. 数据库设计

  3. 项目中并发使用,部署情况,测试情况

  4. 系统页面读取不一致,使用异常或者警告。

  5. 项目中的上传功能(面试官对项目考察的挺多,好在我事先准备的比较充分,基本都打了上来。)

  6. final finalize finally的用法和区别

  7. hashmap原理

  8. static作用域

  9. 大型系统的架构:高可用,高性能,伸缩性,扩展性。

  10. 算法 二维数组求最大图形面积

  11. SQL语句 查找

  12. spring的核心原理:ioc aop di

ioc:控制反转,松耦合,自动完成依赖注入。

注入方式:构造器,setter,接口。
实话说,当时对这块内容理解不深,主要靠刷面经来学习知识点

  1. hashmap线程安全 stringbuffer 和 stringbuilder.

网易二面

  1. 项目经验

  2. 简历内容确认

  3. 两个智力题

  4. 甲有一个王和另一张牌,乙有两张牌,问甲拥有两张王的概率和乙拥有两张王的概率

概率问题,不会做

  1. 一个圆桌,两人放棋子,谁没地方放旗子谁输,问有没有必胜办法。

先手放在圆桌中心则必胜

360 春招实习 电话面试

360一面

  1. volatile 原理 使用 指令重排 内存屏障 保证内存可见性

  2. 项目

  3. Java的特性 抽象类和接口区别

  4. aop切面的功能 和继承的关系

360二面

  1. Java的内存模型

  2. Java gc 算法 垃圾收集器 分代 分区 参数配置

Java程序运行时与内存模型的关系,堆中有实例,永久代保存类的信息,加载类后自动初始化静态内容,然后虚拟机栈进行操作,对象引用指向堆中的实例,实例需要调用对应方法。

  1. 左移有序数组的二分查找

  2. volatile的实现

  3. cas操作的实现

底层硬件支持,cas为一条机器码指令

  1. synchronize关键字的使用

  2. lock的原理和实现,lock和synchronized的区别

  3. 写一个电梯需要用到的类和方法

  4. Java9新特性

HR面(挂)

  1. 自我介绍

  2. 项目的背景

  3. 实习遇到的困难和感受

HR面试开始时还跑去接了个电话。

问了不到10分钟的问题,问题还都是围绕实习经历的。

实习经历问完了直接说今天面试就到这里了。

她回复是挂在第三面,理由是问题理解不够深入。当时我都傻了,第一次被HR挂。

京东 日常实习生

京东一面(挂)

  1. mysql行级锁表级锁,sql语句写select * 时如何加行级索

  2. 项目中的上传功能。

  3. sql优化方式

  4. xss攻击

  5. 线程安全的实现方式

面试官也挺奇葩,让我自己打电话找他面试,然后说话快得我听不清,问问题感觉也是比较随意,没下文了。

搜狐(offer) 日常实习生

搜狐一面

  1. hashmap

  2. 说一个集合类

  3. 说说java特性

  4. 说说js

  5. 说说jquery

  6. 项目

  7. sql

这个面试明显很水了,一个女面试官,面了十分钟就说通过了。

所以有时候不要觉得实习面试过了就很开心,也要根据面试难度来评估对方公司和部分做的事情是否对你有帮助,否则过去之后可能就是完全在打杂,得不偿失。

美团点评(offer) 秋招实习

美团一面

  1. Java ArrayList如何排序

  2. hashmap原理、冲突处理、优化

  3. mysql索引使用

  4. Java并发包的内容

  5. Java方法栈的作用

  6. 分布式、soa、锁

  7. 两个栈实现一个队列

  8. n个人中挑选m个人

  9. 平时看什么书

  10. spring的 ioc和aop

  11. Java8新特性

  12. 负载均衡方式

随机、轮询、加群轮询、一致性哈希

美团二面

  1. mysql引擎

  2. 项目难题

  3. jvm优化,博客内容

  4. 设计模式中的观察者模式,聚合和组合,组合和继承

  5. hashmap优化

  6. redis,分布式

答得不太好。不过当天发了offer,没有HR面

CVTE(offer)春招实习

CVTE 一面

  1. 数据库设计

  2. 冗余

  3. 范式

  4. 反范式(比较少见的问题,但是不难,范式用于减少数据冗余,反范式则可以避免多表连接。)

  5. 索引优缺点

  6. 索引实现

  7. mysql引擎行级锁表级锁

  8. 数组中找到第k大的数。

CVTE 二面

  1. 数据库设计

  2. 闲聊

CVYE hr面

面试官一对二面试,问了半个小时,听说挂人很多,不过最后我们两个一起面试的都通过了。

蘑菇街(offer)秋招实习

蘑菇街一面

  1. JAVA的jvm:内存模型、分代的介绍、每个代的操作,gc算法。

  2. 类加载器、双亲委派模型、双亲实现,反双亲设计,类隔离。

  3. hashmap实现、concurrenthashmap实现。

  4. volatile实现,锁分类介绍、AQS介绍、公平锁非公平锁介绍。

  5. 并发、并发中的threadlocal原理。

  6. tomcat介绍

  7. 三个任务,每个任务id都为long类型,如何用一个long来表示三个任务都已完成,要求不能用countdownlauch。

答案是:使用三个id相&,若为0则完成否则不完成。(位运算性质)

  1. NIO和BIO的区别

对NIO和BIO的底层原理不了解,只会回答很浅显的区别,实际上需要更加深入去分析,BIO的本质是基于阻塞IO的socket完成通信,而NIO是基于IO多路复用来实现的,在Linux上的底层实现就是epoll。

  1. Spring的AOP和IOC

  2. 使用一个数组实现map,可以用i存key,i+1存value。

  3. 使用一个数组实现一个链表,i存自己下标,i+1存下一个结点下标,i+2存值。面试官要求使用移位操作。没答上,转而提问了问题7.

蘑菇街二面

很水,问项目,问学习经验,问一些有的没的。

看什么书,学过哪些技术。

蘑菇街HR面:

已面完,问了半个小时问题,感觉还可以啦。

长路漫漫,其修远兮,现在也已经12月份了,实习的道路也到了尾声。以上就是我全部的实习面经了,不知道大家看的过不过瘾呢。

本文同步分享在 博客“月云银”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!