21

2020 Golang字节面试经验分享

 4 years ago
source link: https://studygolang.com/articles/28066
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

evernotecid://F7D66F83-C908-41AB-8BA1-212655E5AB4A/appyinxiangcom/16139346/ENResource/p8259 b2eIfiE.png!web

2020年4月份字节跳动后端面试经验

第一面

  • 远程使用牛客网进行面试
  • 面试官首先介绍说会有几轮面试

算法题 1.1

将整数转换二进制

算法题 1.2 买卖股票的最大利润

给定一个数组代表股票每天的价格,请问买卖多次的情况下,最大化利润是多少?

日期不重叠的情况下,可以买卖多次?

输入: {100, 80, 120, 130, 70, 60, 100, 125}

可以买卖多次: 115(80买进,130卖出;60 买进,125卖出)

提示:不用输出买卖的序列,只需要得到最大利润

  • 时间复杂度是多少
  • 空间复杂度是多少

判断题

2.1 这段代码有什么问题,如果解决

total := 0
for i := 1; i <= 10; i++ {
    sum += i
    go func() {
        total += i
    }()
}
fmt.Printf("total:%d sum %d", total, sum)

这段代码在协程里面执行,会造成数据不统一

  • 怎么样加锁?代码实现一下

代码如下:

var lo sync.Mutex
func main() {
    total := 0
    for i := 1; i <= 10; i++ {
        nums += i
        lo.Lock()
        go func() {
            total += i
            lo.Unlock()
        }()
    }
    fmt.Printf("total:%d", total)
}
  • 还有其他问题吗

3 其他考核

3.1HTTP状态码

400 500状态码

HTTP报文格式

不清楚···

3.2HTTP请求方式

GET获取 POST创建 PUT修改 DELETE删除

  • get post有什么区别

个人主要说了get相对没有post安全,所有的参数都放在URL上面,post会把参数包装成一个请求体

  • 抓包post和get有什么区别

url中会附带GET请求的一些参数,抓包都能看见,都是明文传输,而POST的在url中则看不到

更好的答案: https://www.zhihu.com/questio...

4 数据库

4.1 mysql事务

事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务

  • 隔离级别有哪几种

~

4.2 MySQL数据库索引是如何实现的?

使用的B+树实现的

  • 为什么不用其他的数据结构?

因为如果数据量特别大的时候,大数据量查找会影响性能,B+树恰好解决了这个问题

4.3这段数据库应该怎么加索引速度最快

select * from table_name where c> 10 and a = 10 and b = 10;

首先我们应该优化只查询的值,可以把*改为需要查询的key

5 项目相关

项目中的爬虫你用到了什么框架

  • 框架有什么用
  • 高并发怎么做的,有微服务吗
  • 如果要做分布式的,怎么实现

用kafka实现,抓取数据统一使用kafka进行消费

  • 存入哪些信息

存入列表

  • 你们没有做查找功能吗

没有,如果有这个需求可以存储到ES,使用es进行查找

6 你还有什么要问的

大概什么时候有结果

  • 五个工作日内答复

2aaa6b3.png!web

欢迎关注我们的微信公众号,每天学习Go知识

FveQFjN.jpg!web

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK