【上岸经历】外包程序员花费3年成功上岸,上个月已成功入职字节跳动!(附上大佬的上岸经验)

前言

首先不得不说今年真的是情况极其复杂的一年,从年初的大规模裁员,到年中的复工大规模扩招,再到秋招的捡芝麻丢西瓜今年的程序员真的太难了,我们总是在抱怨996,可是那些被裁的996都没有了,说一些题外话,下面进入正题!这个秋招我是海投了简历,一边丰富自己的面试经验,一边也是给自己多一个选择!最后还是选择去了字节上岸!下面我会把我的面经以及资料都分享给打击,满满的干货给大家放下面了!

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点击这里备注csdn,自行下载即可!希望大家都能找到心仪的工作!

一面

  • 介绍一下自己, 为什么选择出来看看机会

  • 聊项目, 警报怎么做的, 统一接入监控项怎么做的

  • 聊项目, 配置中心项目, 问实时配置推送怎么做

  • 讨论为什么选择所有的组件依赖放在配置中心中控制

  • 我现在要做一个限流功能, 怎么做?

  • 这个限流要做成分布式的, 怎么做?

  • 怎么抢锁?锁怎么释放?

  • 加了超时之后有没有可能在没有释放的情况下, 被人抢走锁?怎么解决?

  • 不用 zk 的心跳,可以怎么解决这个问题呢?
    
  • 假如这个限流希望做成可配置的, 需要有一个后台管理系统随意对某个 api 配置全局流量, 怎么做?

  • 某一个业务中现在需要生成全局唯一的递增 ID, 并发量非常大, 怎么做?

  • 算法题, M*N 横向纵向均递增的矩阵找指定数

  • 有什么想问我的?

二面

  • 平时用的工具链和技术栈是什么?

  • golang 踩过坑吗?

  • 这段 golang 代码有没有 bug?

  • Java 中 HashMap 的存储, 冲突, 扩容, 并发访问分别是怎么解决的?

  • 拉链法中链表过长时变形为红黑树有什么优缺点?

  • HashMap 的并发不安全体现在哪?

  • HashMap 在扩容时, 对读写操作有什么特殊处理?

  • ConcurrentHashMap 是怎么做到并发安全的?

  • Java 有哪些锁机制, 分别有什么特点?

  • 知道 CAS 吗? Java 中 CAS 是怎么实现的?

  • MySQL 的存储引擎用的是什么?为什么选 InnoDB?

  • MySQL 的聚簇索引和非聚簇索引有什么区别?

  • B+树和二叉树有什么区别和优劣?

  • 针对一个场景设计索引,考察的是联合索引与列选择性的知识

  • 现有一个新的查询场景, 要怎么解决?

  • 假如要查 A in () AND B in (), 怎么建索引?

  • 查 A in () AND B in () 时, MySQL 是怎么利用索引的?

  • 假如查询 A in (), MySQL 是针对 N 个值分别查一次索引, 还是有更好的操作?

  • 用过 Redis 的哪几种数据结构?ZSET 是怎么实现的?

  • zrange start, stop, 总长度为 n, 复杂度是多少?

  • Kafka 的消费者如何做消息去重?

  • 介绍一下 Kafka 的 ConsumerGroup

  • Kubernetes 和 Docker 用得怎么样?

  • 时序型数据库的存储结构是怎么样的?

  • LSM 树了解吗? 是一种什么存储结构?

  • 在生产中用过 Cassandra 和 RocksDB 吗? 量有多大?

  • Cassandra 的墓碑机制是什么 ?

  • 算法题:牛客题霸上的原题,可以去看看:NC76用两个栈实现队列

三面

  • 聊项目和工作经验

  • 用 Kubernetes 的过程中踩过哪些坑?
    
  • 考虑一个业务场景: 头条的文章的评论量非常大, 比如说一篇热门文章就有几百万的评论, 设计一个后端服务, 实现评论的时序展示与分页

  • 假如用 id 翻页的方式, 数据库表如何设计? 索引如何设计?
    
  • 假如量很大, 你觉得需要分库分表吗? 怎么分?

  • 分库分表后怎么查询分页?

  • 分库分表后怎么保证主键仍然是递增的?

  • 现在需要支持深分页, 页码直接跳转, 怎么实现?

  • 瞬时写入量很大可能会打挂存储, 怎么保护?

  • 断路器内部怎么实现的?

  • 断路器会造成写入失败, 假如我们不允许写入失败呢?

  • 算法题: N 场演唱会, 以 [{startTime, endTime}…] 的形式给出, 计算出最多能听几场演唱会。用你最熟悉的语言把这个算法实现

  1. 你用了贪心法, 贪心可能会存在什么问题?

四面

  • 为什么离职?
  • 你觉得自己有什么可以拿出来讲的点吗?
  • 你做的主要工作有什么?最复杂的一个业务讲一下流程?
  • 并发度提100倍有哪些优化的点?
  • 限流怎么做的?令牌桶的算法实现?限流还有哪些方式?
  • 接口450ms 优化到了 360 ms怎么优化的?
  • tomcat只是修改了一下参数吗?
  • redis集群部署方式?主从和哨兵的区别?
  • 缓存方式还有哪些?
  • redis数据结构,string底层实现,跳表复杂度?
  • redis使用过程中出现过变慢的情况吗?
  • nginx后面的形态是怎么样的?
  • 网关层还了解什么技术?
  • 对自己的定位,技术发展?
  • 别人对你的评价?
  • 你有什么问我的?

总结

最后我为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。有需要的朋友点击这里备注csdn,自行下载即可!,作为开发人员来说,不说要求自己成为业内顶尖,但也要保证自己不被市场所淘汰,学习对于程序员来说是最基本的事情。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!

猜你喜欢

转载自blog.csdn.net/jiagouwgm/article/details/111416372