zoukankan      html  css  js  c++  java
  • 从面试连跪到收割offer,回顾我的春招面试历程(研发岗位)

    微信公众号【程序员江湖】

    作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验、求职心得和成长感悟,以及作为程序员的思考和见解。(关注公众号后回复”资料“即可领取 3T 免费技术学习资源)

    前几天我发了一篇文章从零基础到拿到网易Java实习offer,我做对了哪些事,这篇文章介绍了我准备2017年春招实习的历程。但是呢,里面没有很详细的面筋,很多读者觉得不过瘾,于是笔者从尘封多年的帖子中找到了我当年记录的面经,在这里分享给各位看官哈。

    此生与你,江湖相逢

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

    一面

    那一年春天,大概是3月份左右,兴致勃勃地投了阿里的Java实习岗位,没有内推,走的是正式流程,结果面试却来的比想象中早一些。

    当时是在阿里招聘官网上直接参加视频面试,第一次面阿里,当时还是挺紧张的。

    一面面试官问的问题比想象中要简单,一起来看看都有什么题目吧。

    1 项目

    当时我没有什么拿得出的项目,一个是学校的实训项目,一个简单的Java Web应用。另一个则是我在大四暑假水来的实习项目。总体来说没啥亮点。

    2 项目中的问题

    面试官显然对这些项目没啥兴趣,所以没问几个问题就跳过了。

    3 Java三大特性

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

    当时已经看过了《深入理解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会变化,此时迭代器的迭代过程应该会失败退出。

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

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

    13 linux的查看进程的启动时间 linux ps

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

    腾讯 日常实习生 电话面试

    一面挂

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

    简单说一下面试题吧:

    1 自我介绍

    2 项目

    3 java的堆和栈

    4 内存泄漏发生在哪

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

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

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

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

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

    滴滴  日常实习生 电话面试

    一面挂

    1项目ssm

    2mybatis与hibernate比较

    3快排和冒泡

    4hadoop 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,接口。

    实话说,当时对这块内容理解不深,主要靠刷面经来学习知识点

    13 hashmap线程安全 stringbuffer 和 stringbuilder.

    二面:

    1 项目经验

    2 简历内容确认

    3 两个智力题

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

    概率问题,不会做

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

    先手放在圆桌中心则必胜

    如果你是Java方向的同学,那么我打算向你安利我的另一个微信公众号【Java技术江湖】这是一位阿里Java工程师的技术小站,致力于分享Java后端技术文章,以及这几年学习Java的心得体会,偶尔也记录在阿里成长的点滴,和大家一起在Java学习道路上成长。

    360 春招实习 电话面试

    一面

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

    2 项目

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

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

    二面:

    1 Java的内存模型

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

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

    4 左移有序数组的二分查找

    5 volatile的实现

    6 cas操作的实现

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

    7 synchronize关键字的使用

    8 lock的原理和实现,lock和synchronized的区别

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

    一道面向对象设计问题,常见的题目我还见过“写一个地铁需要用到的类”、“写一个饭店要用到的类”

    10 Java8新特性

    明年你们可能要掌握Java9的新特性了吧

    HR面挂:

    1、自我介绍

    2、项目的背景

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

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

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

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

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

    所以就算是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)春招实习

    一面

    1 数据库设计

    2 冗余

    3 范式

    4 反范式

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

    5 索引优缺点

    6 索引实现

    7 mysql引擎行级锁表级锁

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

    剑指offer原题,不过我当时只想到了先快排再找第k大的数。实际上在快排过程中就可以找到第k大的数了。

    二面

    1 数据库设计

    2 闲聊

    hr面

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

    菇街(offer)春招实习 

    一面

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

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

    这部分问的很深了,特别是最后两个问题,把我问懵了。当时面的应该是基础架构部门,所以做的技术偏底层,问题都比较有深度。

    3 hashmap实现、concurrenthashmap实现。

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

    当时压根不懂AQS,对于锁的几种类型也不够熟悉(互斥锁,轻量级锁,偏向锁)。这部分内容强烈建议看《Java并发编程艺术》以及《深入理解JVM虚拟机进行学习》

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

    6 tomcat介绍

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

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

    8 NIO和BIO的区别

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

    9 Spring的AOP和IOC

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

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

    二面

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

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

    HR面:

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

    现在回想起来,当时蘑菇街和美团的offer也是不错的,不过因为笔者一对网易游戏有情怀,最后还是选择了它。

    至此,我们找实习之旅也到了尾声。以上就是我全部的实习面经了,不知道大家看的过不过瘾呢。

    如果你也有面经想要和大家分享,那不妨来找作者投稿吧。每一段找实习或者找工作的经历都是各不相同的,相信你的那一段经历也值得收藏。

  • 相关阅读:
    寒假学习(九)
    寒假学习(八)利用Sqoop导出Hive分析数据到MySQL库
    寒假学习(七)热词统计
    寒假学习(六)统计学生成绩
    寒假学习(五)模拟图形绘制
    寒假学习(四)编写MapReduce程序清洗信件内容数据
    寒假学习(三)北京市政百姓信件分析
    实现地图输出的相关知识
    使用Node.js+Socket.IO搭建WebSocket实时应用
    centos6 安装python3.5后pip无法使用的处理
  • 原文地址:https://www.cnblogs.com/xll1025/p/10523553.html
Copyright © 2011-2022 走看看