暑期实习面经汇总 ✿cメ*˶ˆ ᴗ ˆ˵リ
我是在2月中旬的时候得知互联网公司的暑期实习已经开了,给我吓了一大跳,连忙花了一个星期跟着网上做了一个个人博客,因为是速成的所以只有简单的crud。2.28开始投出简历,并同时狠狠的复习八股文相关的知识,事实证明这波操作又错又对。第一场面试是3.12,最后一场是4.22,花了很长时间本来已经放弃了,结果5.7沉寂了40天的拼多多突然给了一个offer,我超,我何德何能拿这个offer。整个找实习的流程心态波动是比较大的,开始幻想面试一个接一个,大厂拿到手软,然后几场面试下来心态全崩,重整旗鼓后被疯狂养鱼,最终放弃幻想接受现实主动准备秋招,结果放弃之后却收到了意外的惊喜,打一巴掌给颗糖是吧。下面是我面的八家公司的面经,有到hr面的,有一面挂的,有主动放弃的,有被迫放弃的,有被刷kpi的...
字节
字节是我有八股文的面试的第一场,经此一战,我整个人都麻了,怀疑我前面真的有认真学习过吗?果不其然两天之后受到了感谢信,还顺带挂了我的另一个意向,至今未被捞过,很难想象面评有多糟糕,劝大家先用中小厂练手,别学我一上来就学飞。
一面 3.14
硬件知识 + 计组(字节你太baby了,这一堆问题好悬没给我整崩溃了)
- 集成电路是吧?聊一下你们专业学的课程
- 偏硬件是吧?cpu多级缓存,为什么设计成多级缓存?
- 快是吧?那你倒是说为什么设置成多级缓存啊?
- 不知道是吧?每一级缓存怎么实现的有了解吗?
- 寄存器是吧?哪一级缓存会用到寄存器?
- 又不知道是吧?寄存器的劣势是什么?
- 那你觉得用寄存器来实现的缓存,一般会缓存什么东西?
- 缓存就这是吧?cpu执行cpu指令,那么cpu指令由哪几部分组成呢?(我不到啊)
- 又不知道是吧?你有了解过电脑的每一级缓存大概有多大吗?(我不到啊)
- 还不知道是吧?你觉得一般的内存是用什么去实现的?(我不到啊)
操作系统
- 你觉得操作系统的主要的职责是什么?
- 操作系统管理的资源具体有哪些分类呢?(面试官:你不要去硬背,你面前不就是一台电脑吗,看着说就好了)
- 并发与并行你是怎么理解的?
- cpu的流水线执行指的是什么?
- 进程和线程的区别是什么
- 进程间通信的方式有哪些?
- 进程通信一般可以分为控制信号通信和数据通信,那控制信号通信一般有哪些?
- 进程死锁的条件是什么?
- 那我应该怎么避免死锁呢?
- 产生了死锁应该怎么办?(主动放弃占用的资源)
- 如何才能主动放弃?
计网
- TCP/IP的网络分层模型
- 加入比喻成生活场景,你怎么去比喻这个分层模型呢?(基础不牢一个字都没说出来,面试官像是学校老师一样从应用层到物理层全给我讲了一遍,一边讲一边提问。。。这里花了可能十分钟,直接给我听麻了)
- 访问一个网站,从输入到返回发生了什么?
- http协议数据的结构是什么呢?
MySQL(用索引狠狠的拷打我)
- innodb主键索引和非主键索引有什么区别?
- 聚簇索引的特点是什么?
- 索引会发生失效的根本原因什么?
- 假如一个select语句条件使用了not in,会走索引吗?用in呢?或者说用in一定会走索引吗?(本来就不太熟悉,这下直接给我整懵逼了)
- 会走索引的根本原因是什么?(我不到啊)
- 建索引的目的什么?
- 建索引的额外成本是什么?
- sql执行计划用到了哪个关键字?(问到这里已经麻木了,直接没反应过来说不知道)
- 事务的特性
- 事务的隔离级别是怎么实现的?
算法
很快写了出来,面试官问:你是不是做过原题?我:确实。面试官:。。(我™***,我该说这是我的豆腐脑现场想出来的)
- 力扣 39.组合总和
拼多多
拼多多据说是按照批次发放offer的,我是第一批次的,在4.25第一批发了一波我没有,当时都死心了已经开始准备秋招了,过了半个月突然offer,感谢前面放弃offer的兄弟。
一面 3.12
项目
项目和八股文的结合了属于是
介绍一下你的项目
如何实现用户查看已经点赞的文章 (新建一张中间表)
怎么保证多个插入操作能够同时生效呢 ?(事务)
为什么使用mybatis? (简化开发)
评论具有回复功能吗?数据库表怎么实现的?(parentId)
评论数量很多怎么办?(一级评论分页,二级评论展开+分页)
当数据量过大的时候,mysql顶得住压力吗 ?(需要主从复制,需要分表,但是具体怎么操作我不到啊)
spring中比较熟悉的地方 (没有熟悉的地方)
给一个小白介绍一下springboot ?(说了一些特点,面试官:这就没了?我:确实。)
项目中用到了maven,说一下maven是怎么实现依赖管理的
算法题:
- 经典题,滑动窗口最大值
二面 3.19
Java基础
hash碰撞
- rehash如果还发生了碰撞应该怎么办?
- 换了hash算法之后,我应该如何查询这个值(没有get到面试官的问题所以答了hashmap的get流程,给人家整无语了)
hashmap底层扩容的过程(答到了jdk1.7头插法的具体过程,jdk1.8没看)
MySQL
联合索引(a, b)查找条件先b后a,会不会走索引
- 怎么样去安排a和b的相对位置
使用b+树的原因(范围查找和效率问题,没有答完整,最好应该和二叉搜索树,hash索引等进行比较会好一点)
Redis
- redis的基本数据结构
- 大KV情况,可以直接删除吗(我不到啊)
- redis线程模型
- 为什么使用单线程
JVM
- CMS和G1(不知道忘了)
- 内存比较大,cms和g1哪一个垃圾回收算***更好一些
- 高版本class文件是否能够在低版本运行
- 在哪一步失败(类加载的过程)
项目
MyBatis解决了一个什么样的问题(回答了简化开发,没答到解决sql注入问题)
一个程序访问数据库都有什么阶段
权限怎么控制的
登录信息为什么不放在Cookie(回答谁都能拿到,但是并不是。。可能主要想考查c和s的优缺点吧)
评论和点赞是怎么实现的
文章的内容是怎么处理,放在哪里的?(建议搞一个文件服务器)
- 数据库的字段是什么类型
- text类型能保存多大的数据(回答1G给面试官笑麻了)
算法
- 两个升序数组合并成一个降序数组
技术主管面 3.22
个人问题
- 考研吗
- 为什么来南大(说了个寂寞)
- 未来规划,工作城市和工作内容
- 996你怎么看的(只要你给w,那我的评价就是不如007,纯纯的福报)
- 来实习发现其他实习生学的比你快,你跟不上这时候你该怎么办?
项目
- 做过一个比较完整的项目吗
- 介绍一下
- 留言功能怎么保证是安全的(考察sql注入问题)
hr面 3.30
忘了设置手机通话录音,尽量回忆下
- 自我介绍 + 项目介绍
- 女朋友有吗
- 我们的工作制度了解吗
- 能实习多久
- 了解一些家庭情况,比如家住哪儿,父母什么工作之类的
- 职业规划
美团
美团面试体验还是不错的,但是二面完泡池子到今天,要挂就挂我呗,前面还让我期待了好久,沙皮趣泥🐎の⑧
一面 3.23
一面是很平常的八股文问题,好好准备了的话,问题不大
操作系统
线程和进程之间的区别
内核态和用户态的区别
Java可以读取本地文件,是通过什么来实现的(回答借助os帮忙)
- 面试官:我可以理解为java将这次请求委托给了os,然后和内核态的某一个线程进行了绑定是吗
- 我:是的(面试官沉默。。。)
CPU的三级缓存为什么会有存在的必要性(回答了局部性原理蒙混过关)
计算机死锁的概念(八股文,狠狠的背)
悲观锁和乐观锁区分
- CAS中比较难解决的问题(ABA问题)
- 怎么解决ABA问题呢(面试官给了提示,加一个属性)
计网
TCP/IP五层模型
- 你认为为什么要分层
- 你在你的项目中是怎么分层的,每一层职责是什么
一次完整的http请求的过程
http长连接
http报文结构(详细结构压根没记过,就回答了大致的)
Java基础
- java中的锁的实现都有哪些
- ReentrantLock的实现
- java的集合体系,简单说一下不用太详细(把Queue说漏了)
- hash碰撞了怎么解决
JVM
- 双亲委派模型
- 可以破坏这个模型吗,哪些框架或者中间件造成了破坏
- tomcat破坏了吗(面试官答案送到了嘴边,结果答错了。。。)
- just-in-time compiler了解吗?(我不到啊)
MySQL
- InnoDB存储引擎中索引怎么实现的
- 为什么不使用二叉搜索树或者红黑树
- 聚簇索引和非聚簇索引
Redis
- 为什么快?(我:因为在内存中。面试官:没了?不说说它是由什么数据结构来保证的?)
- 常见的数据结构
- 持久化方式
- 讲一下AOF
项目
- 如何防止用户重复注册?(注册之前先在数据库之前查一遍)
- 如果不想要在数据库中执行查找操作应该怎么做(面试官提示使用唯一索引)
- 想要做一个排行榜用redis中哪一个数据结构
其他
- rpc了解吗(我不到啊)
算法
- 反转链表
- 排序数组去重(原地算法)
二面 3.24
美团二面能够看到一面面评,所以问的内容和一面差距非常大,同时也是最遗憾的一场面试,因为算法题忘了最优解没写出来
Java基础
hashmap里面用到了红黑树,这是为了解决什么样的问题?
- 你谈到红黑树是局部平衡的,那他是怎么做到局部平衡的呢?这样做牺牲了什么,又带来了什么?
Java中的线程池是怎么是怎么实现的?有几个参数?(看到参数直接狠狠的背,结果忘了回答线程池怎么实现的了。。。)
- 你认为线程池的参数应该怎么设计?(语塞)
- 你举一个具体的场景,来说明参数的设置吧?(惭愧,平时根本用不到线程池,更别说场景了)
计网
- 输入网址到加载页面的整个过程
框架
介绍下Spring和SpringBoot之间的区别
- 引入IoC容器是解决了什么样的问题?带来的好处是什么?
MyBatis中的#和$之间的区别?(全程不着调,面试官想要的是我回答sql预编译相关问题,我答偏了。。)
- 讲一下sql注入问题,mybatis中是怎么解决这个问题的?
- sql预编译是怎么做的?如果没有mybatis,那么怎么来做到sql预编译?
- 刚刚提到的#和$,他们传入的内容会做预编译吗?
项目
- 项目是你的大作业还是你写的Demo?(还用问吗,肯定是一眼demo。。。)
- 为什么采用这样的技术选型?
- 你用到了关键字查询和标签搜索,谈一下具体的实现方案?(就用一个select语句,没有高级方案。。。)
- 如果你是一个更加智能的网站,想要能够通过博客内容自动生成对应的标签,而不是用户手动添加,这应该怎么做呢?(胡言乱语说了一通,面试官直接无语)
- 你知道类似于今日头条这样的资讯类应用,他是怎么实现这种功能吗?(见识太短浅了,根本不知道。。。)
- 权限模块(管理员登录)是怎么实现的?
- 登陆的时候对密码进行了加密,用的什么加密算法?(md5)
- 简单介绍一下md5算法?(我只会调api罢了)
- md5算法存在什么风险?
场景设计
基本就是我提出解决方案,他提出存在的问题,我继续提出方案解决,他继续提出问题知识面涉及到网址重定向、mysql、并发控制、字符串哈希、python爬虫,聊了很长时间,体验非常不错!!
- 很多平台其实会搞一些限时优惠优惠、促销打折之类的活动,以美团为例,现在美团搞了一个活动,想要把活动的链接以短信方式发送给用户,这时的问题是活动的链接很长,直接发送给用户会造成不好的体验,你能不能想一个办法,使得用户收到的链接是短链接,但是当用户点击短链接的时候会自动跳转到长链接从而访问活动页面?)
算法题
- 找到环形链表的入口
贝壳
一站式面试,一个下午如果顺利会进行连续三轮面试。可惜面完过了两天就宣布调整,直到现在都还是面试中的状态
一面 3.26
面试官很年轻很帅,看起来可能只比我大三四岁。很多问题是抛一个主题,然后自己展开讲,知识体系需要比较清晰
Java基础
- Array和ArrayList的区别(我去,我没准备过这个问题。。)
MySQL
- 四种隔离级别(刚才的Array没回答出来给我整慌了,以至于这里答得也不好。。。)
- mysql默认的是哪一个隔离级别
- 讲一下索引的数据结构
- 在项目中有遇见过加索引的情况吗(笑死,全都加了索引)
Redis
- 说一说数据结构
JVM
- 假如我不了解JVM,你给我介绍一下吧
- 你了解哪些垃圾回收器,说一说
- 新生代对象怎么判定是否应该升到老年代?
框架
- 对于Spring了解到什么程度,简单说说
- 介绍一些Spring和SpringBoot之间的差异
- springboot中那些配置文件的自动加载原理(虽然很重要,但是我不知道)
- 在看源码的时候,对于它涉及到的设计模式有一个认识吗?(我没看过源码,但我背过设计模式哈哈)
项目
- 详细介绍一下各个功能模块
- 通过标签查询文章是怎么实现的
- 文章的文本放在什么地方的(这个问题凡是问项目基本跑不掉)
其他
- 平时会自己想一些技术相关的场景,然后解决吗?(啊这。。)
二面 3.26
只有项目 + 做题没有八股。手机录音到一半不知道怎么停了,下面是部分回忆
项目
- 介绍一下项目中的表结构
- 项目中涉及到了后台管理,那么管理员和普通用户是怎么实现权限分离呢(权限这里说了有一会儿)
- 如果新添加了管理员,但是想要每个管理员对于文章的管理权限是不同的,怎么实现
- 文章的内容是放在哪里的?
做题
- 实现两个线程交替打印数字
hr面 3.26
- 意向工作城市
- 考研的想法
- 成绩怎么样
- 职业规划
- 了解贝壳是做什么的吗
- 如果来了贝壳,你想做哪一方面的工作(更加细分的工作,我连你们能做什么都不知道,这个我怎么答。。)
- 有女朋友了吗(这些hr老惦记我有没有女朋友干嘛。。。)
阿里
ICBU被刷kpi了,问的很简单而且不追问,秒挂。蚂蚁集团打电话说进行一个简历面,挂。。。
一面
电话面,没录音,问题很平常,记不太清了,面试官还迟到了10分钟
项目介绍一下
抽象类和接口区别介绍一下
死锁介绍一下
排序算法介绍一下
http特点介绍一下
udp和tcp介绍一下
机器学习,深度学习介绍一下(我:嗯???)
最后反问对我说你以后的路还很长,以后还要做架构师balabala,这和你问我的问题有关联吗?前言不搭后语很迷惑
网易
一面面试官反应和我自己的感觉都还不错,二面全程和面试官不在一个调子上,果然挂了
一面
没录音内容全忘了,只记得一个算法题了
算法
数字n的全排列
给一个正整数n,求出1 - n这n个数字的全排列。如n = 3,则输出[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]],属于是回溯入门题了
二面
最近在看什么书?
你说Java是你自学的,那你可以说一说Java和其它语言之间的区别,你是怎么理解Java这门语言的?(以为是开放性问答,扯了一大堆,结果后面得知面试官的理想答案是跨平台)
讲一下项目难点?(我项目没有难点,于是我就说sql写起来不好写。。。)
- 说一下是怎样的需求导致了你的sql不好写,你是怎么解决的(说了一堆)
- 你说的这些问题,其实在数据库内部已经给出了解决方案,而且会比你的快很多(我:我不到,寄!)
我们来写一道sql题吧:有一张表,存在三个字段,分别是学生姓名、学生所属班级、学生成绩,要求查询出每个班级中,排名前5的学生的信息。(我菜死了,sql根本不会写)
华为
测评做了两次,被反应焦虑指数过高,所以没法继续推进流程,一面虽然过了但是也没二面了,真的🐂🍺
一面 4.16
一面简单到没有现实感,和互联网公司面试体验差距还是很大的
个人问题 + 项目问题
学校的课程
项目为什么使用这样一套技术栈
对于博客内容的编辑是怎么做的
怎么样实现文章内容的排版(用的插件)
数据库文章过多,首页的展示你是怎么办的?
项目的亮点或者难点(我一个垃圾的crud项目,没有任何亮点或者难点)
算法题
看别人都说面试官会让别泄露,我的没说就分享一下了
- 字符串按照字符出现频率排序:大概意思是,有一个只包含小写字符的字符串,将字符串按照某个字符出现频率进行排序,示例:aabbbd,排序之后为:bbbaad。比较简单
- 笔试题回顾
携程
一面 4.22
一面过了,但是已经没有找实习的动力了,拒了二面。
Redis
- 简单介绍下Redis
算法题
面试用的腾讯会议,所以算法题是开屏幕共享在本地IDE写的。在反问环节得知,面试官认为写算法题应当符合面向对象的特点,比如:如果你直接把方法写在main函数里面,我就会很失望,甚至不让你过。我惊呆了都。。。
- 大数(字符串)乘法
- 字符串按照频率排序:和华为的不同,大概意思是,包含有大写字母、小写字母、数字的字符串,按照某个字母(不区分大小写)或数字出现频率排序,排序后的字符串长度应该保持不变,同时某个字母的大小写个数也应该保持不变(原谅我拙劣的描述。。),举例:abA222,排序之后:222aAb或者222Aab都是正确的,答案222aab是错的,因为A丢失了。