首页 > 后端实习面经,smartx,百度实习&字节跳动获offer
头像
liujiaxin
编辑于 2020-10-09 06:18
+ 关注

后端实习面经,smartx,百度实习&字节跳动获offer

面试记录

smartx

一面:

1.之前的实习学到了什么

2.一个按钮,点击自动过滤一周之内30w交易额以上的数据,如何测试?

3.数据结构的定义,常用的数据结构有哪些

4.矩阵,行和列的数字依次递增,给出数字k,判断其是否在矩阵里边

5.如何对上一个算法进行测试


在测试的过程中,没有考虑到特殊值可以先比较最大值和最小值;

或者只有一行数据时可以用二分查找


二面

1.自我介绍

2.算法题

1.如果一个单词通过循环右移获得的单词,我们称这些单词都为一种循环单词。

例如:picture 和 turepic 就是属于同一种循环单词。现在给出 n 个单词,需要统计这 n 个单词中有多少种循环单词。例如,给定单词组 ["picture", "turepic", "icturep", "word", "ordw"],

他们包含了 2 种循环单词,分别是 ["picture", "turepic", "icturep"] 和 ["word", "ordw"]。

这时你的函数应该返回 2

2.一个无序不重复的整数数组,给一个数值K,问有多少对对数之和为K?


存在问题:
给一个问题换一种解决方案,没有考虑到多种情况


有没有用过kvm虚拟化技术

稳定排序和不稳定排序

线程和进程区别

ARP协议在哪一层

静态链接和动态链接

数据库如何清除一个表中的数据

深拷贝和浅拷贝

一百万个数如何以最高效的方法获取前一百个数字

数据库索引为什么会快

b+树

二面凉

百度

一面

自我介绍

聊一个项目

用了一些什么算法


项目的数据库有哪些表,用了哪些索引

索引是如何实现的

用的什么数据结构?为什么用b+树不用b树

数据库事务四个特性,四个隔离级别

锁机制,什么情况下使用什么锁

数据库MVCC



cache缓存

redis等这些


加密模块是怎么实现的

LRU算法的实现


Restful 介绍

Post和get方法区别,携带数据大小

Http报文格式

TCP 三次握手 主要表达携带的序列号

Osi七层模型简要介绍


进程,线程和协程的区别

内核切换开销有哪些

系统调用是什么

Go协程的底层实现机制

Go的同步,也就是chan


100行数字,每行1000个数字,按照从小到大的顺序排序

找最大的一百个数


排序算法实现:快速排序,堆排序


二面

自我介绍

死锁

Https原理,是公钥加密还是私钥加密,公钥私钥区别是什么

说一下哈希,以及查找的时间复杂度


算法:

二分查找,二分查找重复数字,o(logn)下查找重复数字

正则匹配

冒泡和快排的时间复杂度


Json下如果要用小写要怎么定义结构体


Linux常用命令,查找文件中的一个字符串


说一下对MVC的理解

问了项目相关


给了两个数字进行异或计算

百度通过

字节

一面 &二面

自我介绍

问项目

数据库:

索引实现,唯一索引,主键索引

锁机制

  • Mysql的存储引擎有了解吗


操作系统:

进程线程,协程

Python的多线程和go的协程

协程如何进行同步处理


字典如何实现的

用链表解决冲突的话,也会造成链表过长的情况,可以怎么优化?可以换成树吗


爬虫selunium如何爬到数据的

怎么实现这个反爬


Https为什么更安全

Tcp三次握手和四次挥手,为什么要设置一个定时时间

为什么建立连接只要三次


三面

项目

数据库存储引擎

索引

python和golang觉得有什么区别

golang觉得哪里好

协程哪里好!为什么




三面分别三个题

给出一个分子式,比如: HMg2(H2O(N3Ag)2)3N2 计算这个分子式中每个原子出现了多少次,输出一个 map,比如上面的分子式中: mapstringint {"H": 7, "Mg": 2,"Ag": 6, ...}

  1. 都以大写字母开头,后面跟 0 个或者 1 个小写字母,比如 Mg, H 2. 单个原子后面跟 0 个或者 1 个数字表示它出现的次数,比如 Mg2 表示 Mg 出现 2 次,数字范围 2-9
  2. 分子式中可能有括号,括号后面可能跟 0 个或者 1 个数字表示整个括号内的原子出现的次数,比如 (N3Ag)2 表示 N出现 6 次,Ag 出现 2 次 4. 括号可以嵌套
  3. 输入是合法的


深度复制链表

给定一个单向链表,节点数据结构如下,除了包含一个next指针,还有一个rand指针,随机指向链表中的某一元素,或者为空指针。实现一个函数,深复制这个链表。

struct Node {

int val;

Node* next;

Node* rand;

}


给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。


说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。



示例 1:

给定 matrix =

[

[1,2,3],

[4,5,6],

[7,8,9]

],


原地旋转输入矩阵,使其变为:

[

[7,4,1],

[8,5,2],

[9,6,3]

]

字节通过,明天正式入职~~








更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐