很多同学反馈多搞点面经,说来就来!

今天分享一位拿到字节跳动实习Offer的面经,没错,Java转Go

别问我选Java还是选Go,成年人不做选择题。先搞定一个语言,再学第二语言从来不是难事。

无论学哪个,你要做的事情是先学起来:想都是问题,学才有答案!

面经分享

本文没有按照一面、二面、三面流水账的形式整理。

而是把面试中碰到的问题,按种类划分汇总:算法题、数据结构、操作系统、数据库、缓存、计网、场景题等等,这样对大家应该更有帮助!

一、算法题:

  1. 给定一个字符串abcdabgh,给个字符a,随机返回a下标,比如这个是0 4。要求返回的概率必须一样,空间复杂度要求O1即不能开任何空间存储下标,并且只能遍历一次。

  2. 给定n个骰子,和为k的概率,不能用回溯。

  3. 给一个数字比如234,给个数组比如{2,3,7},找出第一个不大于234的数,比如这个是233,有几种情况我记得是,这里用到了有序表我写的时候。

二、八股文

不全,比较简单的我就没整理了...

数据结构:

  1. 堆和树的区别?应用场景?

  2. 二叉搜索树是什么?

操作系统:

  1. 进程之间的通信方式?写个死锁?怎么解决?

  2. 操作系统内存满了怎么办?如何回收?有什么影响?

  3. 什么是僵尸进程?应该怎么去操作?

  4. 为什么会有线程安全的问题,如何解决?

  5. 说一下乐观锁和悲观锁?说一下CAS?aba问题是什么?如何解决?

MySQL:

  1. 索引构成?(B+树)索引优化?给个sql让判断走索引的情况?

  2. 什么是慢sql,如何查找,如何优化?

  3. 三大日志,我记得好像有个问题是redolog写进去了,但是有个bin log没写进去该怎么办?(具体的我忘了,我没回答好)讲write还有flush区别?redo log刷盘时机?三大日志的执行顺序?

  4. mysql的事务隔离级别?各自解决了什么问题?mvcc的流程

Redis:

  1. 问了zset的底层?为什么不用红黑树?(这是我自己引得,我傻了自己说了一句没用红黑树,用的是跳表)

  2. redis里面的命令行比如setnx和setex 还有zset里面的

  3. redis的key有大小的限制吗?有什么影响?怎么办?

  4. redis的内存淘汰策略?(面试的时候一直想不起来 一直背了半天旁路缓存那些东西 我以为凉了的)

  5. 根据score查member的时间复杂度?反过来根据member查score时间复杂度?

计算机网络:

  1. http常见的方法和状态码有哪些?

  2. 502是什么错误?如何排查问题?

  3. 讲一下反向代理?

场景设计:

  1. 敏感词库的设计,要求增删改查敏感词。敏感词文本匹配,敏感词一万个,文本长度20-10000这样子。

  2. trie树什么的都回答了,开什么几个线程这样子,我也是各种瞎说,后面问我在这里面怎么存储持久化,给出方法,redis里面存储如果宕机了怎么办有个节点?这一块真的虚,我也不知道怎么办,感觉面试官很厉害,我给的方案他好像都否定了,说我的方案一天宕机几分钟怎么可能行?

三、项目和实习

也有一些闲聊没有写进来...

  1. 微信扫码登录流程?后面的原理你了解吗?(准备了很久的Oauth2总算碰到了开心)csrf是什么?怎么解决的?

  2. 项目难点(之前登录日志是同步写入库的 后来为了提升效率加入了队列 先写队列后消费入库 做解耦 但是队列用了同步操作 有一次mq挂了 导致登录服务不可用 这种是不可接受的 记日志不能影响登录 所以将其改为了异步方式)

  3. 订单30分钟取消,延时消息这里(这个是我自己引申的,我包装了一下,我把mq的18个队列讲了一下,也讲了一下kafka的时间轮)

  4. 你实习用的什么语言?go的协程里面出现panic怎么办?defer讲一下?gmp模型了解吗?

一起进步

独行难,众行易,如果你想和我们一起组队学Go,欢迎加入我们的小圈子一起刻意练习,结伴成长!

微信号:wangzhongyang1993

公众号:程序员升职加薪之旅

也欢迎大家关注我的账号,点赞、留言、转发。你的支持,是我更文的最大动力!

噢耶!字节后端Offer,拿到了的更多相关文章

  1. 春招后端阿里腾讯字节美团Offer拿来吧你,面试经验分享

    近期很多童鞋在准备校招了,找了蚂蚁的一位童鞋,给大家分享一波面试经验,以及面试心得,希望能帮大家在秋招拿到一个好结果 我自己的22届春招实习算是告一段落,给自己做个总结,也给大家分享一下面试的一些心得 ...

  2. 5面终于拿到了字节跳动offer! 鬼知道我经历了啥...

    坐标北京,某211本科毕业生,之前学校活动有去过字节跳动公司总部参观,所以一直以来就蛮想进入字节工作的,被字节的企业文化和工作氛围所影响.字节作为发展速度最快的互联网公司,旗下的很多产品的用户都比肩B ...

  3. 我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

    前言 怎样的契机? 实际上,目前毕业已经两年时间了,在大学时就已经开始关注字节跳动的发展.一开始,我是电气自动化专业的,大二清楚目标之后就转计算机了,大四进了一家小型的互联网公司实习,具体就不说哪家了 ...

  4. 面试必看!凭借着这份 MySQL 高频面试题,我拿到了京东,字节的offer!

    前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面 ...

  5. 2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?

    前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想 ...

  6. 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结

    2013年5月3号,开始找IOS开发工作(自学了大半年,做了一个功能不全的Demo,该出去见见世面了!),5月4号面试了第一家公司(是家刚成立一段时间的外包公司),5月5号第一家公司已二轮电话面试,5 ...

  7. 【转】如何在CentOS/RHEL中安装基于Web的监控系统 linux-das

    Linux-dash是一款为Linux设计的基于Web的轻量级监控面板.这个程序会实时显示各种不同的系统属性,比如CPU负载.RAM使用率.磁盘使用率.网速.网络连接.RX/TX带宽.登录用户.运行的 ...

  8. 所有设计复杂的ORM都是浮云

    很久没有写文章了. 一直很忙,不是很有时间整理. 今天主要是来吐槽下那些设计很复杂的ORM的. 项目做的越多,越觉得ORM这个东西设计的太复杂实在是没什么意义. 比较推崇Dapper这样比较简单,效率 ...

  9. 20145222 黄亚奇 《网络对抗》Exp8 Web基础

    20145222 黄亚奇 <网络对抗>Exp8 Web基础 实践具体要求 (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法 ...

  10. 【第二十三期】春招实习阶段性总结(阿里云已OC)

    本人算是一个半路出家找工作的菜鸡了,现在手中阿里云云原生offer.百度度小满offer.腾讯PCG二面环节.美团点评等offer环节.希望我的经历分享能对各位或之后准备春招的同学有帮助. 个人背景 ...

随机推荐

  1. 洛谷 P7579 「RdOI R2」称重(weigh) 题解

    题意: 题目 一道交互题. 有 n 个球,里面有两个假球,假球比普通球的要轻,每次可以询问任意两组球的轻重关系,第一组轻为 < ,第二组轻为 > ,一样重量为 = . 思路: 先考虑在一个 ...

  2. FPGA加速技术:如何提高系统的可编程性和灵活性

    目录 <23. FPGA加速技术:如何提高系统的可编程性和灵活性> 一.引言 随着人工智能.物联网等新技术的快速发展,对计算资源和处理能力的需求不断增加.为了加速计算流程和提高系统的性能, ...

  3. celery笔记九之task运行结果查看

    本文首发于公众号:Hunter后端 原文链接:celery笔记九之task运行结果查看 这一篇笔记介绍一下 celery 的 task 运行之后结果的查看. 前面我们使用的配置是这样的: # sett ...

  4. 前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目

    前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugi ...

  5. 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【三】

    682. 棒球比赛 题目链接 682. 棒球比赛 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你 ...

  6. Codeforces Round #880 (Div. 2) A-D

    A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int cnt[107]; bool so ...

  7. 国内可用的GPT4镜像站

    我做了个镜像站,GPT4的费用目前太贵了. 虽然做了个低价的月费,但基本上亏本在做,接口的实际费用高出太多. 运行了1个月,每天有几十人在用吧. 有兴趣的可以收藏一下 GPT4的验明正身的问题&quo ...

  8. 【Redis】字符串sds

    sds,即 Simple Dynamic Strings,是Redis中存储绝大部分字符串所采用的数据结构. typedef char *sds; 一.类型 sds的类型包括SDS_TYPE_5, S ...

  9. 理解TCP3次握手

    以AB通话为例 A的视角 A给B打电话,进入SYN_SENT B接起电话,A确认后,进入ESTABLISHED B的视角 看到A打过来的电话,接起电话,进入SYN_RCVD 确认对方后,进入ESTAB ...

  10. Mapbox—geocoder搜索地点error eaching the server

    Mapbox-geocoder搜索地点error eaching the server --There was an errorr eaching the server 环境说明: vue3.3.4 ...