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

今天分享一位拿到字节跳动实习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. 体验了一把 MiniGPT-4,一言难尽

    最近看到一个好玩的开源项目:MiniGPT-4. 看名字像 GPT-4 的小老弟,其实没啥关系. 简单说,它可以识别图像,基于图像你可以和它对话,它能生成图片描述.网站.诗歌. 先看看官方给出的例子截 ...

  2. Kubernetes 1.27.2集群安装

    基础环境 系统Ubuntu 22.04.2 | 主机名称 | IP | | ----- | -------- | | k8s-master | 192.168.198.141 | | k8s-node ...

  3. Aerospike架构设计与实现细节

    目录 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍 2.3. 相关技术比较 3. 实现步骤与流程 3.1. 准备工作:环境配置与依赖安装 3.2. 核心模块实现 3 ...

  4. 论文翻译:2021_Real-Time Denoising and Dereverberation wtih Tiny Recurrent U-Net

    论文地址:微型循环U-Net实时降噪和去混响 论文代码: https://github.com/YangangCao/TRUNet https://github.com/amirpashamobini ...

  5. Winform 巨好看的控件库推荐:MaterialSkin.2

    MaterialSkin.2 控件包是在 MaterialSkin 及基础上二次开发而来的,在原控件基础上修复了一些Bug,丰富了主题以及动画效果,效果非常好. MaterialSkin.2 现在处于 ...

  6. 推荐一款.NET开源跨平台的开箱即用的DNS服务器软件

    前言 今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server. 项目介绍 Technitium DNS Serve ...

  7. 配置k8s拉取Harbor镜像

    创建Secret # 认证名称为:docker-harbor-registry kubectl create secret docker-registry docker-harbor-registry ...

  8. P2709 小B的询问题解

    本题需要用到莫队算法 关于莫队算法 莫队算法是一种离线算法,适用于序列中统计区间特定的目标的问题. 时间复杂度通常是 \(O(n \sqrt n)\) 或更高. P2709 小B的询问 点击查看原题 ...

  9. Maven配置私有仓库

    前言   当公司或个人具有自己独有的jar时,不想公开,一般就会放在自己的私有Maven仓库中,在项目中需要引用,此时就需要将公司私有仓库配置到maven当中,一般我们的maven配置的都是aliyu ...

  10. Win10 下 tensorflow-gpu 2.5 环境搭建

    Win10 下 tensorflow-gpu 2.5 环境搭建 简介 机器学习环境搭建,tensorflow_gpu-2.5.0 + CUDA 11.2 + CUDNN 8.1 :环境必须是这个,具体 ...