2020 腾讯社招Golang后端面试经验分享

技术一面基础面试 一面是通过电话直接沟通 go的调度 gostruct能不能比较 godefer(fordefer) select可以用于什么 context包的用途 client如何实现长连接 主协程如何等其余协程完再操作 slice,len,cap,共享,扩容 map如何顺序读取 实现set 实现消息队列(多生产者,多消费者) 大文件排序 基本排序,哪些是稳定的 httpget跟head http401,403 httpkeep-alive http能不能一次连接多次请求,不等后端

  • 0
  • 1
  • 发布于 2020-06-27 17:59
  • 阅读 ( 873 )

GORM入门指南

gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。 gorm介绍 GithubGORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文。 安装 goget-ugithub.com/jinzhu/gorm 连接数据库 连接不同的数据库都需要导入对应数据的驱动程序,GORM已经贴心的为我们包装了一些驱动程序,只需要按如下方式导入需要的数据库驱动即可: import

  • 0
  • 1
  • 发布于 2020-05-11 22:54
  • 阅读 ( 942 )

记一次golang的内存泄露

程序功能 此程序的主要功能是将文件中数据导入到clickhouse数据库中。 【问题描述】 服务器内存每隔一段时间会耗尽 【问题分析】 由于使用的是go语言开发的,所以采用了业界流行的工具pprof。 参考URL:https://cizixs.com/2017/09/11/profiling-golang-program/ 工具的使用与思路: 1)先修改源代码 2)安装工具观察 3)根据工具抓取的现象进行分析 4)修复内存缺陷代码,再根据分析结果修复

  • 0
  • 1
  • 发布于 2020-05-11 22:54
  • 阅读 ( 851 )

Go 内存分配器的设计与实现

程序中的数据和变量都会被分配到程序所在的虚拟内存中,内存空间包含两个重要区域—栈区(Stack)和堆区(Heap)。函数调用的参数、返回值以及局部变量大都会被分配到栈上,这部分内存会由编译器进行管理;不同编程语言使用不同的方法管理堆区的内存,C++等编程语言会由工程师主动申请和释放内存,Go以及Java等编程语言会由工程师和编译器共同管理,堆中的对象由内

  • 0
  • 1
  • 发布于 2020-04-19 17:51
  • 阅读 ( 1088 )

深度学习1-深度学习环境安装,有这一篇就够了!Anaconda-Python+Tensorflow2.0-GPU+Keras+Pycharm

这是本人从零到一学习深度学习的第一篇记录,也不知道能写出多少学习记录,也不知道能学到多少,总之记录下自己的学习过程,遇坑过程,一切跟深度学习的过程都会一一记录,一方面给自己回头看的一点念想,另一方面给其他同学参考,按这一篇就可以解决对应的问题. 2020年3月9日by第一段代码 <这个安装看了好多人的安装博客,最后理顺和整合了一下,讲到底看我这一篇搭建深度

  • 0
  • 1
  • 发布于 2020-04-19 13:46
  • 阅读 ( 939 )

SpringBoot结合JWT+Shiro+Redis实现token无状态登录授权

SpringBoot结合JWT+Shiro+Redis实现token无状态登录授权 文章目录SpringBoot结合JWT+Shiro+Redis实现token无状态登录授权一、引言二、相关说明三、项目准备配置四、实现颁发token4.1.配置Redis:RedisConfig4.2.编写工具类4.3.编写登录接口:LoginController五、实现Shiro授权5.1.重写过滤器:JWTFilter5.2.Shiro配置:MyShiroConfig5.3.自定义Realm六、自定义全局异常处理七、编

  • 0
  • 1
  • 发布于 2020-04-19 13:23
  • 阅读 ( 3782 )

skywalking自定义增强插件apm-customize-enhance-plugin

skywalking自定义增强插件apm-customize-enhance-plugin skywalking支持自定义增强插件,可在指定类中增强方法,但是需要在xml中将所有需要增强的方法都列出来,链接如下:https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/Customize-enhance-trace.md。现需要用正则表达式匹配所有方法。 1.找到类CustomizeCon

  • 0
  • 1
  • 发布于 2020-04-19 11:02
  • 阅读 ( 2085 )

支付宝全局架构师曹刚:为 12 亿用户设计架构是什么体验?| 程序员有话说

从2005年成立以来,支付宝逐渐成长为拥有12亿用户的数字生活开放平台,在它背后,是不断演进的技术架构在做支撑。在过去,我们已经分享过了支付宝伴随着双十一大促一路走来的技术演进,今天,我们邀请到了支付宝全局架构师曹刚,请他给大家分享一下,给12亿用户设计架构是什么体验。所谓全局架构师,就是为整个公司的架构治理和架构演进提供服务的人。不过曹刚也

  • 0
  • 1
  • 发布于 2020-04-18 21:32
  • 阅读 ( 804 )

面试必问的一致性Hash在负载均衡中的应用

点击上方“Java之间”,选择“置顶或者星标”你关注的就是我关心的!来源:http://marklux.cn/blog/90上一篇:Java开发必须掌握的20+种Spring常用注解简介一致性Hash是一种特殊的Hash算法,由于其均衡性、持久性的映射特点,被广泛的应用于负载均衡领域,如nginx和memcached都采用了一致性Hash来作为集群负载均衡的方案。本文将介绍一致性Hash的基本思路,并讨论其在分布式缓存集群负

  • 0
  • 1
  • 发布于 2020-04-18 21:31
  • 阅读 ( 634 )

十五条有用的Golang编程经验

原文:15LessonsinGolang作者:JasonKulatunga翻译:雁惊寒 摘要:本文作者在很短的时间内就从对Golang一无所知到开发出真正的产品。在学习Golang的过程中,他总结出十五条编程经验以分享给读者。以下是译文。像许多其他的开发者一样,我听到过很多有关Golang的传闻。也许你还不熟悉它,那么我告诉你,它是Google开发的开源语言。我之所以对Golang感兴趣,是因为它是一种静态类型编

  • 0
  • 1
  • 发布于 2020-04-18 12:39
  • 阅读 ( 650 )

Python运维之路——协程、事件驱动与异步IO

协程的概念 协程,又称微线程,coroutine。是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,回复先前保存的寄存器上下文和栈。因此,协程能保持上一次调用的状态(即所有局部状态的一个特定组合),每次过程重如时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时

  • 0
  • 1
  • 发布于 2020-03-08 17:00
  • 阅读 ( 859 )

Redis数据库看这一篇文章就够了

https://www.tuicool.com/articles/aIvyyii 前言 redis作为nosql家族中非常热门的一员,也是被大型互联网公司所青睐,无论你是开发、测试或者运维,学习掌握它总会为你的职业生涯增色添彩。 当然,你或多或少已经了解redis,但是你是否了解其中的某些细节,本片文章将详细介绍redis基础,后续也会介绍其高级部分如、持久化、复制、集群等内容,希望对你有所帮助。 自redis3.0发布已

  • 0
  • 1
  • 发布于 2020-03-08 16:57
  • 阅读 ( 766 )

菜鸟教程之工具使用——Mac(OSX)下媲美XShell的神器Termius

文章目录简介特点软件环境配置配置项配置密钥配置说明配置主机配置项结束 简介 XShell的大名不用多说,称它为Windows平台最好用的远程终端不为过吧。唯一不足的地方就是它只有Windows版本。所以今天跟大家介绍一款全平台的远程终端——Termius。Termius不仅涵盖了Windows、Linux、OSX,还变态得支持Android和iOS(以后在地铁、公交上都可以随时拿出手机来排查线上问题啦,还真是广

  • 0
  • 1
  • 发布于 2020-03-08 16:48
  • 阅读 ( 7758 )

什么是kafka?Kafka如何使用?(大数据-卡夫卡)

什么是Kafka 官网介绍: -ApacheKafka®是一个分布式流媒体平台。这到底是什么意思呢? 我们认为流媒体平台具有三个关键功能: 1.它可以让你发布和订阅记录流。在这方面,它类似于消​​息队列或企业消息传递系统。 2.它允许您以容错方式存储记录流。 3.它可以让您在发生记录时处理记录流。 几个概念: Kafka作为一个或多个服务器上的集群运行。 Kafka集群以称为主题的类别

  • 0
  • 1
  • 发布于 2020-03-08 16:38
  • 阅读 ( 1540 )

微服务架构—自动化测试全链路设计

背景 被忽视的软件工程环节-DEVTESTOPS 微服务架构下测试复杂度和效率问题 开发阶段unitTestmock外部依赖 连调阶段mock外部依赖 自动化测试阶段mock需求 autoTestMockGateway浮出水面 轻量级版本实现 整体逻辑架构 将mockparameter纳入服务框架标准requestcontract 使用AOP+RestEasyHttpClientRequestSPI初步实现Mock 总结 背景 从SOA架构到现在大行其道的微服务架构,系统越拆越小,整体架构的复杂度也是

  • 0
  • 1
  • 发布于 2020-03-08 16:02
  • 阅读 ( 601 )

MySQL插入索引太慢,加参数 DELAY_KEY_WRITE

插入大数据时,有索引会很慢,可以DISABLEKEYS,或者直接在table中加入DELAY_KEY_WRITE1.LOCKTABLES`test`WRITE;ALTERTABLE`test`DISABLEKEYS;INSERTINTO`test`VALUES(1,'???',80,1),(2,'???',90,2),(1,'李四',80,3),(2,'王五',90,4),(1,'aa',12,5),(3,'aa',123,6),(4,'aadwa',123,7);ALTERTABLE`test`ENAB

  • 0
  • 1
  • 发布于 2020-03-08 14:32
  • 阅读 ( 478 )

Go interface实现原理

1前言 1.1Go汇编  Go语言被定义为一门系统编程语言,与C语言一样通过编译器生成可直接运行的二进制文件。这一点与Java,PHP,Python等编程语言存在很大的不同,这些语言都是运行在基于C语言开发的虚拟机上,如果想深入了解运行原理只需要看懂对应的C语言开发的虚拟机(绝大部分程序员应该都对C语言有基本的了解)。但是如果想深入学习Go语言,就需要对基本的汇编指令

  • 0
  • 1
  • 发布于 2020-03-07 20:39
  • 阅读 ( 1086 )

更新数据时redis缓存与数据库数据不一致的问题

最初级的缓存不一致问题及解决方案 问题:先修改数据库,再删除缓存。如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致。 解决思路:先删除缓存,再修改数据库。如果数据库修改失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致。因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中。 比较复

  • 0
  • 1
  • 发布于 2020-03-07 19:11
  • 阅读 ( 902 )

深入浅出 gRPC 01:gRPC 服务端创建和调用原理

目录 1.RPC入门 1.1RPC框架原理 1.2业界主流的RPC框架 1.3gRPC简介 1.3.1gRPC概览 1.3.2gRPC特点 2.gRPC服务端创建 2.1服务端创建业务代码 2.2服务端创建流程 2.3服务端service调用流程 2.3.1gRPC请求消息接入 2.3.2gRPC消息头和消息体处理 2.3.3内部的服务路由和调用 2.3.4响应消息发送 3.源码分析 3.1主要类和功能交互流程 3.1.1gRPC请求消息头处理 3.1.2gRPC请求消

  • 0
  • 1
  • 发布于 2020-03-07 15:53
  • 阅读 ( 987 )

Mysql和MongoDB性能对比及应用场景分析

一、前言 为什么调研MongoDB?   下图是DB-Engines2017年8月数据库的排名统计,可以看到MongoDB总排名在第5,在Nosql数据库中排名第1。 优点: 1)社区活跃,用户较多,应用广泛。 2)MongoDB在内存充足的情况下数据都放入内存且有完整的索引支持,查询效率较高。 3)MongoDB的分片机制,支持海量数据的存储和扩展。 缺点: 1)不支持事务 2)不支持join、复杂查询 初步调研下

  • 0
  • 1
  • 发布于 2020-03-07 15:41
  • 阅读 ( 879 )

今天,有什么经验需要分享呢?

立即撰写

热议话题 »