腾讯TEG云架构后台开发实习面经

offer: 后台开发实习工程师,在TEG云架构平台组负责NoSQL存储平台的研发,base深圳。

一面

  1. 自我介绍

  2. 问项目:

    • 旅游大数据项目:
      • 项目内容以及自己负责的部分
      • 为什么采用HBase存储数据
      • 在项目中对比过HBase和MySQL的性能表现吗
      • 基于HBase的时空数据索引是怎么设计的
      • 数据获取方式
      • 数据都存了哪些字段
      • 了解MySQL吗
    • 区块链项目:
      • 项目内容以及自己负责的部分
      • 怎么实现区块的互连
      • Merkle树构建方式
      • 集群通信怎么实现
      • 怎么实现一个节点向所有节点发消息
      • 数据怎么存储
  3. 计网:

    • 三次握手
    • 四次分手
  4. 编程语言:

    • 会不会C/C++
    • Java的HashMap和HashTable的区别
    • Java实现线程安全的机制
  5. 操作系统:

    • Linux查看CPU/内存占用情况的命令
    • Linux查看端口占用情况的命令
    • Linux查看磁盘存储情况的命令
    • ……
  6. 设计模式了解吗(不了解)

  7. 数据结构与算法

    • 都熟悉哪些数据结构
    • 熟悉优先队列吗
    • 腾讯在线文档手写快排
    • 简述快排的思想
    • 快排和分治法的对比
    • 阐述快排的时间复杂度
  8. 其他:

    • 从什么时候开始学自己的这套技术栈
    • 学校教了哪些课程
    • 平时逛哪些网站
    • 有什么问题要问他的(我问了他负责的部门,对我的建议,对我面试的评价):
      • 面试官在TEG云架构组做海量数据存储,总体评价良好,建议多学习C++、数据结构和操作系统

二面

  1. 目前的学业情况以及将来的安排
  2. 自己从什么时候开始有意识学习自己的技术体系
  3. 学习过程中都看了哪些书籍
  4. 除Java外还会什么编程语言
  5. C的结构体对齐
  6. 协程
  7. 项目中在后端开发方面做了什么工作
  8. Spring和SpringBoot的区别
  9. 在项目中怎么对接后端和前端
  10. HBase数据备份几份
  11. HBase备份的数据出错该怎么恢复
  12. HDFS怎么实现删除
  13. 谈一下学习过程中对你影响最大的人
  14. 对他有什么想问的(心里感觉凉透,贼不要脸的问了后面还有面试吗,面试官居然淡定说等HR再问你点后续问题吧……)

HR面

  1. 将来的规划
  2. 对工作的理解
  3. 老家在哪

前期自己准备的考点

  1. 旅游大数据项目:

    • 客流统计阐述(如何使用HBase)
    • 舆情分析阐述
  2. 区块链项目:

    • 公有链、联盟链、私有链阐述
    • SHA-256等各种加密算法
    • Merkle树
    • WebSocket协议
    • P2P
    • PBFT算法
  3. HBase数据库与大数据:

    • HBase全分布搭建流程
    • HBase内存配置优化
    • Hadoop架构
    • Hadoop高可用
    • HBase索引算法(各种树)
    • Z曲线
    • GeoHash(Base32编码)
    • 读写阻塞
    • 朱丽叶暂停
    • NTP/crond
    • HBase架构
    • LSM树
    • B+树
    • WAL
    • 读机制
    • 写机制
    • BlockCache缓存
    • Region拆分与合并
    • HFile合并
    • Zookeeper架构与机制
    • MapReduce原理和代码
  4. Java:

    • Java多线程通信机制
    • 进程间通信
    • 线程池
    • Java线程安全
    • Java集合继承关系
    • HashMap
    • HashTable
    • HashTree
  5. 操作系统:

    • 进程线程区别
    • Linux内核线程
    • 进程同步
    • 线程同步
    • 死锁
    • 进程状态
    • 线程状态
    • 进程调度策略
    • 分页和分段
    • 页面置换算法
    • 虚拟内存
    • 颠簸
    • 局部性原理
    • 常用Linux命令
  6. Java后端:

    • SSM
    • Spring完整交互流程
    • IOC
    • Linux服务器上部署Java后端
    • AOP
  7. 计网:

    • 三次握手
    • 四次分手
    • 常考报文内容
    • Http与Https
    • DNS
    • 拥塞控制
    • 阻塞I/O网络编程
    • 非阻塞I/O网络编程
    • select网络编程
  8. 数据结构:

    • 二分查找
    • 基本排序
    • 快排、归并、堆排
    • 二叉树
    • 算法时空分析
    • 分治法
    • 图遍历
    • 字符串算法
    • 各种进制转换及编码实现
  9. JVM:

    • Java运行时数据区域
    • 程序计数器
    • JVM栈
    • 本地方法栈
    • 方法区
    • 运行时常量池
    • 直接内存
    • 垃圾回收
    • 判断对象是否可回收
    • 引用类型
    • GC算法
    • 垃圾回收器
    • 内存分配与回收策略
    • Minor GC与Full GC
    • 内存分配策略
    • Full GC触发条件
    • 类加载机制
    • 类生命周期类加载过程
    • 类初始化时机
    • 类与类加载器
    • 类加载器分类
    • 双亲委派模型
    • 自定义类加载器实现

写在最后:

能收获鹅厂offer是我不敢奢求的结果,一个月前才开始准备,很多东西都是临时东拼西凑学来的。由于前半学期疲于考雅思(还没通过),我比周围的小伙伴准备的都晚,又赶上期末考试周,看着别人愉快的收获offer,生活和心理上都充满了极大的压力。真正的勇士,是知其不可而为之,最后的结果如何,不拼怎么知道。准备实习是一场遇强则强的战斗,越是发现自己有缺点,越是尽力去弥补,然后会发现更多的缺点,抓住每一个能完善的机会,直到面试开始的前一秒都不要放弃。非常感谢周围帮助过、鼓励过我的人,是他们一次次把我从崩溃的边缘拉回。这份面经送给未来准备实习的朋友做参考,相信你们一定可以成功。

0%