golang面经整理(一)(k8s,docker二次开发方向,云原生方向)

        笔者在2022年7月份-9月份之间面试了很多golang和k8s相关的面试,主要想从事云原生相关的开发工作,大小公司面试了很多,现将整体面试感受和一些通用的问题做一些整理记录,帮助大家在面试的时候更好的进行准备。最近大环境不好,大厂的岗位也少了不少。

       主要投递的岗位包含广州、深圳的岗位,面试的是golang工程师相关的岗位,但其实单纯做云原生相关岗位比较少,基本上局限于国内的几朵云,阿里云,华为云,腾讯云,最近发展起来的运营商赛道,天翼云,联通云这些。当然也包含也一些企业内部的私有云,规模应该不是很大。

       面试过的公司有:腾讯,阿里,度小满,金山,字节,Fordeal,优维科技,致景科技,凯媒通信,联通数科,天翼云。

腾讯算法

       腾讯腾娱项目组,好像云相关的没怎么招人,也可能岗位在西安,但听同事说没怎么招人,所以就面的是go业务代码开发,因为自己一直做的是k8s相关的开发,面业务代码的开发在技术栈上有一些不匹配,比方说,他们会对一些互联网三高项目比较重视,包 mysql,es,redis,kafka啊等等数据库要求相对高。这个当时由于没有准备Mysql调优相关的知识,一面就挂了。算法题目是二叉树相关的如下:        

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。

/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*/
func buildTree(preorder []int, inorder []int) *TreeNode {if len(preorder)==0{return nil}root := &TreeNode{preorder[0],nil,nil}i:=0for ;i<len(inorder);i++{if preorder[0]==inorder[i]{break}}root.Left=buildTree(preorder[1:len(inorder[:i])+1],inorder[:i])root.Right=buildTree(preorder[len(inorder[:i])+1:],inorder[i+1:])return root
}

阿里算法       

        阿里主要是蚂蚁金服在招跟云相关的岗位,一般都是电话面试,由阿里的hrg或者是hrg助理约面,对编程要求其实不算太高,算法考的是lru算法。题目如下,其实就是leetcode的146题。

请你设计并实现一个满足  LRU (最近最少使用) 缓存 约束的数据结构。
实现 LRUCache 类:
LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存
int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。
void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。

type entry struct{key,value int
}type LRUCache struct{cap intcache map[int]*list.Elementlst *list.List
}func Constructor(capacity int)LRUCache{  //LRU算法return LRUCache{capacity,map[int]*list.Element{},list.New()}
}func (c *LRUCache)Get(key int)int{e := c.cache[key]if e==nil{return -1}c.lst.MoveToFront(e)return e.Value.(entry).value
}func (c *LRUCache)Put(key,value int){if e := c.cache[key];e!=nil{e.Value=entry{key,value}c.lst.MoveToFront(e)return }c.cache[key] = c.lst.PushFront(entry{key,value})if len(c.cache)>c.cap{delete(c.cache,c.lst.Remove(c.lst.Back()).(entry).key)}}

        阿里一般只要稍微准备一下就可通过,其实接下来的几轮技术面才是关键,对深度的要求还是有点高,但是感觉面试官的态度还是很友好的,不会出现一言不合就开喷的情况,就是即使挂了你还是会笑嘻嘻的那种。(hr也都是笑嘻嘻的挂人)

字节算法


        字节那边也是业务代码开发,主要也是飞书人力套件,用golang,好像没搜到字节跟云相关的岗位,字节不愧是算法问到了极致,每一面都考算法,难度到了有向无环图,这种,其中夹杂着mysql的各种问题,大概是他们是做OA人事薪酬系统,对mysql也是特别高,问了一些mysql的知识,会让你手写sql语句。算法题目如下:

题目一:

   给定一个有序数组,但是数组以某个元素作为支点进行了旋转(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值target进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。

          主要考察二分法:

func search(nums []int, target int) int {if len(nums) == 0 {return -1}left := 0right := len(nums) - 1for left <= right {mid := (left + right) / 2if target == nums[mid] {return mid}if nums[left] < nums[mid] && target <= nums[mid] && target >= nums[left] {right = mid - 1} else if nums[left] > nums[mid] && target <= nums[mid] {right = mid - 1} else if nums[left] > nums[mid] && target >= nums[left] {right = mid - 1} else {left = mid + 1}}return -1
}

题目二:

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

func spiralOrder(matrix [][]int) []int {ans :=make([]int,0)x,x1 := len(matrix),0y,y1 := len(matrix[0]),0zong := x * yfor {for i1:=y1;i1<y;i1++{   //行固定的,列在动ans =append(ans,matrix[x1][i1])}x1++for i2:=x1;i2<x;i2++{ ans=append(ans,matrix[i2][y-1])}y--for i3:=y-1; i3>=y1; i3--   {ans =append(ans,matrix[x-1][i3])}x--for i4:=x-1 ;i4>=x1;i4--{ans =append(ans,matrix[i4][y1])}y1++if len(ans)>=zong{break}} return ans
}

题目三:

       循环依赖检测,看了一下字节的题库,发现是新题目被拿来考察算法能力,这里附上字节算法的题库。补充题:检测循环依赖 (qq.com)

题目四:

        这道题考了mysql的一些知识,当时给了一个学生表,求SQL查每个学生成绩最好的科目,大家面字节的业务代码开发,就多学一些mysql的东西吧,多刷一下常见sql语句。


优维科技算法

        优维科技:老实说当时投这家公司是练手的,觉得是个小公司,面试应该蛮简单,一面顺利通过,二面被叫到公司现场面试,刚到公司,技术总监叫我坐下,我想该不会去给我倒水去了吧,不用这么客气,然后该公司总监拿着一张纸进来了,定睛一看2道算法题,人都傻了,想着大厂都没叫我现场手撕代码,心里当时想着放弃,因为没必要,面上我也不去,但是只能硬着头皮去写了。主要是好长时间没写字了。

题目一:

二分查找有序数组中第一次出现数的位置。

 

public int search (int[] nums, int target) {if(nums.length == 0) {return -1;}int begin = 0;int end = nums.length - 1;while(begin < end) {int mid = (begin + end) / 2;if(nums[mid] < target) {begin = mid + 1;} else {end = mid; }}return nums[begin] == target ? begin : -1;}

题目二:

操作给定的二叉树,将其变换为源二叉树的镜像。

package main
import . "nc_tools"
/** type TreeNode struct {*   Val int*   Left *TreeNode*   Right *TreeNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param pRoot TreeNode类* @return TreeNode类
*/
func Mirror( pRoot *TreeNode ) *TreeNode {// write code hereif pRoot==nil{return nil}pRoot.Left,pRoot.Right =pRoot.Right,pRoot.LeftMirror(pRoot.Left)Mirror(pRoot.Right)return pRoot
}

        其他公司多为国企和小厂,对算法要求不是太高,看了一下,这些题目刷牛客101题基本都能包含,附上牛客101题的链接。其实面试刷这个101道,大多数公司够用了:https://www.nowcoder.com/exam/oj

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63242.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TRS的WCM历史漏洞

一、绕过密码登录 1访问网站的登录页 看到TRS WCM知道为北京拓尔思开发的一个平台&#xff0c;这个平台是存在相关漏洞的 2 在网址后面添加查看管理员密码的链接 wcm/infoview.do?serviceidwcm6_user&MethodNamegetUsersByNames&UserNamesadmin3在地址栏中输入xx…

宏观分析20221206

下图是美元指数与美国十年期国债以及纳指的走势 下图是离岸人民币与恒生科技以及上证50的走势 国内股市大的扰动都是由外部增量的资金造成的&#xff0c;在宏观大框架下&#xff0c;通过追踪大资金来投资也是一种思路

P17安全领袖圆桌:安全市场迎来千亿发展机遇,腾讯携手产业链伙伴共建安全生态

7月30日&#xff0c;为期两天的第五届互联网安全领袖峰会&#xff08;Cyber Security Summit2019&#xff0c;简称CSS2019&#xff09;在北京正式揭幕。作为每年CSS领袖峰会的重磅板块之一&#xff0c;由腾讯安全发起、汇聚国内安全上市企业领袖的P17安全领袖圆桌于会前的29日下…

大富网络、拓尔思、恒信东方、金马游乐……上市公司如何布局元宇宙?丨2022元宇宙云峰会...

4 月 20 日上午&#xff0c;由巴比特主办的“万物起源・2022 元宇宙云峰会”正式开幕。 在圆桌论坛《上市公司的元宇宙布局》中&#xff0c;国盛证券区块链研究院院长宋嘉吉与大富网络联合创始人庞思渊、拓尔思信息技术股份有限公司副总经理林松涛、恒信东方首席技术官李小波以…

从数据到智慧——拓尔思发布9大新品

9月21日&#xff0c;大数据和人工智能的领军企业拓尔思在北京举办新产品发布会&#xff0c;在这场题为“大数云智”的发布会上&#xff0c;拓尔思正式发布了9大新产品。 记者 | Jimmy 官网 | www.datayuan.cn 微信公众号ID | datayuancn 导语&#xff1a;9月21日&#xff0c;大…

拓尔思TRSWAS5.0文件读取漏洞预警

拓尔思TRSWAS5.0文件读取漏洞 漏洞证明 一、漏洞描述&#xff1a; 拓尔思中文检索系统TRSWAS5.0web/tree接口treefile参数存在文件读取漏洞&#xff0c;可读取数据库配置文件、账户密码等信息&#xff0c;导致配置文件信息泄露威胁网站安全。 漏洞影响版本&#xff1a;TRSW…

拓尔思文件读取漏洞(CNVD-2020-27769)

漏洞简介 拓尔思中文检索系统TRSWAS5.0 web/tree接口treefile参数存在文件读取漏洞&#xff0c;可读取数据库配置文件、账户密码等信息&#xff0c;导致配置文件信息泄露威胁网站安全。 复现过程 http://xx.com/was5/web/tree?treefile/WEB-INF/classes/com/trs/was/resour…

5 款 AI 老照片修复工具的横向比较

在大语言模型和各类 AI 应用日新月异的今天&#xff0c;我终于下定决心&#xff0c;趁着老照片们还没有完全发黄褪色、受潮粘连抑或损坏遗失&#xff0c;将上一代人实体相册里的纸质胶卷照片全部数字化&#xff0c;并进行一次彻底的 AI 修复&#xff0c;好让这些珍贵的记忆能更…

谁说前端已死?低代码没干掉我,chatGPT 又如何!

目录 背景 当下程序员焦虑产生的根源是什么&#xff1f; 开发者应对焦虑的时候&#xff0c;自身如何提高&#xff1f; 程序生涯&#xff0c;需要合理的规划职业路径 结束语 背景 近几年的技术圈不仅是新技术涌现&#xff0c;而且日新月异&#xff0c;搞得做技术的开发者都…

服务器域名解析问题,域名解析出现错误的几种情况,以及解决方法

优质老域名为您整理老域名基础知识相关的文章&#xff0c;本文站长为大家分享“域名解析出现错误的几种情况&#xff0c;以及解决方法”的内容&#xff0c;希望可以为大家解答老域名挖掘过程中的疑难杂症。 域名作为网络地址&#xff0c;是我们访问网站的必经之路&#xff0c;所…

Qt实现登录验证码

示例 先放一下效果图 每次验证码输入错误或者点击验证码图片都可以进行验证码的刷新 正文 用到的是QFrame 需要用到UI里的类提升&#xff0c;自建一个新的设计师类&#xff0c;系统会自动生成.h和.cpp 我这里的类名用的是Ver&#xff0c;有需要的自行替换即可 Ver.h #if…

chatgpt赋能python:Python抽奖程序代码

Python抽奖程序代码 Python是一种功能强大、易于学习的编程语言。它在数据科学、AI、网站开发等领域有着广泛的应用。本篇文章将会介绍Python抽奖程序代码&#xff0c;演示如何使用Python编写一个简单的抽奖程序。 什么是Python抽奖程序&#xff1f; Python抽奖程序是通过Py…

【观察】智能运维的“下半场”,看云智慧如何“开新局”

毫无疑问&#xff0c;随着数字化转型的加速&#xff0c;越来越多的企业正在把数字化战略提升到一个全新的高度&#xff0c;转型的进程也正从“浅层次”的数字化走向“深层次”的数字化。 也正因此&#xff0c;过去传统的人工运维方式越来越“捉襟见肘”&#xff0c;谋求运维模…

【iMessage苹果推】准入苹果相册推苹果家庭推Apple Texter 无线平台

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件安装 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容安装 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推送 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推送 *** 点击即可查看作者要求内容…

阿里云Aliware首批“铂金合作伙伴”花落谁家?——北京天源迪科当之无愧!!!...

走过路过不要错过 点击蓝字关注我们 6月25日&#xff0c;阿里云企业业务事业部总经理赵杰辉、阿里云企业业务事业部总架构师王晶昱、阿里云企业业务事业部运营商业务部总经理任利明、阿里云企业业务事业部运营商业务总架构师崔飞飞、阿里云解决方案事业部企业服务高级技术专家谭…

EC03-DNC4G通信模块

目录 3.6.1 模块使用 3.6.2 公网IP的服务器地址 3.6.3 AT指令控制模块联网 3.6.4 代码实现 3.6.1 模块使用 说明 基于串口AT指令的开发方式 有两种工作模式&#xff0c;默认是透传模式&#xff0c;通过其他方式进入AT指令模式&#xff0c;后续有说明 注意插卡不要出错&#…

北斗4G遥测终端 北斗4G双模通信遥测终端机

计讯物联北斗4G双模通信遥测终端机TY511信号稳定可靠传输。具备数据采集、定位、北斗通信、全网通4G无线通信、存储、控制、报警多功能。支持国家《水文监测数据通信规约》(ASCII和HEX全项)、《水资源监测数据传输规约》和其他省市特殊规约、SL180-2015水文自动测报系统设备遥测…

多通道振弦传感器无线采集仪发送数据到 TCP 服务器及远程修改参数

多通道振弦传感器无线采集仪发送数据到 TCP 服务器及远程修改参数 1、发送数据到 TCP 服务器 参数配置&#xff08;下列参数位于【 参数配置】 区域内的【 自动模式参数】 和【 GPRS】 面板内&#xff09; 数据发送方式&#xff1a; GPRS TCP 数据包协议&#xff1a;字符串 1.0…

VS系列多通道振弦传感器无线采发仪的数据发送说明

每次设备启动后会将采集到的传感器数据进行内部存储&#xff0c;并在设置好的时间间隔将数据发送出去&#xff0c;通过修改“数据发送方式”参数&#xff0c;监测数据可由数据接口输出也可经由无线网络发送。在发送监测数据时&#xff0c;可通过修改“数据包协议”参数来设置所…

科源制药在创业板注册生效:预计年收入4.5亿元,高元坤为实控人

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;山东科源制药股份有限公司&#xff08;下称“科源制药”&#xff09;在创业板的审核状态变更为“注册生效”。换句话&#xff0c;科源制药已经顺利通过注册&#xff0c;距离上市只差临门一脚。 据贝多财经了解&#…