2020国内暑期实习面经总结

国外疫情太严重了。。。于是买了回国机票,忍痛放弃了国外的offer及时转战寻找国内的暑期实习,磕磕绊绊总算拿到了offer,一把辛酸泪,这边就把国内的暑期实习面经分享给大家,攒攒人品。
国内自己投递的也算晚的了,也没投递几家公司,但是面试的大部分内容都是想通的,可以参考,还有部分依旧处于面试状态,后期也会不断更新,希望大家都能拿到满意的offer。
(投递的基本是后端研发,字节是测试开发)

(1)北京用友集团Java后端研发
先来了一份笔试卷子,一般都是Java基础
1.介绍一下自己,做了什么项目
2.用Spring讲一下AOP IOC是什么
3.Springboot和SpringMVC有什么区别,或者Springboot的优点有哪些
4.单例模式,如何破坏单例
5.== 和equals区别
6.String,StringBuilder, substring方法
7.接口和抽象类的区别
8.Collection集合包有些什么,具体实现是什么
9.数据库SQL优化思考
10.Springboot 核心配置文件有哪些,格式是什么,yml了解么
11.有什么问题想问我们的么

(2)作业帮:
一面:1小时
1.自我介绍(什么学校,什么时候回国)
2.讲讲之前实习是做了什么工作
3.项目做了什么,为什么做这个项目,有什么困难,如何解决,结果是什么。
4.看你有LSTM项目,讲讲用的什么模型?数学怎么样?知道傅立叶变换么,介绍一下,全微分,线性代数?
5.看你项目中遇到的困难在缓存和数据库,那你项目的后端框架用的是什么,数据库的底层数据结构是什么,磁盘的数据结构是什么?
6.B+树的结构是什么,和B树有什么区别,红黑树结构是什么样的?红黑树的应用有哪些?AVL树是什么,平衡二叉树的条件是什么?
7.哈希表用什么解决冲突的?
8.拉链法解决冲突可以,但是如果链表变长,如何优化呢?
9.如果优化为树结构,数据量依旧很大,如何进一步优化?
10.数据库读写分离机制,如何做分库分表的?用的什么中间件去分库分表?
11.如何确保数据库的稳定性
12.算法链表反转

二面:1小时10分钟
1.自我介绍
2.做过哪些项目,给自己印象最深的项目是什么
3.用redis做二级缓存的时候如何确保高并发数据的一致性,如果有一张订单表,我要你找到对应用户所拥有的订单,怎么找?(基于用户ID重新建立一个简易索引表)数据库的几种事务隔离机制是什么,有哪些?有什么用?
4.Str1=“a” str2=new string(“a”)区别,虚拟机内存空间上如何体现这两个区别,这区别具体在开发中会造成什么问题,如何解决?
5.Java和C++在内存处理上有什么区别?虚拟机的常用垃圾回收机制有什么?什么时候会发生OOM错误(内存溢出错误)
6.Redis的基本数据结构是什么?
7.redis如何做持久化的?
8.给你一个场景,设计秒杀系统,假设有10件商品, 先用redis去get数量,数量-1,然后用set更新redis的数据,如果get数据为0就表示商品卖完了,这种情况安全么,有问题的话如何解决
9.redis加锁上锁的命令是什么
10.Linux awk grep命令是什么,如何用正则表达式匹配AxxxxAxxx?
11.讲一下在浏览器输入URL之后到浏览器出现界面的全过程,系统后面用了哪些协议
12.如果你有很多IP地址,如何找到出现次数最多的前三个IP地址?
13.如果你有一个100G的IP地址文件,你的系统只有5G存储空间,如何找到出现次数最多的前三IP地址?
14.如果一张订单表特别大,你会如何处理这个表格,如何优化它?
15.算法题:字符串切分+反转
16.盲人有10双袜子,两双黑的,8双白的,如何在没人帮助下找出黑的
17.你有什么问题想问我的?

三面:HR面
1.对在线教育怎么看
2.什么时候能实习
3.面试体验怎么样
4.讲讲自己的实习经历
5.想要在作业帮获得什么
6.证明自己的学习能力

(3)华为
笔试就不多说了。。。
1.自我介绍
2.讲一下自己的项目
3.讲一下Java虚拟机有哪些模块,每个模块是干什么用的,存储了什么东西
4.垃圾回收算法有哪些,具体讲一讲(标记整理,标记清除)G1是什么(面试官还给我普及了现在G1算法已经不怎么用了)
5.实习的时候做了什么,数据库的水平分表如何分的?用的什么中间件?
6.水平分表会遇到什么问题,数据库的事务隔离机制有什么,项目中读写机制采用的是什么,数据一致性问题如何解决,采用的是弱一致性还是强一致性?
7.数据同步是需要时间的,如何确保数据一致性?分布式一致性算法Paxos了解过么?
8.LSTM的模型怎么搭建的?考虑了哪些因素,是所有城市都一个模型还是模型有变种?
9.脏读幻读如何处理的?
10.算法题:leetcode course schedule 拓扑排序, 后缀表达式的计算(stack)

主管面试:
1.自我介绍
2.工作地
3.什么时候毕业
4.读博么
5.有什么问题想要问我的?

(4)字节跳动(测试开发)
一面:45分钟
1.自我介绍一下,用过抖音么
3.设计微信点赞功能的测试用例
4.线程与进程的区别与应用
5.从界面输入URL到浏览器显示界面后面的全过程
6.DNS如何解析的:递归和和迭代查询
7.TCP为什么是三次握手不是两次握手
8.多线程的应用场景,如何确保线程安全,讲讲并发包中的锁的使用
9.对象间的循环依赖如何解决
10.什么是白盒测试和黑盒测试
11.堆和栈的区别,操作系统中的堆栈的数据结构是什么
12.Java中的指针是什么,和C++的区别是什么,两个变量可以同时指向一个对象么?
13.JVM中堆用到的一些算法,垃圾回收机制
14.代码题,写一个类似于随机分配微信红包数额的功能

二面:1小时30分钟
1.自我介绍
2.做过什么项目,介绍一下自己最熟悉的项目
3.第一面自己学到了什么,获得了什么
4.自己设计的分布式数据库有什么缺陷,ACID原理,介绍自己用的数据库中间件Mycat,如何确保数据一致性
5.看你用了SSM框架,讲一下分别是什么框架,他们的核心原理和设计模式是什么
6.算法题:实现浏览器的前进后退功能(双栈模型)
7.缓存数据库一般用在什么类型的数据上,数据结构
8.缓存数据库有哪些存储更新机制(LRU)
9.数据库什么时候需要分库分表,什么时候需要建立集群,两者的区别是什么
10.如何学习新的框架和知识,讲讲过程
11.看你简历上一段是去年的 那在研究生阶段做了些什么
12.如果让你写个加法的单元测试,你会怎么写?(个人感觉就是数据类型,是否越界,强制转换导致精度损失以及常规计算(正负0)这几个方面)
13.有什么想要问我的? 


三面:1小时20分钟
1.算法:字符串全排列,如何测试你写的程序?需要考虑哪些方面?
2.产品思维考察,抖音和国外一些产品有什么区别?
3.团队思维考察,什么样的团队是好的团队?
4.国内外社交软件的区别
5.大数据情况下的分布式部署问题,涉及到的算法问题,如何设计一个秒杀系统
6.看什么书
7.计算机网络TCP和DNS细节(输入URL到前端展示结果全过程)
8.个人项目架构如何设计的
9.有什么想要问我的?

HR:
考虑转正么
考虑读博么
实习时间什么时候?
聊了之后大致一周后发放offer


(5)阿里巴巴
1.和我探讨了一波笔试的编程题思路(讲了1个多小时。。。)然后白板编程找出数组中缺失和重复的数字
2.讲一下项目和实习,做了什么,学到什么,说看了我的博客,博客太重要了
3.项目数据库读写分离采用的什么机制?如何确保分库之后数据还能查询到
4.一致性hash,你如何分库分表?
5.了解哪些设计模式,Spring中用了什么设计模式
6.装饰模式具体怎么实现
7.JVM用的哪些垃圾回收算法,分新生代和老年代
8.Spring如何解决循环引用的问题
9.Spring的核心是什么,IOC, AOP你怎么理解?
10.如何优雅的暂停线程池,而不是让线程执行一半暴力停止?先把线程池入口关掉,然后把阻塞队列里面的线程执行掉
11.Redis哪些数据结构,怎么实现的?
12.最近看什么书?回答了Innodb数据库,后面的问题就开始数据库了
13.Mysql有哪些引擎,区别是什么?
14.看我项目里用了LSTM,讲讲项目,如何调参数,学到了什么
15.并发包里面看过什么源码,ConcurrentHashMap和hashMap有什么区别
16.参加过什么比赛?

这边附上我的博客和微信公众号~分享技术和大家一起进步~
微信公众号:wzcspace

这边给Java后端的童鞋列个学习小清单吧~
总结:算法能力+项目+设计模式+JVM+数据库+Spring基础+Redis+并发和多线程





#暑期实习面试字节阿里华为作业帮等##实习##面经#
全部评论
谢谢分享!请问楼主毕业时间填的什么时候啊~(网申时)
点赞 回复
分享
发布于 2020-05-12 09:40

相关推荐

用友 实习生 bg:25届双非
点赞 评论 收藏
转发
1 24 评论
分享
牛客网
牛客企业服务