最新字节跳动面试题与岗位层级,绩效考核制度介绍

最新字节跳动面试题与岗位层级,绩效考核制度介绍1.算法题一:无序数组的中位数 (快排思想O(N) 时间复杂度)2.算法题二:给一数组,让你找一对满足i3.算法题三: 给一数组,让你找一对满足i<j<k && a[i]<a[j]<a[k] 的i和j和k (O(N)时间复杂度 O(N)空间复杂度)4.三次握手过程5.为什么是3次,而不是2次或4次?6.介绍下TCP7.TCP是如何确保传输安全的?8.TCP和UDP的区别9.介绍下hashmap10.数据库有了解吗,介绍下数据库的索引以及作用11.数据...阅读全文

简书 2021-03-04 20:32:34 一個會寫詩的程序員

2021-03-03:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。给你每一个项目开始的时间和结束的时间 。你来安排宣讲的日程,要求会议室进行的宣讲的场次最多。 返回最多的宣讲场次。

2021-03-03:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。给你每一个项目开始的时间和结束的时间 。你来安排宣讲的日程,要求会议室进行的宣讲的场次最多。 返回最多的宣讲场次。 福哥答案2021-03-03: 贪心算法。 1.按结束时间排序。 2.for循环中,当前时间点小于会议的开始时间点,需要计数。当前时间点变成会议的结束时间点。 代码用golang编写,代码如下: package main import ( "fmt" "sort" ) func main() { ...阅读全文

简书 2021-03-04 17:35:05 福大大架构师每日一题

Docker简介和Docker历史

Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。 Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。 Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供包含支持服务的商业版本的 Docker。 Docker公司 Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立,其标志如下图所示。 Docker标志 有意思的是,Docker 公司起初是一家名为 d...阅读全文

简书 2021-03-04 17:34:59 cyanosoma01

Go Mutex

Go语言提供了sync包和channel机制来解决并发机制中不同goroutine之间的同步和通信 Go语言使用go语句开启新的goroutine,由于goroutine非常轻量除了对其分配栈空间外,所占的空间也是微乎其微的。但当多个goroutine同时处理时会遇到比如同时抢占一个资源,某个goroutine会等待等一个goroutine处理完毕某才能继续执行的问题。对于这种情况,官方并不希望依靠共享内存的方式来实现进程的协同操作,而是希望通过channel信道的方式来处理。但在某些特殊情况下...阅读全文

简书 2021-03-04 17:34:57 JunChow520

手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法

缘起 最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一) 本系列笔记拟采用golang练习之 欧几里得算法 欧几里得算法(又称辗转相除法)用于计算两个数的最大公约数, 被称为世界上最古老的算法。 现在人们已无法确定该算法具体的提出时间, 但其最早被发现记载于公元前300年欧几里得的著作中, 因此得以命名。 首先用较小的数字去除较大的数字,求出余数。 接下来再用较小的除数和余数进行mod运算, 重复同样的操作, 余数为0时,最后一次运算中的除数就是最大公约数。 摘自 <<我的第一本算法书...阅读全文

简书 2021-03-04 17:34:56 老罗话编程

kubernetes-helm详细介绍及使用

致读者 完整入门示例请参考:Helm完整入门实战 Helm 本指南介绍了使用 Helm 来管理 Kubernetes 集群上的软件包的基础知识。在这之前,假定您已经 安装了 Helm 客户端。 如果您仅对运行一些快速命令感兴趣,则不妨从 快速入门指南开始。本章包含了 Helm 命令的详细说明,并解释如何使用 Helm。 三大概念 Chart 代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula...阅读全文

简书 2021-03-04 17:34:56 k8s程序员

线程池使用的N种姿势

线程池在开发中一定会用到,如果能像golang一样,java语言也有协程,也许java程序员就少了一种包袱。 回归正题,我们聊下到底有哪些线程池的使用方式,总结有以下几种。 JDK 内置线程池 Spring线程池 自己魔改封装 1、JDK 内置线程池 常用的有: 我们看下最全的线程池参数,探究为什么阿里规约不建议使用Executors创建默认个数的线程池。 /** 参数【7个】 corePoolSize - 即使空闲时仍保留在池中的线程数,除非设置 allowCoreThreadTimeOut ...阅读全文

简书 2021-03-04 17:34:56 猿必过

白话Go内存模型&Happen-Before

来自公#众#号:Gopher指北 Go内存模型明确指出,一个goroutine如何才能观察到其他goroutine对同一变量的写操作。 当多个goroutine并发同时存取同一个数据时必须把并发的存取操作序列化。在Go中保证读写的序列化可以通过channel通信或者其他同步原语(例如sync包中的互斥锁、读写锁和sync/atomic中的原子操作)。 Happens Before 在单goroutine中,读取和写入的行为一定是和程序指定的执行顺序表现一致。换言之,编译器和处理器在不改变语言规范...阅读全文

简书 2021-03-04 17:34:38 Gopher指北

基于 KubeVela 与 Kubernetes 打造“无限能力”的开放 PaaS

简介: 本文整理自阿里云容器技术专家、OAM 规范主要制定者之一、KubeVela 作者和负责人孙健波(天元)在阿里云开发者社区“周二开源日”的直播分享,将剖析当前 Kubernetes 应用交付体系存在的问题详细介绍如何基于 OAM 和 KubeVela 体系赋能 PaaS,构建开放可扩展又易用的能力。 image 如今,围绕 Kubernetes 构建应用交付平台已经逐渐成为共识。 Kubernetes 生态本身的能力池固然是丰富的,但社区里并没有一个可扩展的、方便快捷的方式,能够帮助平台团...阅读全文

简书 2021-03-04 17:33:16 阿里云云栖号

leetcode354 俄罗斯套娃信封问题 golang

354. 俄罗斯套娃信封问题 解法1 思路 动态规划,用A[i] 表示 [0,i]最多的信封数。 那么有初始条件 A[i]=1, 则对于数组A[i]前面的数比它小的数A[j],有A[i] = max(A[i],A[j]+1) 所有有递推公式 A[i] = max(A[0],A[1],A[2],...A[j])+1 代码 func maxEnvelopes(envelopes [][]int) int { if len(envelopes)==0{ return 0 } sort.Slice(en...阅读全文

简书 2021-03-04 17:32:41 lucasgao

protoc 插件编写之一 (protoc 插件的原理)

protoc的golang自动代码生成, 源码文件【google.golang.org/protobuf/types/pluginpb/plugin.pb.go】中有如下的一段文档,很好的解释了protoc插件的工作,和使用过程。 // protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is // just a program that reads a CodeGeneratorRequest fro...阅读全文

简书 2021-03-04 17:32:40 癞痢头

白话Go内存模型&Happen-Before

来自公众号:Gopher指北Go内存模型明确指出,一个goroutine如何才能观察到其他goroutine对同一变量的写操作。当多个goroutine并发同时存取同一个数据时必须把并发的存取操作序列化。在Go中保证读写的序列化可以通过channel通信或者其他同步原语(例如sync包中的互斥锁、读写锁和sync/atomic中的原子操作)。Happens Before在单goroutine中,读取和写入的行为一定是和程序指定的执行顺序表现一致。换言之,编译器和处理器在不改变语言规范所定义的行为...阅读全文

Segmentfault 2021-03-07 23:32:34 Gopher指北

手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法

手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法缘起最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一)本系列笔记拟采用golang练习之欧几里得算法欧几里得算法(又称辗转相除法)用于计算两个数的最大公约数, 被称为世界上最古老的算法。 现在人们已无法确定该算法具体的提出时间, 但其最早被发现记载于公元前300年欧几里得的著作中, 因此得以命名。 首先用较小的数字去除较大的数字,求出余数。 接下来再用较小的除数和余数进行mod运算, 重复同样的操作, 余数为0时...阅读全文

Segmentfault 2021-03-07 20:32:33 ioly

Go+Python双语言混合开发

download:Go+Python双语言混合开发 Go 语言结构体Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题Author : 作者Subject:学科ID:书籍ID定义结构体结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type ...阅读全文

51CTO博客 2021-03-03 04:07:47 mb603ccaa07a705

专为Go设计的集成开发环境LiteIDE X

Go语言集成开发是一种由Google创建的开源编程语言,缩写为更简单,但与古老的C语言一样强大,为开发人员提供了未来的替代方案。LiteIDE X是专为Go设计的集成开发环境,提供了您期望从这样的应用程序中获得的所有重要功能,包括代码完成,语法突出显示,自动构建系统,包浏览器和调试工具。1.强大的Go IDE,可以帮助您编写,调试和编译代码LiteIDE X可以简化开发过程,自动执行许多任务并帮助您编写和调试代码。它包括可配置的构建命令,提供代码自动完成和语法突出显示,一个简单和开放的调试系统,...阅读全文

简书 2021-03-03 21:32:44 Nelumbo123

Golang约瑟夫问题

package main import "fmt" type Person struct { Number int Next *Person } // 编写一个函数,构成单向的环形链表 // number: 表示小孩的个数 // *Person: 返回该环形的链表的第一个人的指针 func AddPerson(number int) (first *Person) { //判断 if number == 1 { fmt.Println("人数不能小于1") return first } // 临...阅读全文

简书 2021-03-03 21:32:43 _H_8f4a

项目实战--文件上传与解析

项目实战:(以展示招聘岗位为例) 1.前后端分离 2.前端:vue+js 3.后端:golang+gin 功能分析:前端部分: 1.设计前端界面,以卡片形式展示各个岗位的信息(包含:岗位名称;岗位奖金;岗位地点;岗位描述;岗位要求); 2.点击对应的职位时,可以展示职位的详细信息; 3.可以上传文件,该文件包含所有的职位信息,传给后端进行处理; 后端部分: 1.采用post方法,对前端传来的文件进行处理,上传至服务器的特定路径; 2.在对文件处理时,需要对文件做一些限制: 1).限定上传文件的大...阅读全文

简书 2021-03-03 21:32:43 逆流而上的我们