字节跳动成立于2012年3月,是最早将人工智能应用于移动互联网场景的科技企业之一,字节以建设“全球创作与交流平台”为愿景,产品和服务已覆盖全球150个国家和地区。
字节跳动在中国互联网企业独树一帜,与百度,腾讯展开竞争的同时,大力扩充自己的研发团队。招兵买马的同时,薪酬也非常可观,想要进入字节的同学,可以收藏!评论!这篇面经了~
大厂的面试学历永远是一个敲门砖,但是对于上班族来说根本没时间进行备考考研,海外留学的话浪费了黄金时间好坏很难估量,所以在线硕士就突出了起来,一上来就去申请肯定是欠妥的行为
现在美国名校伊利诺伊理工大学2022年春季招生,中国区专属体验营来了,体验一下在线计算机硕士的福利待遇吧!全程免费!限时两周,限30名!点击下方链接,锁定体验营资格吧!
一面(65min)
1. 聊项目
2. 是否做过压测,怎么做的
3. 聊分布式中间件
4. 做题(1)链表内指定区域反转
5. 做题(2)设计LRU缓存结构
6. 反问
其中在LRU缓存结构方面,给大家分享一下题目解析。
描述
设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能:
set(key, value):将记录(key, value)插入该结构
get(key):返回key对应的value值
示例
输入:[[1,1,1],[1,2,2],[2,1],[1,3,3],[2,2],[1,4,4],[2,1],[2,3],[2,4]],2
返回值:[1,-1,-1,3,4]
备注
1≤K≤N≤10
5
−2×10
9≤x,y≤2×10
9
二面(60min)
1. 为什么转行(我是通信工程专业)
2. 聊分布式的一些概念
3. 做题(1)给一个二维数组,行列都是有序的,求出数组中小于等于K的数字数量
4. 做题(2)对于xx/xx的WDL模型
5. 反问
二面我是一边和面试官交流想法一边写的代码,后续从HR那里得知我的二面评价很高。所以建议大家面试的时候可以多跟面试官沟通,让他看到你思考的过程。
在二面谈到了模型相关,这里给大家分享一个软件工程的经典瀑布模型:
经典瀑布模型是基本的软件开发生命周期模型,这是非常简单但理想化的。早些时候,这种模型非常流行,虽然现在已不再使用,但它非常重要,因为所有其他软件开发生命周期模型都基于经典瀑布模型。
经典瀑布模型的不同顺序阶段如下图所示:
其每个阶段功能大致如下:
-
可行性研究:此阶段的主要目标是确定开发软件在财务和技术上是否可行。
-
需求分析和规格说明:需求分析和规格说明阶段的目的是了解客户的确切要求并正确记录它们。
-
设计:设计阶段的目的是将 SRS 文档中指定的要求转换为适合用某种编程语言实现的结构。
-
编码和单元测试:在编码阶段,使用任何合适的编程语言将软件设计翻译成源代码。
-
集成和系统测试:不同模块的集成在编码和单元测试后立即进行。
-
维护:维护是软件生命周期中最重要的阶段。用于维护的工作量占开发完整软件总工作量的 60%。
三面(45min)
1. 面试官先介绍了部门
2. 询问了我的职业规划
3. 开始面试
4. 做题(1)多线程,做稀疏矩阵和稠密矩阵的相乘
5. 反问
三面提到了稀疏矩阵和稠密矩阵,我们给大家分享一下在大家熟知的Python语言中,如何创建稀疏矩阵。
首先如果矩阵的大多数元素的值都为0 ,则称为稀疏矩阵:
-
存储:非零元素少于零,因此可以使用更少的内存来仅存储这些元素。
-
计算时间:可以通过逻辑设计仅遍历非零元素的数据结构来节省计算时间。
稀疏矩阵通常用于应用机器学习,如包含数据的编码该地图分类计数数据,自然语言处理(NLP)。
例子
0 0 3 0 4
0 0 5 7 0
0 0 0 0 0
0 2 6 0 0
用二维数组表示稀疏矩阵会导致大量内存的浪费,因为矩阵中的零在大多数情况下是没有用的。因此,我们只存储非零元素,而不是用非零元素存储零。这意味着用三元组(行、列、值)存储非零元素。
Python 的SciPy提供了使用多种数据结构创建稀疏矩阵的工具,以及将稠密矩阵转换为稀疏矩阵的工具。函数csr_matrix()用于创建压缩稀疏行格式的稀疏矩阵,而csc_matrix()用于创建压缩稀疏列格式的稀疏矩阵。
# 使用 csr_matrix()
句法:
scipy.sparse.csr_matrix ( shape=None , dtype=None )
参数:
shape:获取矩阵的形状
dtype:矩阵的数据类型
示例
# Python program to create
# sparse matrix using csr_matrix()
# Import required package
import numpy as np
from scipy.sparse import csr_matrix
# Creating a 3 * 4 sparse matrix
sparseMatrix = csr_matrix((3, 4),
# dtype = np.int8).toarray()
# Print the sparse matrix
print(sparseMatrix)
输出
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
三面结束,字节的面试过程就结束了,感谢您的阅读.