原创 2020 騰訊社招Golang後端面試經驗分享

技術一面 基礎面試 一面是通過電話直接溝通 go的調度 go struct能不能比較 go defer(for defer) select可以用於什麼 context包的用途 client如何實現長連接 主協程如何等其餘協

原创 2020 Golang字節面試經驗分享

2020年4月份字節跳動後端面試經驗 第一面 遠程使用牛客網進行面試 面試官首先介紹說會有幾輪面試 算法題 1.1 將整數轉換二進制 然後將負數 算法題 1.2 買賣股票的最大利潤 給定一個數組代表股票每天的價格,請問

原创 curl http請求基本用法

從curl的一個使用實例說起: 將以下代碼拷貝到命令行即可執行   curl -X POST \ http://jd.dev.imdada.cn/pickup/addOrder/ \ -H 'cache-control: no-

原创 wrk 服務器性能HTTP壓測工具

wrk是一款簡單的HTTP壓測工具,託管在Github上,https://github.com/wg/wrk. wrk 的一個很好的特性就是能用很少的線程壓出很大的併發量. 原因是它使用了一些操作系統特定的高性能 io 機制, 比如 s

原创 Golang 退出 goroutine的幾種方式

傳統方式 在剛開始學go的時候,沒用過Context包,那麼退出攜程的方式一般有這麼幾種 使用攜 chan 發送消息通知,這種一般只適合單個goroutine func exit01() { done := make(chan boo

原创 Golang map底層實現原理解析

在開發過程中,map是必不可少的數據結構,在Golang中,使用map或多或少會遇到與其他語言不一樣的體驗,比如訪問不存在的元素會返回其類型的空值、map的大小究竟是多少,爲什麼會報"cannot take the address of"

原创 Mac下Kafka、zookeeper安裝與啓動

安裝 原本想想MySQL一樣編譯安裝,遇到各種各樣的問題,還是屈服了,沒必要一開始就較勁。使用brew進行安裝,非常方便。   brew install kafka 安裝完之後,安裝目錄爲:   # kafka安裝目錄 /usr/l

原创 Docker docker-compose.yml文件配置和 docker-compose命令

docker-compose.yml包含version、services、networks3大部分   services的書寫規則 1.iamge services: web:             # 服務名稱,

原创 Mac下ElasticSearch安裝

安裝java Mac上我個人喜歡用Homebrew 安裝方式。如果沒有安裝請自行百度,教程很簡單,安裝java,ElasticSearch需要基於Java下運行 brew cask install java8 查看是否安裝成功,出現下

原创 ETCD背後的Raft一致性算法原理

項目中使用ETCD來實現服務發現和配置信息的存儲,最近我抽空研究了一下ETCD和背後的一致性算法 — Raft算法的邏輯。 ETCD是什麼 ETCD是一個go語言實現的高可靠的KV存儲系統,支持HTTP協議的PUT/GET/DELETE操

原创 Golang 深入淺出協程池設計

使用Go語言實現併發的協程調度池閹割版,本文主要介紹協程池的基本設計思路,目的爲深入淺出快速瞭解協程池工作原理,與真實的企業協程池還有很大差距,本文僅供學習參考。 一、何爲併發,Go又是如何實現併發? gopool1.jpeg g

原创 MySQL 索引與鎖的使用

一.索引 索引主要是爲了提高查詢速度,能夠提高查詢速度的原因是將無序的數據變成有序(相對) 索引分聚集索引,非聚集索引 B+樹索引,Hash索引 聚集索引:一般主鍵索引就是聚集索引,聚集索引的葉子節點存儲表中的數據 非聚集索引:又稱二級

原创 golang printf中的%c,%d,%u.都分別代表輸出的是什麼類型的?

%表示格式化字符串輸出 目前printf支持以下格式的輸出,例如: printf("%c",a);輸出單個字符。 printf("%d",a);輸出十進制整數。 printf("%f",a);輸出十進制浮點數. printf("%o",a

原创 vscode配置 Golang LeetCode刷題環境

VSCode配置LeetCode刷題環境 由於在LeetCode官網上刷題時,沒有代碼高亮提醒,有點兒不習慣,因此在本地的VSCode上配置LeetCode的刷題環境。 首先,需要先安裝node.js。根據不同的系統進行下載安裝。node

原创 Goland利器:使用Goland自帶的test工具來編寫有效的測試文件

前言 Idea系列的強大之處我們都有所耳聞,有一些很好的小工具可以很好的加快我們的工作效率和質量,今天要給大家介紹的是goland的的test文件快速生成和使用。 1.使用 快速自動生成一個方法、函數的測試文件 步驟一: 選中要測試的方法