字节跳动商业化研发部门校招实习火热招聘

简历发送至likang@bytedance.com,逢邮件必回。 商业化部门介绍字节跳动广告系统,支撑今日头条、抖音、西瓜视频、火山小视频等多款海内外产品的商业化变现,为公司的核心收入部门,拥有复杂的算法,精湛的业务,巨量的并发。截止到目前,广告系统团队已经集聚了几百名研发工程师,打造出了海内外领先的信息流广告系统。来到这里,你将获得超有竞争力的薪资待遇!基本工资25K—50K,15薪,多达6-10个月的年终奖就近住房补贴1500/月,用五环外的租房成本住在北三环城中心六险一金,入职即送年假7天...阅读全文

简书 2020-03-13 23:32:58 让莫莫去招聘

Golang处理JSON(一) 序列化

前言 JSON 是目前最为流行的序列化手段,Go语言对于这些标准格式的编码和解码都有良好的支持,在Go语言中,encoding/json标准包处理json数据的序列化与反序列化问题。下面主要讲解序列化。 什么是序列化 序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。通过从存储区中读取对象的状态,重新创建该对象,则为反序列化。 各种类型的值 JSON是对JavaScript中各种类型的值——字符串、数字、布尔值和对象——Unicod...阅读全文

简书 2020-03-13 23:32:46 程序猿编码

【Golang】Gin 框架之请求参数绑定

最近在用Gin来做一个side project,用于练手以及学习前端。看了Gin的文档,此文只是将相关的文档作为一个归类,留存起来。首先我们看看,Gin中模型绑定和校验,是其他绑定类型请求的基础;后面再分别介绍Gin中相关的绑定类型(见下面的表)。 类型 重要程度 绑定Url 重要 请求参数与自定义结构绑定 重要 请求参数是前端上送的CheckBox 重要 仅仅绑定查询 一般,特殊化 绑定Header 一般 绑定查询类型或者POST数据 重要 模型绑定和校 模型绑定的作用是将请求体绑定到自定义类...阅读全文

简书 2020-03-13 23:32:42 云枫随笔

Micro In Action(二):项目结构与启动过程

> 本文作者:Che Dan,授权发布 > > 原文链接:https://medium.com/@dche423/micro-in-action-part2-cn-9bbc33d356eb 本文是[Micro](https://micro.mu/)系列文章的第二篇。我们将以实际开发微服务为主线,顺带解析相关功能。从最基本的话题开始,逐步转到高级特性。 --- ## 项目结构 在上篇文章中我们创建了一个简单的项目, 并过将它运行起来。本篇将继续这个旅程,先介绍项目结构...阅读全文

Go语言中文网 2020-03-13 22:55:49 polaris

Go 每日一库之 copier

简介 上一篇文章介绍了mergo库的使用,mergo是用来给结构体或map赋值的。mergo有一个明显的不足——它只能处理相同类型的结构!如果类型不同,即使字段名和类型完全相同,mergo也无能为力。今天我们要介绍的copier库就能处理不同类型之间的赋值。除此之外,copier还能: 调用同名方法为字段赋值; 以源对象字段为参数调用目标对象的方法,从而为目标对象赋值(当然也可以做其它的任何事情); 将切片赋值给切片(可以是不同类型哦); 将结构体追加到切片中。 感谢@thinkgos推荐。 顺...阅读全文

Segmentfault 2020-03-18 17:32:34 darjun

golang crypt包的AES加密函数的使用

golang AES加密函数的使用 什么是AES AES: Advanced Encryption Standard 高阶加密标准,是用来代替 老的DES的。 AES加密算法的加密块必须是16字节(128bit),所以不足部分需要填充,常用的填充算法是PKCS7。 AES加密算法的key可以是16字节(AES128),或者24字节(AES192),或者是32字节(AES256) AES算法的具体实现种类 ECB:Electronic Codebook Book CBC:Cipher Block ...阅读全文

简书 2020-03-13 11:33:01 CodingCode

SWOOLE开发实时聊天系统(十)用户断开聊天

最后我们再处理一下用户断开连接的时候的处理工作。 首先,我们需要在websocket断开的时候,去调用MessageController中的close函数,传递当前用户的fd. $this->server->on('close', function ($ser, $fd) { echo "server: close a fd : fd{$fd}\n"; $this->MessageController->closeFd($fd); }); 在MessageController中,去调用处理用户登...阅读全文

简书 2020-03-13 11:33:00 公式般欢笑

leetcode_169

Golang: 思路:很早以前做过的简单题,但那会儿还不知道有简单的方法。多数元素,是指元素的数目大于数组长度的一半。那么,如果让每一个多数元素和其他任意元素抵消,那么最后剩下来的还是多数元素。 代码如下: func majorityElement(nums []int) int { temp,count:=-1,0 for i:=0;i<len(nums);i++{ if temp==-1{ temp=i } if nums[i]==nums[temp]{ count++ }else{ cou...阅读全文

简书 2020-03-13 11:32:59 淳属虚构

leetcode_763

Golang: 思路:这题贪心解法其实很好想,不过我最终实现了O(n)的时间复杂度解法,执行效果上在时间复杂度上超过100%。 代码如下: func partitionLabels(S string) []int { var res []int arr:=make([][]int,26) used:=make([]int,26) for i:=0;i<len(S);i++{ temp:=S[i]-'a' if len(arr[temp])<=1{ arr[temp]=append(arr[tem...阅读全文

简书 2020-03-13 11:32:58 淳属虚构

leetcode_921

Golang: 思路:这题依旧是贪心解法,还是很简单。。。 代码如下: func minAddToMakeValid(S string) int { res,state:=0,0 for i:=0;i<len(S);i++{ if S[i]=='('{ if state<0{ res+=-state state=0 } state++ } if S[i]==')'{ state-- } } if state>0{ res+=state }else{ res+=-state } return re...阅读全文

简书 2020-03-13 11:32:56 淳属虚构

leetcode_1005

Golang: 思路:这题还是贪心解法,如果一个数组中有负数,先翻转负数,如果负数的数目大于等于k,那么把所有最小的负数翻转完即可。如果不是,那么我们就要对此时全部是正数的数组进行翻转,那么翻转的是当前数组中最小的元素。 代码如下: func largestSumAfterKNegations(A []int, K int) int { sort.Ints(A) temp,k:=0,K if A[0]<0{//代表有负数,那么先翻转负数部分 i:=0 for ;i<K;i++{ if A[i]<...阅读全文

简书 2020-03-13 11:32:56 淳属虚构

面试题

字节跳动 一、算法题 一面: 1. lc 里最长上升子序列的变形题 2. 实现输入英文单词联想的功能 二面: 1.矩阵旋转,要求空间复杂度 O(1) 2.无序的数组的中位数。要求时间复杂度尽可能的小 二、计算机网络 tcp 怎么保证数据包有序 主机每次发送数据时,TCP 就给每个数据包分配一个序列号并且在一个特定的时间内等待接收主机对分配的这个序列号进行确认。 如果发送主机在一个特定时间内没有收到接收主机的确认,则发送主机会重传此数据包。 接收主机利用序列号对接收的数据进行确认,以便检测对方发送...阅读全文

简书 2020-03-13 11:32:55 DoneIsBetter

golang安装grpc,保存到vendor

背景 新项目projectA使用的vendor来管理依赖,需要增加grpc的库 qiantao@qiant backend % echo $GOPATH /Users/qiantao/work/gotestsrc 方案 先安装govendor 安装方案 https://shockerli.net/post/go-package-manage-tool-govendor/ 安装grpc 安装官方安装命令: go get google.golang.org/grpc 是安装不起的,会报: packa...阅读全文

简书 2020-03-13 11:32:54 guhan121

Go:一文读懂 Wire

> 本文作者:Che Dan > > 原文链接:<https://medium.com/@dche423/master-wire-cn-d57de86caa1b> ## Wire 是啥 [Wire](https://github.com/google/wire "Wire") 是一个轻巧的 Golang 依赖注入工具。它由 Go Cloud 团队开发,通过自动生成代码的方式在编译期完成依赖注入。 [依赖注入](https://en.wikipedia.org/wiki/...阅读全文

Go语言中文网 2020-03-13 10:03:21 polaris

Go结合windows dll开发程序

使用Go结合windows dll开发程序 Go程序有一个优点是很好地做到”跨平台”,一般开发的情况,我们使用内置的相关模块实现相关功能,通过 GOOS=操作系统代号 go build 就能编译出对应平台的二进制文件. 然后把二进制文件扔往对应的服务器无论是linux或windows, 基本都能正常运行. 但是Go也不是完全的跨平台,个别情况下并没有提供Windows下的相关方法,只能通过syscall包去调用Win库. 本文主要说说我们做跨平台的时候,针对windows的一些处理: 一种常见的...阅读全文

简书 2020-03-13 01:32:55 哆啦在这A梦在哪

Go Build 不同系统的可执行文件

Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 1、Mac下编译Linux, Windows平台的64位可执行程序 $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go 2、Linux下编译Mac, Windows平台的64位可执行程序 $ CGO_ENABLED=0 GOOS=darwin GO...阅读全文

简书 2020-03-13 01:32:54 乌云龙oO

golang 中goroutine退出

错误点 原先自以为在自定义函数里面开辟一个新的协程,函数退出,开辟的协程也会强制退出,直到跟公司项目,看大佬写的调度才发现只有一种情况正在运行的goroutine会因为其他goroutine的结束被终止,就是main函数的退出或程序停止执行 在项目中要想,协程执行超出时间,放弃协程的结果可以使用: ctx, cancel := context.WithCancel(context.Background()) time.AfterFunc(module.GetTimeoutDuration(), ...阅读全文

简书 2020-03-13 01:32:54 Dongzdong

Golang文件名命名规则,不同环境下的编译,下划线的含义

Golang文件名命名规则 在golang源代码中,经常看到各种文件名,比如: bolt_windows.go。 下面对文件名命令规则的说明: 1、平台区分 文件名_平台。 例: file_windows.go, file_unix.go 可选为:windows, unix, posix, plan9, darwin, bsd, linux, freebsd, nacl, netbsd, openbsd, solaris, dragonfly, bsd, notbsd, android,stub...阅读全文

简书 2020-03-13 01:32:52 哆啦在这A梦在哪

1~n整数中1出现的次数

题目描述 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 输入:n = 13 输出:6 思路 既然是1~n整数中1出现的次数,可以拆解为整数n各个位置上所以可能出现1的个数。 例如一个整数n为4位数,那么结果便是第一位、第二位、第三位以及第四位上可能出现1的次数之和。 每位上出现1的个数依赖于三个位置。 高于该位的数字 该位的数字 低于该位的数字 可以拿401、411以及412的...阅读全文

简书 2020-03-13 01:32:52 youzhihua

你也可以算出圆周率的 - 随机落点算法 - 致即将到来的圆周率日

一年一度的圆周率日就要到了,是的,就是3月14日,因为它与圆周率π的前几位3.14的数字一样。我们知道,传说中祖冲之计算圆周率用的是“割圆术”的改进方法,可惜我们大多数现代人的脑子已经无法理解这种方法了。使用其他的复杂公式也有,但人的脑子更不容易理解,但有一个异想天开的方法你知道吗?任何人可以简单地去计算出Pi呢(下面我们都用Pi来代替圆周率π吧,好写好认,:p)。这个方法源自概率论的基础,叫做蒙特卡洛法,形象一点的话我们也可以把它称为随机落点法,我们先说说它的原理:我们先看看下面这张图 假设有...阅读全文

简书 2020-03-13 01:32:51 陆满庭