我的春招实习总结:已拿字节,快手,美团Offer

前言

从二月初开始投简历,到现在字节入职一周,也两个多月了,想抽空记录一下最近的一些经历。

1. 心得体会

牛客网别人的帖子:

  • 写给20届毕业生的求职指南
  • 给正在备战春招/暑期实习的同学一些小建议

找实习不外乎笔试和面试,笔试没什么好说的,就是刷LeetCode和牛客网各公司往年的题,面试的话最好系统的复习基础知识,面经是用来查漏补缺,不适合打基础,每次面试最好能够记录下面试官的问题,方便后续总结经验。

1. 简历

简历建议包含的内容:

  1. 个人简要信息(简短):姓名、电话、邮箱、学校、求职意向
  2. 教育背景(简短):学校、专业、毕业时间、GPA、XXX奖、硕士研究方向、做过什么重要项目、学术成果、专利
  3. 专业技能(简短并说明每种技术你的掌握程度,方便面试官问):Java(并发、JVM…)、DB、Cache、中间件、分布式系统、云原生、软件架构/设计、框架、算法…
  4. 项目/实习经历:依据STAR法则介绍,重点突出你的贡献、项目难点、解决方案、取得成果、项目管理,项目经历应该标记项目开始时间、结束时间

写简历要考虑清楚:

  • 内容要有干货,引起面试官的兴趣,考虑他根据你提供的这份简历能问你什么,应该通过简历引导面试官问你的问题
  • 内容要有深度,不能只停留在使用层面,如果只在使用层面没什么好问的。面试官一般会先问你怎么用的,为什么用这个好处是什么,然后问你他的原理是怎么样的,最后看看你对这个东西的思考,怎么优化,联系到其他相关的东西…

2. 自我介绍

  1. 自我介绍保证能在3分钟内讲完, 必须包含学校/专业/研究方向
  2. 自我介绍重点是介绍自己过去的一些经历/成就, 通过这些经历/成就有目的的在面试官心里构造你的人设, 而非简单的介绍你做过什么, 可能包括以下几种, 自己想一下:
    1. 学霸/认真: 比如 GPA很高/保研/奖学金 经历
    2. 热爱编程/技术好有geek精神: 比如开源项目 (有一定star), 博客文章 (阅读量), 阅读过哪些源码, 学习使用过哪些比较新的技术
    3. 乐观/主动…
    4. 善于沟通/有组织力/有执行力/乐于分享… 比如组织同学一起做项目, 向同学分享你的资料
    5. 开发+N(其他技术): 开发+云, 开发+算法, 开发+…
  3. 自我介绍中不需要详细介绍你的项目, 可以简单介绍一下你做过什么项目, 不要具体到你做了哪些
  4. 自我介绍中不要写一些在真正讲的时候都不会说出来或没意义的话, 比如很希望加入你们, 很高兴参加面试

2. 面试问题

ICBU国际站技术部

  1. 自我介绍
  2. 大数据是什么,和普通项目区别
  3. MySQL和ES之类大数据框架之间的区别
  4. 实习项目介绍
  5. Zookeeper实现原理,在Kafka中作用什么,为什么不用MySQL存储这些信息,因为单机内存数据一致性,分布式环境下数据不一致,需要分布式锁等等
  6. Zookeeper分布式读取一致性
  7. 多个Client竞争Zookeeper写入?
  8. 单机环境下的锁
  9. HashMap介绍,为什么不是线程安全的
  10. HashMap的线程安全实现
  11. 垃圾回收过程,为什么新生代老年代回收算法不一致

淘系技术部用户增长团队

  1. 实习项目,问的很深,项目整体架构,ssh,mvc
  2. Spark常用函数接口,Spark SQL,DataFrame
  3. Scala相关问题
  4. HDFS相关问题,Client如何知道数据存储在哪
  5. 你知道的常见的数据结构,光说了List,Set和Map,面试官说红黑树?
  6. Map和HashMap的区别,面试官建议好好学习数据结构
  7. 写过MapReduce么
  8. MapReduce过程中Map和Reduce阶段发生数据倾斜怎么办?
  9. 机器学习掌握
  10. Java并发,面试官建议好好学习Java基础
  11. MySQL和MongoDB之类深入问题

淘系技术部用户增长团队

  1. Java中数据结构,平时学习中的数据结构
  2. JVM了解多少
  3. MapReduce过程,哪个过程比较重要,知道溢写
  4. Zookeeper的选举流程
  5. 机器学习算法
  6. 实习项目介绍

阿里妈妈淘宝联盟

  1. 介绍一下实习项目,挖得很深!模型关系如何存储,模型是什么,Kafka集群规模,Kafka实现原理,Kafka如何生产,如何消费
  2. Zookeeper如何Kafka选举,Zookeeper的作用
  3. 分布式一致性协议,Paxos算法和ZAB协议
  4. Kafka和ES之间如何处理脏日志,脏数据
  5. 关系型数据库MySQL和ES的区别
  6. 项目介绍,HDFS热点问题?并发问题?数据库主键?
  7. Spark Streaming原理
  8. MySQL索引
  9. 冒泡排序,希尔排序,归并排序时间复杂度,是否稳定
  10. 为什么选Kmeans算法
  11. Java内存模型,方法传递参数
  12. 垃圾回收算法
  13. Spring AOP实现
  14. Java并发常用关键字,JUC包下常用组件实现

阿里云块存储

  1. 进程与线程的对比,线程是如何调度的
  2. 进程的调度算法
  3. fork的子进程优先级,优先级是否可以调整
  4. CPU使用率过高如何定位,如何解决
  5. 进程之间通信方法
  6. 死锁产生的原因,如何预防死锁
  7. I/O如何落盘
  8. 数据库索引
  9. SQL执行过慢怎么办,作业中遇到过么?
  10. 快排
  11. 项目介绍,问的很深,数据流形式,技术如何选型,难点,数据库表如何设计,如何机器学习的评价,执行的时间,字段问题,数据可信度
  12. 不同数据库使用
  13. 实习项目,准备比较充分
  14. HDFS写流程,NameNode如何选取DateNode,写的时候第二个快网络错误怎么办,如何修复不完整的快
  15. Zookeeper选举流程

阿里云城市大脑

  1. 自我介绍
  2. MapReduce任务执行流程,Shuffle详细过程
  3. 实习项目介绍,Kafka的offset存储位置
  4. HashMap1.8插入过程

深信服大数据开发1面

  1. 说说你熟悉的设计模式
  2. 说说Zookeeper中影响比较深的设计
  3. 说说分布式一致性协议
  4. 说说实习项目,你在其中做了什么
  5. Elasticsearch副本分片
  6. 宽依赖窄依赖,Spark什么时候会提交任务,Spark看过源码么
  7. Kafka为什么高吞吐,消费组对Topic的消费
  8. Java NIO,Kafka零拷贝
  9. 用户空间和内核空间
  10. 分布式存储

深信服大数据开发2面

  1. 详细的实习经历,实习的收获
  2. 介绍Kafka架构
  3. 如何保证Kafka数据一致性
  4. 你觉得Kafka的性能瓶颈在哪,内存,磁盘I/O?
  5. Zookeeper在Kafka中的应用
  6. Spark项目介绍,项目难点
  7. Flink项目为什么会有收藏
  8. 如何实现LRU
  9. 海量数据聚合操作,判断海量数据由几个取值
  10. 介绍倒排索引
  11. JVM运行时区域

深信服大数据HR面

  1. 自我介绍,实习经历
  2. 家庭介绍
  3. 项目经历,经历最深的难点,同学合作,如何解决困难
  4. 研究生期间生活
  5. 学习规划,工作规划
  6. 性格
  7. 最大的冲突
  8. 别人对你最反感的地方
  9. 对深信服的了解

美团到店事业群1面

  1. 自我介绍
  2. 项目介绍
  3. 写SQL
  4. 冒泡排序
  5. equals 和 ==, ==值相等,地址相等
  6. isEmpty和size==0,效果一样
  7. 接口和抽象类的区别
  8. wait和sleep
  9. 为什么重写equals后需要重写hashcode
  10. linux下常用命令
  11. 进程与线程之间的关系
  12. 内存使用率为100%的原因
  13. 进程通信
  14. 死锁如何避免
  15. 前序遍历中序遍历和后序遍历的应用
  16. 如何计算1 + … + n,使用公式
  17. http,tcp和udp是哪层协议,tcp和udp有什么区别
  18. tcp如何保证可靠性
  19. cookie和session
  20. 数据库四大特征,原子性,隔离性,一致性,持久性
  21. 什么时候使用索引,什么时候不使用索引
  22. 联合索引
  23. 为什么使用B+树
  24. union和unionAll,left join和right join
  25. delete,drop,truncate
  26. explain
  27. 数据库和数据仓库
  28. 星型模型和雪花模型
  29. MapReduce过程,Shuffle过程,把部分会产生数据倾斜
  30. ES的分片,shard
  31. 倒排索引
  32. 如何学习新技术
  33. 哪部分表现的不好,自己的缺点

美团到店事业群2面

  1. 自我介绍
  2. 对大数据生态的介绍
  3. Kafka如何保证消息不丢不漏
  4. Kafka集群中宕机问题,不太理解问的是什么
  5. Zookeeper有啥用,集群为什么要选主?
  6. Zookeeper选主有啥优缺点?
  7. 数据库不同执行引擎
  8. 数据库底层join是如何实现的?
  9. SQL中的函数
  10. SQL优化,实践案例?
  11. 数据建模问题,如何设计数据库表,第一步抽象
  12. Spark项目介绍,遇到的问题,有什么亮点,有什么难点
  13. 你用过哪些设计模式

腾讯天美工作室1面

  1. 自我介绍
  2. 实习介绍
  3. 项目介绍
  4. 分布式一致性协议2pc,3pc,paxos,raft
  5. valotile
  6. 垃圾回收
  7. 强引用,弱引用,软引用
  8. 网络编程
  9. 继承和接口,什么时候继承,什么时候接口,可以多继承么
  10. 一个数二进制中1的个数
  11. 如何将.sort函数改为稳定排序
  12. 翻转链表
  13. 二叉树的最近公共祖先

腾讯天美工作室2面

  1. 自我介绍
  2. 实习介绍
  3. 进程和线程,多线程之间会共享什么,什么是线程私有的
  4. 线程同步
  5. Synchronized和ReentryLock
  6. 避免死锁,代码层面
  7. 进程通信
  8. 函数调用与系统调用,Linux如何进入内核态
  9. 中断,端对其,select
  10. equals和==
  11. hashcode,有啥作用
  12. StringBuilder和StringBuffer和String
  13. 静态方法里能引用非静态变量方法么
  14. ArrayList和LinkedList
  15. HashMap和TreeMap
  16. 集合里foreach里可以删除元素么,你怎么办
  17. TCP和UDP,TCP粘包
  18. 介绍Zookeeper
  19. 数据库范式
  20. 数据库索引,索引越多越好么
  21. explain
  22. 写个单例
  23. 类似单词搜索的DFS
  24. Top k
  25. 高考排名
  26. 游戏匹配机制,如何1000万条数据,你说了哈希,如果某台机器挂了呢

字节跳动Data1面

  1. 自我介绍
  2. 你对大数据的了解?
  3. HDFS 2副本 5副本的好处和坏处
  4. MapReduce实际问题
  5. HashMap介绍,红黑树,什么时候扩展
  6. 一个SQL的执行顺序,这条语句哪里可能会有性能问题
  7. 36进制加法

字节跳动广告系统1面

  1. 自我介绍
  2. Kafka如何保证消费的顺序性
  3. Kafka的partition,如何主从同步
  4. 最终一致性,如何达到最终一致性
  5. Zookeeper如何保证一致性
  6. 倒排索引
  7. 介绍MapReduce,Spark和Hadoop中的shuffle有什么区别
  8. 卷积有什么用,池化有什么用,没有池化会有什么后果
  9. 算法题[1, 0, 3, 2, 1, 0, 1]排序,如果是1-n呢
  10. 为什么选择大数据开发
  11. MySQL索引
  12. 两个特别大的文件做关联查询,怎么做
  13. ArrayList和LinkedList
  14. 跳表

字节跳动广告系统2面

  1. 自我介绍
  2. 介绍ZK和Kafka
  3. Zookeeper如何主从数据一致,ZAB协议
  4. 二阶段提交,三阶段提交,Paxos
  5. Kafka如何保证精确一次
  6. 实例,如何设计计算引擎select c1, countDistinct (c2) from index1 group by c1 where c2 < 3

字节跳动广告系统3面

  1. 自我介绍
  2. 彩票问题,我按水塘抽样写了,不知道对不对
  3. 解决过比较难的问题
  4. 企业开发流程有什么不同
  5. 集成测试有什么好的覆盖
  6. 未来的发展方向?

星环科技1面

  1. 项目介绍
  2. Spark Streaming运行流程
  3. 进程通信
  4. 网络模型
  5. TCP三次握手,四次挥手
  6. Redis为什么快
  7. 链表中间节点,判断有环,环的入口,链表相交
  8. HashMap的锁粒度,重回分段锁

星环科技2面

  1. 自我介绍
  2. Flink滑动窗口
  3. Spark和Flink的区别,有什么Flink做不到的Spark能做到?
  4. Spark GraphX,MapReduce如何实现聚类?
  5. ZAB协议
  6. Zookeeper权限管理
  7. Spring事务注解如何实现
  8. Synchronized
  9. 线程池,拒绝策略
  10. 设计模式
  11. JVM内存区域
  12. 实习介绍

星环科技3面

  1. 自我介绍
  2. 实习介绍,提交offset时挂了怎么办,重新消费消息?消息中有唯一id,kafka支持事务前的一些业界解决方案?如何确定partition的数量?
  3. 编程

蚂蚁金服大数据部1面

  1. 自我介绍
  2. 实习介绍
  3. Kafka的作用
  4. Kafka和其他MQ的区别
  5. 为什么Kafka高吞吐,为什么高性能
  6. 消费者组的概念
  7. Kafka解决重复消费
  8. Kafka如何保证消费顺序
  9. 类加载过程
  10. 双亲委派模型
  11. JVM内存区域
  12. equals和==
  13. 大数据无法加载进内存,如何求top10,如何是分布式环境下呢?
  14. 项目亮点,难点,优化
  15. transformation和action
  16. 如何理解Spark是基于内存的
  17. MapReduce和Spark的Shuffle区别
  18. 逻辑回归
  19. 数据倾斜,如何解决

蚂蚁金服大数据部2面

  1. 自我介绍
  2. 比较好的编程案例,实习吞吐量多大?
  3. Kafka基本架构
  4. Topic和Consumer Group,Group有啥好处
  5. Topic中数据partition分布不均匀怎么办
  6. Kafka数据实际存储方式,如何使用index查询具体log,log文件命名方式
  7. Kafka offset的存储
  8. ZK运行原理
  9. ES基本架构
  10. ES读写调优
  11. ES读数据过程,ES轮询,Kafka呢?用ES来做什么
  12. 实习项目数据流转
  13. HBase和Hive,为什么数仓用Hive
  14. HDFS基本架构,如何理解StandByNameNode
  15. HDFS读数据
  16. 物理隔绝的HDFS集群,你如何向管理人员申请端口
  17. 类加载过程
  18. 类加载器
  19. 双亲委派模型
  20. HashSet和HashMap
  21. HashMap1.8安全么,扩容过程,为什么扩容2倍
  22. 编程中印象最深的bug
  23. JVM内存区域
  24. 进程和线程
  25. Java创建线程的方式,有什么区别,Thread中start和run的区别
  26. wait和sleep
  27. Synchronized
  28. 什么时候Full GC,频繁Full GC有什么危害,如何解决
  29. 机器学习,决策树,信息熵,如何预防过拟合,KMeans,优缺点,逻辑回归,随机森林
  30. 算法题,数据中找到两个值的和是指定值

快手数据中台1面

  1. 编程:n个数中最小的k个数,让自己构建堆
  2. 编程:拓扑排序

快手数据中台2面

  1. 自我介绍
  2. 数据结构
  3. ArrayList和LinkedList
  4. List如何遍历,foreach和索引遍历区别
  5. 介绍Map,HashMap,什么时候会冲突,如何避免冲突,HashMap如何保证查询时O(1)
  6. 常见的树结构
  7. 二叉树中序遍历,递归如何实现,深度递归问题,如何避免深度递归,动态规划使用场景,分治和动态规划区别
  8. Java内存模型是什么?
  9. Volatile,和synchronized的区别
  10. AutoInteger,如何保证安全,多线程对它进行修改一定线程安全么,ABA会影响上面的结果么
  11. 螺栓螺母配对问题
  12. 编程:实现LRU

快手数据中台3面

  1. 自我介绍
  2. ZAB协议,和二阶段提交有啥区别
  3. Spark有啥好的编程实践
  4. Spark和Flink的区别
  5. 二维矩阵找到被0完全包围1的个数
  6. 单词集合,找到两个单词完全没有重复字母且乘积最大
  7. 计算根号n

3. 写在最后

春招不是结束,未来还有实习和秋招,还有很长的路要走,好好思考自己想要什么,如何持续学习,如何平衡工作和生活。
希望我们最终都能过上想要的生活。

你可能感兴趣的:(我的春招实习总结:已拿字节,快手,美团Offer)