「第三十八期」字节跳动后台开发二面凉经

简历上写了C++和golang,所以两个语言都涉及了一面:golang如何设计一个生产者消费者的模型对channel和goroutine的理解字符串实现减法快速排序c++虚函数进程的通信方式死锁二面:Linux的几个操作找出二叉树中的某路径,使其和为定值二叉树转为双向[表CPU调

大白话 golang 教程-09-深入学习函数调用

它的编写套路通常是: 比普通的线性递归函数多一个参数,用这个参数来保存上一次调用函数得到的结果,修改上面的阶乘:它计算 6 的过程如下:不过对 factor2 和 tailFactor 进行基准测试,发现它们的性能差别好像并不大:看起来 go 的编译器并没有对尾递归进行优化,要确定的话需要把这两个函数单独写成文件,反编译出汇编代码看看他们是否有区别:忽略开头和尾部检查栈扩容的代码,两者的核心代码没有区别区别,关于 go 汇编的知识请跳到 29 节查看,如果加大参数会发现 2 个版本都会栈溢出:很多时候在函数返回之前,都需要清理释放资源,比如我们打开文件处理完之后应该关闭它。

大白话 golang 教程-07-单元测试和重构

在前面的例子中,我们需要依靠在 main 函数中调用包内的函数,根据 fmt.

负载均衡 | 一致性hash算法

讲一致性hash算法前,先简述一下求余hash算法:hash(object)%N一个缓存服务器宕机了,这样所有映射到这台服务器的对象都会失效,我们需要把属于该服务器中的缓存移除,这时候缓存服务器是 N-1 台,映射公式变成了 hash(object)%(N-1) ;由于QPS升

golang编程的淫巧

在座的看看官,首先,本文毫无技术含量,只是作者做个放置忘记的参考笔记用的,所以,你们还是别往下看了!谢谢!我们如果查看过go源码的一般都会看到有 //go: xxx 之类的注释。那么这种注释到底是干嘛用的呢?

Golang引入泛型:Go将Interface「」替换为“Any”

空接口可以表示任何类型,因为每种类型都固有地实现了一个没有方法的接口。一旦您开始使用泛型,会开始感受到在编写 interface{} 的痛苦,尤其是在您处理这样的函数时:使用any替代interface{}后就简洁:之前C++、Java、JavaScript、Python、Ruby、Rust都支持泛型,现在Golang也加入泛型支持。

深度解密Go语言之反射

可能是编辑者觉得这篇文章称不上“深度解密”,把标题给小小地改动了下,哈哈~~在开发者头条 APP 上收获了 150 收藏,并被推荐到首页最显眼的 banner 位置,阅读量达到了 1w 多,只是不知道这个数字是否是真实的,有点难以相信。

Go语言极简教程 – 第三篇 基础类型

布尔类型Go语言中布尔类型关键字为bool,其仅有两个字面量值:true和false。varpassed=true//声明一个变量,并显式初始化true,编译器自动推断为bool类型。

该如何选择一门后端编程语言?

该如何选择一门后端编程语言?很多人想从事程序员职业时都会纠结应该怎么选择编程语言去学习,目前主流编程语言有c、c++、java、python、php和golang等…,每门语言的应用领域都不同,薪资待遇也有所差异。在这一切开始前,好好思考是否真热衷于编程?

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

大家好,我是Spring小杨,一个有梦想的Java司机。就是之前服务器上用的是mysql数据库,因为小公司嘛,也没有专门的运维。