分享
  1. 首页
  2. 文章

2020 Golang字节面试经验分享

阿俊 · · 5046 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

file
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+树和跳表有点相似,可以直接查找下一级
  • 为什么不用其他的数据结构?
因为如果数据量特别大的时候,大数据量查找会影响性能,B+树恰好解决了这个问题
    4.3这段数据库应该怎么加索引速度最快
    select * from table_name where c> 10 and a = 10 and b = 10;
    首先我们应该优化只查询的值,可以把*改为需要查询的key
    因为c是动态的,可以根据a和b加联合索引,达到速度最优
    5 项目相关
    项目中的爬虫你用到了什么框架
    • 框架有什么用
    • 高并发怎么做的,有微服务吗
    • 如果要做分布式的,怎么实现
    用kafka实现,抓取数据统一使用kafka进行消费
    • 存入哪些信息
    存入列表
    • 你们没有做查找功能吗
    没有,如果有这个需求可以存储到ES,使用es进行查找
    6 你还有什么要问的
    大概什么时候有结果
    • 五个工作日内答复

    公众号


    有疑问加站长微信联系(非本文作者)

    本文来自:Segmentfault

    感谢作者:阿俊

    查看原文:2020 Golang字节面试经验分享

    入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

    关注微信
    5046 次点击 ∙ 2 赞
    暂无回复
    添加一条新回复 (您需要 后才能回复 没有账号 ?)
    • 请尽量让自己的回复能够对别人有帮助
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
    • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
    • 图片支持拖拽、截图粘贴等方式上传

    用户登录

    没有账号?注册
    (追記) (追記ここまで)

    今日阅读排行

      加载中
    (追記) (追記ここまで)

    一周阅读排行

      加载中

    关注我

    • 扫码关注领全套学习资料 关注微信公众号
    • 加入 QQ 群:
      • 192706294(已满)
      • 731990104(已满)
      • 798786647(已满)
      • 729884609(已满)
      • 977810755(已满)
      • 815126783(已满)
      • 812540095(已满)
      • 1006366459(已满)
      • 692541889

    • 关注微信公众号
    • 加入微信群:liuxiaoyan-s,备注入群
    • 也欢迎加入知识星球 Go粉丝们(免费)

    给该专栏投稿 写篇新文章

    每篇文章有总共有 5 次投稿机会

    收入到我管理的专栏 新建专栏