前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三叶的小伙伴们の经历分享 : 千秋澪(千秋总)

三叶的小伙伴们の经历分享 : 千秋澪(千秋总)

作者头像
宫水三叶的刷题日记
发布2022-06-21 16:51:17
1.2K0
发布2022-06-21 16:51:17
举报

写在前面

又是一位咱好得很的小伙伴,又是咱 LC 打卡群的管理员 🤣

千秋总的面经是来回热了好几遍才定稿 🤣

千秋总作为咱群里“躺平圈”的代表,为人低调谦逊好相处,欢迎大家去撩

借此机会,正好开设「三叶的小伙伴们の经历分享」栏目,让更多同学的学习/上岸经验能够被有效分享,并通过此栏目相互结识(欢迎大家投稿,投稿邮箱:ac_oier@hotmail.com 或微信:oaoaya

千秋总的 LeetCode 个人主页截图(https://leetcode.cn/u/chiakimio/):

以下是 千秋澪(千秋总)的面经内容 ~

个人背景

某末流 985,大一在老乡群水平被一个学长带进了 ACM 的深坑,然后运气很好碰到了两个大我一届的队友混了几个奖,个人水平一般。项目只写过一些简单的课设,基本只会 CRUD。

秋招由于学校原因加上自己比较怂请假被辅导员拒绝了就不敢偷跑,所以一直到 9 月份才跑去华为实习,甚至完全 miss 了秋招(千万别学我,最好暑假就去实习然后秋招好好找工作)。

春招准备时间大概 2 个月(2月~4月),期间边面试边学习,每天跟同样找工作的室友出去咖啡厅、图书馆什么的(环境和同伴真的很重要)。因为找的 Java 方向的工作,期间大概学习了 JVM、Java 并发、MySQL、Redis、计网、操作系统这些知识(JVM 基本都没被问)。

一般就是看网课 & 找博客 & 翻面经,不用问是什么网课因为一搜一大堆重点是看得进去。会做点笔记大纲什么的,就算是看博客,个人也比较喜欢把知识点都跟着敲一遍不然记不住。

平时比较摸鱼,但是找工作那段时间确实是在高强度学习( 每天大概 3~5 个算法题 + 看一整天的知识点什么的,晚上 10 点多才回去 )。

八股文很枯燥,所以我都是跟着敲一遍或者抄写一遍就当是练习打字或者书法了。算法方面就是平时练习积累,面试题也不会太难所以没遇到什么阻力(面试难度大概 Leetcode 周赛前三题吧)。

投递记录

  • 小米(挂测评)
  • 京东(没消息)
  • 米哈游(笔试完没给面试)
  • 虾皮(没挂但是不给安排后续面试了,推测投递太早+简历写的太烂+hc不足)
  • 携程(2 面之后给 offer 了)
  • 网易(3 面感觉良好,面试官反馈也没啥问题,但是还是被挂了)
  • 字节(2 面挂算法题上了,然后被捞了 3 面挂操作系统问题上了,再捞已经快毕业了没那个心态面了)

整体面的比较菜,也就拿了 1 个 offer。今年校招形势挺严峻的,秋招能上岸就别等春招了。建议一定要在大三上学期想好自己想读研还是想找工作,想找工作的赶紧找实习,暑假就去实习。然后能转正转正,不能转正就 run 秋招,认识的人里面就有去字节实习了半年转正的。

至于去了华为实习却不投递,主要原因是实习体验比较一般,个人还是更想体验一下互联网做技术方向的。人文方面挺不错的,但是技术方面,华为的权限管的太死了,而且实习那个部门没有什么业务可以做,对个人能力来说没有提升,对之后找工作来说也并没有好处。如果能转正倒是还可以选择,但是华为也取消了转正。

所以想去互联网大厂的还是卷起来吧。当然,据周围朋友和同学的情况来看,华为的面试难度应该不高,重点反倒是学历,而且国内的名号还是挺响的也不失为一个不错的选择。

2022-03-15:网易一面 32min

  • 自我介绍
  • 实习的时候做过什么项目吗?介绍一下。
  • 线程池核心参数介绍一下
  • 线程池执行流程
  • Java锁的实现方式
  • synchronized 关键词的优化和原理
  • spring 容器怎么处理接口请求的
  • 用过哪些 spring 的常用注解
  • 什么是拦截器、过滤器
  • IOC、AOP 介绍一下
  • 平时见过 AOP 的应用吗
  • 用过日志收集吗?比如 log4j,sl4j 这样的。
  • 线程的生命周期
  • MySQL 的事务隔离级别
  • InnoDB 的默认隔离级别
  • 什么是 Next-Key Lock
  • 什么是最左前缀原则
  • 什么情况会索引失效
  • SQL 语句:查询学生所有课程平均分 > 60 的同学 id 和 平均成绩
  • 用户会在 APP 上背单词,设计一个排行榜,能够每隔半小时更新一次,实现查询当日内背单词数量前十的用户和单词数。
  • 算法题:leetcode 103: 锯齿形遍历
  • 反问

❝体验良好,第一次正式面试有点紧张,不过问题基本上都答出来了。 ❞

2022-03-16:携程一面 55min

  • 自我介绍
  • 项目是主动找老师做的吗
  • 实习经历
  • 项目怎么搭建的,有几个页面和功能
  • 用过 Java 哪些 Api,用过什么集合类?
  • ArrayList 和 LinkedList 的区别
  • 排序功能是哪个类里的
  • 进程&线程的区别
  • 线程池讲一下
  • Object 类有哪些方法
  • 什么是多态
  • 栈和队列的区别
  • 栈的 pop 和 top 的区别
  • left join 干嘛的
  • sql 语句:有多个组,按每个组总销售额按降序排序
  • 前端 js 代码看得懂吗?vue 知道吗?
  • 浏览器里面敲个 url 发生了什么。
  • 英语水平,看英文文档看得懂吗
  • spring cloud 讲一下(好像是看错了,以为我用过,然而我不会)
  • Java 1.8 默认的垃圾收集器是什么
  • 算法:判断一个二叉树是否是平衡的 Leetcode 110:平衡二叉树
  • 设计一个食堂订餐的系统,大概会有什么功能和模块?
  • 聊天
  • 反问

❝一面体验良好,不知道是不是因为那个组缺人还是啥的问的贼简单。。。 ❞

2022-03-16:虾皮一面 49min

  • 自我介绍
  • 对虾皮有什么了解吗
  • Java 的垃圾回收机制
  • Java 的垃圾回收算法有哪些
  • 进程间通信方式
  • 信号 和 信号量 的区别
  • 3 次握手 & 4 次挥手的过程,握手第几次可以传输数据了
  • 项目里有涉及到互斥吗?(这「互斥」是啥意思没听懂?)
  • 锁了解吗?
  • 算法:
    • Leetcode 862:和大于等于K的最短子数组 (还好之前做过了不然一时半会真不会)
    • Leetcode 105:从前序和中序遍历还原二叉树
  • 反问

❝面试官头顶发亮,一看就是个大佬。自我介绍完了他直接说对我的经历除了竞赛那块能看看其他的都不是很感兴趣,于是随便问了几个问题还都不深入。问之前还问我有没有实际用过,我说没有,但是我学了,然后他就直接跳了连问都不想问。 最后丢了两个算法题感觉是想劝退来着,结果运气好第一题上次在水群看到有人问就跑去写了下(当时也不会看了题解),于是给他搞出来了。然后他也就没挂我,不过可能评价比较差,加上投递的比较早,那时候简历写的贼差,理所当然安排面试也不会优先安排到我,最后应该招满了就直接拖到发感谢信了。 ❞

2022-03-22:网易二面 48min

  • 自我介绍
  • 你有提到 Java、Python、C++,这三种语言怎么导入和安装使用包的?
  • Maven 是干嘛的?什么功能和作用?
  • 介绍一下实习期间做的工作
  • 微服务之间如何互相调用的?
  • http 和 rpc 有什么区别和联系?
  • 具体是怎么用到 rpc 的?
  • 微服务是什么样的概念呢?
  • 订单模块需要有个唯一的订单号,可以通过什么策略去生成?
  • 有一个用户的积分模块,怎么做一个积分的排行榜功能?
  • Redis 有哪些数据结构?
  • Redis 和 MySQL 有什么区别,分别适用于什么场景?
  • Redis 是通过内存读写的,那如果 Redis 挂了会怎么样?
  • 怎么保证 Redis 和 MySQL 的数据一致性?
  • MySQL 怎么保证原子性呢?
  • Redis 支持事务吗?
  • 项目里面的 Matlab 怎么和 Spring 连通起来的?
  • C++ 编写的代码有什么方案可以给 Java 用吗?或者说我有一个 C++ 项目怎么把他改写成 Java 的?
  • Java 的项目在 Linux 和 Windows 部署运行有什么区别吗?需要做什么调整吗?
  • 场景设计:发短信的时候需要带上我们活动的链接,但是链接非常长,我需要做一个链接压缩,运营人员把长链接给你,你给他提供一个短链接,你已经有一个很短的域名了,那如何设计这样的转化系统?
  • 长链接通过什么策略映射成短链呢?(答了字符串哈希)
  • 用 Java 的 hash 函数,hash 出来是个数字,我能不能直接用这个数字当哈希值?
  • 哈希的值很大,那我直接取模会出现哈希冲突,怎么解决?
  • 哈希冲突一般来说有哪些解决方案呢?
  • 算法题:「把一个 ipv4 地址转化成一个十进制数」
  • 你的正则表达式这里为什么要写两个斜杠"s.split(\\.)"
  • 输入不合法会出现异常,为那什么不需要在 main 那里声明会抛出异常?
  • Git 用过哪些常用命令?
  • 为什么用了 cherry-pick ?你在什么场景下用的?
  • 讲几个 linux 系统的常用命令以及是它们做什么的
  • 容器有了解吗?(没有)
  • 直接结束没有让提问

❝问了好多,感觉还可以,话说网易这两面的算法题都好简单啊? ❞

2022-03-28:携程二面 45min

  • 自我介绍
  • 为什么没转正
  • 实习做了哪些事,学到了什么?
  • 技术上有学习到什么吗
  • 实习遇到了什么难点
  • 重写 Hashcode 方法,如果我全返回 1 会有什么问题?对 HashMap 会产生什么影响?
  • 链表&红黑树的区别?
  • IOC 的 bean 的单例怎么实现的?
  • 从容器里拿和放实例应该怎么实现呢?(他想问的是用类似 Hash 表的结构设计)
  • 无序数组找 max,你可以想到哪些方法?复杂度分别是多少?(答了直接取、堆排、快排、归并、桶排)
  • 一个字符串表达式,怎么计算值?
  • 给了一个函数和 5min 让看一下,然后问函数功能&这个东西有哪些问题
    • 写法上:str == "",应该改成 equals,然后问了为什么要用 equals
    • 功能上:没考虑非法输入
    • 函数命名不规范
    • 参数没全用上
    • 常量应该单独写出来不能直接用数字
  • 反问:
    • 业务做的是啥?(被吐槽说大家都这么问了)
    • 我有什么需要改进的?(知识要学的灵活点不要学太死了,框架什么的可以多了解)
    • 看书和网课和博客相比,有没有必要要看书?

❝面试官强调不要死学习,学东西重点是理解其中的思想。 ❞

2022-03-29:网易三面 31min

  • 自我介绍
  • 介绍一下实习期做的工作
  • 介绍一下项目吧
  • http 请求头有哪些
  • cookie 是干嘛的
  • 想要做一个登录功能应该怎么实现
  • 了解哪些 shell 命令
  • 一个进程有多少个线程
  • 什么是多线程
  • 实现一个阻塞队列,enQueue 和 deQueue 两个方法(tmd synchronized 差点拼不出来,为什么这个关键字系统不提示啊)Leetcode 1188. 设计有限阻塞队列
  • 设计一个拼团购买的功能,要求设计相关数据库表以及说明开团、参团的接口大概怎么实现
  • 反问
    • 工作内容大概会涉及到哪些呢?
    • 我有什么需要改进的?
    • 看网课、看博客、读书这几种学习方法应该怎么选择?

❝邮件里写的总监面,我以为是跟 hr 面差不多随便聊天,结果还是问问题啊,写了个多线程编程,还好之前去练过不然估计也要寄。面完了我问他的评价他说技术还不错,只是缺少点经验。虽然最后还是挂了,估计没 hc 了吧。。。 ❞

2022-04-24:字节飞书一面:55min

  • 自我介绍
  • 说一下进程和线程的区别和联系
  • 哪些资源是线程独占的
  • 说一下线程池的原理
  • 说一下 tcp 协议是如何工作的?三次握手 & 四次挥手的过程
  • time-wait 状态有什么作用
  • url 到网页被打开的过程
  • 数据包到达服务器内部时,服务器如何处理的?
  • 负载均衡有了解吗
  • 负载均衡的时候怎么处理登录信息的?
  • 你怎么设计的登录接口
  • 用户 token 被截获了之后被别人乱用怎么办?jwt 的 token 能被篡改吗?被修改了会怎样?server 端怎么验证的?
  • https 有了解吗?
  • http 的 keep-alive 和 tcp 的 keep-alive 有什么区别?
  • tcp 的保活数据包能被应用层检测到吗?
  • http 的请求方法,get & post 有什么区别,浏览器或者代理层对 get & post 的处理有什么不用吗?
  • get 的幂等是什么?post 可以幂等吗?
  • 64 匹马,8 个赛道,找出前 4,采用什么策略 & 最少要几次?
  • 算法题:
    • LRU 实现,加了个过期时间,优先剔除过期数据,get 的时候如果过期了就返回 null(加个判断而已,反正满了踢数据直接踢链表头部管他过没过期也不影响)
    • 求一个二叉树的最大宽度(就是找出节点最多的那个层)

❝面试官看起来很年轻的,本来其实拿了 offer 了准备开摆了,但是实习没投字节秋招 miss 了,春招还不试试有点不甘心,找了个大佬给我内推了。面试之前临时整理了一下看到的字节面经中的问题,事实证明这个操作还是很有作用的。 ❞

2022-04-28:字节飞书二面:70min

  • 自我介绍
  • 实习做了什么,学到了什么?
  • 用过哪些 git 命令
  • 多线程统计数据,有什么方法解决并发问题?(答了加锁,CAS,然后问还有吗???不会了)
  • 说一下垃圾回收算法
  • 你学习这些垃圾回收算法对你来说有什么好处呢?
  • 基于这些回收算法有什么点可以优化性能?能直接操作垃圾回收算法吗?可以通过外部命令去调整吗?
  • 不同垃圾回收器用什么命令选取
  • 为什么要分代回收?相较于标记-清除有什么好处?年轻代回收的时候老年代不管有什么好处?
  • 怎么去设计一个线程池?
  • 为什么要有线程池这种东西,有什么好处?
  • 讲一下 4 次挥手
  • 说一下并发、并行、异步的区别
  • Redis 有哪些数据结构
  • 一个请求进来的时候,Redis 怎么找到对应的数据的?
  • Redis 集群的时候怎么存放数据?我要扩容怎么办?(寄,没学分布式那块的东西,不会)
  • 算法:
    • 写一个快排 (快排太久没复习写炸了,等于号加不加永远记不住写哪个,但是不想背快排板子啊,恼)
    • 长度
    n

    的数组,划分成

    m

    个子集,要求每个子集的和相等,求最大的

    m

    (不会,想着把数组和求出来,然后枚举因数进行分解,这样就确定了划分子集的个数以及每个子集的和。之后经过发帖讨论,分解之后的子问题变成了 Leetcode 698,再写一个状压 dp 就能解决问题)

❝快排就是 ACMer 杀手。。。 没明确思路的问题一定要问下数据范围,数据范围比任何提示都好用。这个题虽然有子集了,但是不给数据范围我还是完全没想到要状压 dp。 ❞

2022-05-07: 字节一面 60min

  • 面试官自我介绍完让我介绍
  • 为什么没读研
  • 有面一些别的公司吗
  • 项目是课程设计吗
  • 单点登录怎么实现的?介绍一下 jwt 吧
  • token 会给客户端,他怎么保存的呢, 请求的时候他怎么带上这个 token 的呢?
  • 数据库范式
  • 数据库的事务的概念与特性(ACID, 然后说了下隔离级别)
  • ping 是什么协议, 哪一层的?
  • ping 的延时是怎么得到的?
  • TCP & UDP 的区别
  • 讲一下 TCP 的拥塞阻塞相关的机制
  • linux命令: (寄,不会啊)
    • 怎么看一个目录的大小,怎么查看磁盘占用情况
    • 怎么看 IO 的状态
    • kill 进程的时候, 进程收到了什么? 进程被 kill 掉的具体的过程是怎样的
  • 讲一下 AQS 的 CLH 队列
  • 代码题:
    • 写一个单例模式 (追问了里面每一行代码的意思,多写了行 notify 被发现了)
    • Leetcode 23. 合并 K 个升序链表

❝前面挂了之后过了一天就被捞了,说是组长觉的面评还不错可以再给一次机会。一面面试官挺和善的,写代码的时候报个错我还没反应过来他直接说你没重载拷贝构造函数。代码 5 min 写完了。但是重载运算符写到结构体里了,改了半天写 lambda 不知道我写错了还是 c++11 不支持 delctype 那样的构造函数愣是没编译过。没办法了还是老老实实重载个 cmp 结构体给 priority_queue 用。调个重载运算符的 bug 写的比写代码逻辑还久,属于是菜 b 了。。。面完翻了一下以前写的代码是直接弄了个 pair ,蠢呐我。。。 ❞

2022-05-11 字节二面 48min

  • 自我介绍
  • 面了哪些公司,有拿啥地方的 offer 吗
  • 介绍一下垃圾回收算法
  • 介绍一下 CMS、G1、ZGC 各自的特点
  • G1 的所有 Region 都一样大吗
  • G1 中,一个Region 放不下 Object 怎么办
  • 这三种回收器分别适用什么场景呢?
  • 介绍一下 ConcurrentHashMap
  • 链表太长了为啥要转成红黑树,我能换别的树吗?(增删查效率稳定)
  • MySQL 的索引有什么优缺点?
  • 建索引对写性能有什么影响?
  • 索引为什么要用 B+ 树?(树更矮,层数低)
  • 如果用其他结构,B+ 或者 红黑树 的所有节点已经全部存内存里,那性能上还存在差距吗?
  • 了解 MySQL 的 explain 命令吗?
  • 自增 id 和唯一 id,在性能上有差距吗?
  • 64 匹马,8 个赛道,找出前 4,采用什么策略 & 最少要几次?(字节老喜欢问这个了,不过这次问的老细了,尤其是第10和第11次是怎么选的,为啥要多跑那一次什么的)
  • 算法:leetcode 64.最小路径和 ,要求不能动原数组。(一开始随手写了个
n*m

空间的,让我优化到

O(n)

的空间)

  • 反问

❝终于碰到一个问我 JVM 的面试官了。。第一个学的就是 JVM, 每次都看每次没人问,感动。。 ❞

2022-05-19 字节三面 47min

  • 自我介绍
  • 实习主要做的什么事情?你负责什么?开发了什么功能?收获了什么。
  • 线程&进程的区别
  • 协程有了解吗?
  • 操作系统进程调度的方式?
  • 讲一下虚拟地址和物理地址
  • 有个程序占用的虚拟内存比你整机的物理内存还大,怎么解释?
  • 页表怎么维护的?放在哪里了?(不清楚诶)
  • 多个线程要去修改同一个变量,要不要加锁,为什么要加锁?
  • CAS 的原理?
  • 知道文件描述符吗?(我不造啊)
  • 有写过 Socket 编程和文件操作吗?(不会啊)
  • 代码:
    • 多个节点的最近公共祖先
    • Leetcode445 链表模拟两数相加
  • 反问

❝面试官挺年轻的,但是很有大佬气质,就那种不怒自威的样子。上来就说前面问过的就不问了,问点操作系统吧。。。然后就寄了,操作系统学稀烂,麻。。 ❞

总结

  • 22 年春招有点难搞啊,到处都没 hc 或者刚放出来没多少马上就没了。个人还是准备的太晚了,实习那会也没想着要找个好的地方能转正,就为了混个实习学分随便投了下,华为那边要我了我就没投别家了。实习之前华为秋招拉我面了一波,然后啥也没准备问啥啥不会,二面直接就把我挂了搞的有点心态小崩。不过实习体验良好,部门氛围挺和谐的。可惜华为没有转正机制,虽然春招还能投但是就不是很想投了。
  • 整个面试体验还算正常,总而言之就是学东西,面试,然后边等边学,就是学校这边不好面试到处找地方面试有点顶,最后还因为疫情封了只能在寝室当着室友面面试有点小尬。。。虽然本人有点社恐但是自我介绍完面试官开始问问题了就感觉已经没什么好怕的了。
  • 因为去年实习那会没投字节有点小遗憾,所以春招的时候终于还是忍不住找大佬要了个内推,然后一开始推的部门没 hc 了,佬发现后说给转去飞书了。虽然凉了但是也算是尝试过了,春招也不留遗憾完结了。个人体验感觉那边部门可能老忙了,因为室友说他之前投的时候面试官也经常咕或者迟到,然后我二面的时候果然先咕了,hr 打电话改时间说在开会。然后到当天又在开会迟到 15min。嘶~,害怕.jpg
  • 平时写题太依赖数据范围了,不给范围根本想不到怎么写,尤其是最优复杂度
\gt O(n\log{n})

的时候没数据范围参考的话,根本不清楚要什么样的算法。之前携程笔试也是没给范围就不会了。。。可能只是因为太菜了8。。

  • 最后签了携程了(因为别的全挂了诶),不过我觉得已经挺好了,能有个结果已经很开心了。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宫水三叶的刷题日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 个人背景
  • 投递记录
  • 2022-03-15:网易一面 32min
  • 2022-03-16:携程一面 55min
  • 2022-03-16:虾皮一面 49min
  • 2022-03-22:网易二面 48min
  • 2022-03-28:携程二面 45min
  • 2022-03-29:网易三面 31min
  • 2022-04-24:字节飞书一面:55min
  • 2022-04-28:字节飞书二面:70min
  • 2022-05-07: 字节一面 60min
  • 2022-05-11 字节二面 48min
  • 2022-05-19 字节三面 47min
  • 总结
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档