4399 - 广州 - 后端暑期实习一二三面
#4399游戏# #笔试加面经#
笔试
1、20道选择题 2、5道场景题 3、3道算法题(全a) 还算是比较简单的。
6.16 - 一面(技术面 20 mins )
-
1、上来先自我介绍
-
2、然后问了我的绩点
-
3、正式开问,先问了排序
-
快速排序思路?
-
时间复杂度?
-
空间复杂度?
-
最坏时间复杂度,什么情况下达到最坏
-
是不是稳定排序?
-
不是稳定排序
-
-
归并排序思路?(我答了递归和非递归两种思路)
-
时间复杂度?
-
空间复杂度?
-
是不是稳定排序?
-
是稳定排序
-
-
-
场景题:100g文件,内存8g的机器,如何排序?
-
- leetcode上面有道题是这样的,可以参考一下,leetcode23合并 K 个升序链表
- 100 / 8 = 12.5 约等于 13次,
- 将文件分成13分,每份内排好序
- 归并:采用多路归并过程可以使用最小堆(优先队列)
- 排好序的数据的首位进入最小堆。则最小的数据位于堆顶,堆顶元素写入缓冲区,然后堆顶元素所属数组(文件)的下一位进入最小堆,最小堆会自动调整。接着再次移动。。。,当缓冲区满了,就将缓冲区写入磁盘,清空缓冲区,再次将数据置入最小堆。
- 直到10份数据全部写完,然后将最小堆的元素按顺序写回磁盘即可。
-
-
TCP 传输:拥塞控制?
-
四种算法
-
-
网络传输中粘包问题如何解决
-
我只说了一种,面试官问了还有嘛,没答上来
-
-
JVM 垃圾回收实现(这个可以说很久的)
-
Spring框架有使用过嘛?(框架源码是需要恶补的部分)
-
BeanFactory 和 上下文context(ApplicationContext)的区别?
-
- BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。
- 而ApplicationContext则在初始化应用上下文时就实例化所有的单实例的Bean。因此ApplicationContext的初始化时间会比BeanFactory稍长一些.
-
-
JVM 双亲委派机制
-
MySQL 索引存储结构
-
MySQL 存储的底层数据结构
-
B Tree 索引 / B + 树
-
Hash 索引 / Hash 表
-
-
Select 一句的执行过程
- 比如说 select from where having order by 等等的执行先后顺序
-
兴趣爱好
6.21 - 二面(HR 面 20 mins )
- 学校课程情况
- 就业还是考研
- 学习历程,知识掌握情况
- 掌握的语言
- 有无挂科
- GPA
- 学习活动情况
- 最吃力的科目
- 到岗(能全勤嘛?。。。)
- 最长实习时间(肯定先说可以到明年六月份咯)
- 自己觉得性格?
- 家乡、父母是否支持工作地点等
- 坚持最久的一件事
6.24 - 三面(技术面 30 mins )
-
上来先让自我介绍
-
然后问了兴趣爱好
-
大四有课程嘛
-
有没考研考虑
-
技术面试开始
-
基本数据类型?
- 一开始只答了 short long int double float
- 不小心答了个String(嘴抽),然后改口了
- 就被问了String 的底层是什么,我说是 Char 数组
-
String 是可变的嘛?
- 不可变,因为 final 修饰
- 为什么不可变?我答了出于安全性和效率的考虑
-
HashMap 有看过源码?底层原理和数据结构是什么?
- 我答了 jdk1.7 与 jdk1.8 的区别
- 答了put方法的寻址。
- 红黑树转换条件?
- 为什么用红黑树
- 链表长度,空间解释
- 红黑树算法的时间复杂度 O(log n), 还有平衡维护
-
看过多少源码啊,有看过开源的项目的代码?
-
有刷题?刷题量?
- 300+
-
都理解了嘛,刷的题?
-
讲讲动态规划?怎么样的思想?
- 答了左神的从暴力递归到动态规划的思路。咔咔乱杀
-
有具体遇到过内存溢出或者有做过内存溢出的检测工作嘛?
- 没有。
-
下面是MySQL的问题,基本是sql的实践问题,好久没写,这个得多练练了。。。
-
MySQL去重的方式
- 我答了大学最早学的distinct
- 还有嘛?
- 分组 group by
- 还有嘛?
- 不好意思,我想不到了,面试官。
- 还有嘛?
- 我答了大学最早学的distinct
-
场景sql题
- 姓名 学科 成绩
- 求总分大于300的人
- 我先预防针:好久没写了
- 先讲了思路:姓名字段分组,然后作成绩求和
- 我一开始说能不能用子查询,他说最好一条,不然也可以子查询
- 我比较菜,先试探的写了一个 select name, sum(score) group by name;
- 面试官然后呢?我都忘了having是分组的条件了。
- 提示之下然后: select name, sum(score) group by name having sum(score) > 300;
-
sql 场景题2
- 找出每科不低于80
- 真的要多练练了
- 最后面试官提示,min ?
- 卧槽。。。
-
select name from stu group by name having min(score) >= 80;
- 找出每科不低于80
-
TCP 传输的常用端口
-
比如 http 80,然后答了 https 443 redis 6379...
-
21: ftp–文件传输协议(FTP)端口 22: ssh–安全 Shell(SSH)服务 23: telnet–Telnet 服务 25: smtp –简单邮件传输协议(SMTP) 53: dns –域名服务 80: http –超文本传输协议 443: https –安全超文本传输协议 3306: mysql 数据库
-
-
智力题:5L 、7L容器,水无限,怎么得6升
- 正、反两种方案(模拟一下就行了)
- 面试官问哪种比较好?
- 我第二种还没回答,大概想了想第二种会好一点?好像第二种过程少以及资源少?
-
坚持最久的一件事?
-
反问:业务做什么?
先找一份暑期实习,秋招再冲一冲,加油。
下面是我的内推链接,感兴趣的同学可以看看 https://www.nowcoder.com/discuss/591595355108651008
#4399笔试##4399面经##4399游戏##4399内推#