玩具猴 level
获赞
39
粉丝
29
关注
5
看过 TA
467
蚌埠坦克学院
2027
golang
IP属地:黑龙江
暂未填写个人简介
私信
关注
一、 技术深度问题A. 关于“身份识别与访问管理”项目系统部署与架构:这个系统的部署方式是怎样的?(本地部署、Docker部署等?)请描述一下这个服务的整体架构。JWT 技术细节:能简单说一下 JWT Token 的构成是什么样的吗?JWT Token 的头部(Header)一般包含什么内容?JWT Token 的载荷(Payload)部分,反解出来后一般会有什么内容?从一个业务逻辑上理解,要实现用户认证,这个 Payload 里应该放什么内容?加密算法为什么要放在 Payload 里?(面试官指出这是不合理的,意在考察理解深度)数据库设计:请说明用户表、角色表和权限表的库表设计,都有哪些字段?为什么要在用户表里存一个 Token?既然已经有 JWT Token 了,为什么还要把 Token 存在数据库里?你库表里面存的 Token 是什么信息?和 JWT Token 是什么关系?(面试官追问)这个 Token 存的是什么信息?技术选型与对比:有了解或使用过 Casdoor 或 Casbin 这类开源方案吗?B. 关于“校园社交平台”项目项目功能与设计:请说一下这个平台主要做了什么,流程是怎样的?登录方式用的是什幺?除了创建用户和发送文章,这个项目还有别的补充说明吗?比如库表设计或交互流程?帖子、文章和评论的库表是如何设计的?它们之间如何关联?有实现多级评论(评论中再评论)的功能吗?C. 通用技术问题(系统、数据库、语言)问题排查与性能优化:假设你开发的一个 API 接口,单个请求返回时间长达 4 秒,你会如何定位这个问题?如果发现是函数中查询数据库缓慢,又该如何定位?Docker:能简单说一下 Dockerfile 一般包含什么内容吗?有了解基础镜像(Base Image)吗?Go 语言底层:在 Go 语言中,对 map 执行 delete操作,如果 key 不存在,会有什么现象?如果 key 存在,删除后会立即释放内存吗?Go 语言中的 interface 能直接比较吗?Go 语言并发与上下文:对 context有了解吗?能简单说一下它一般用在什么地方吗?能举例说明会把什么数据存进 context里吗?数据库/SQL 优化:能说一下一般如何优化 SQL 语句吗?
查看28道真题和解析
0 点赞 评论 收藏
分享
一、 项目相关问题关于“身份识别与访问系统”项目:请介绍一下这个项目和你负责的内容。这个项目是个人完成还是团队协作?项目的性质是什么?(如:课程项目、科研训练项目?)项目是给学校用的还是个人练手项目?关于“校园社交平台”项目:项目中“MySQL自增ID结合xxx实现平台ID生成方案”的具体实现是怎样的?这个自增ID是如何获取的?是否有专门用于生成ID的表?ID存储在哪里?具体获取ID的流程是什么?(是否是插入数据后获取返回的ID?)二、 技术深度问题缓存与数据库一致性:详细说明在点赞评论场景下,如何实现99%的缓存数据库一致性。对于点赞这种高频更新的场景,先写数据库再删缓存的策略是否会导致缓存失效?如何优化?如果引入锁机制(如间隙锁)来保证强一致性,请详细解释间隙锁的原理、定义和作用范围。分布式锁:如何保证分布式锁操作的原子性?是否有实际使用Lua脚本的经验?(针对锁的原子释放)是否了解Redlock算法?它在Redis集群中是如何工作的?是否了解Redis集群本身的一致性机制?MySQL底层原理:MySQL索引的底层实现是什么?请讲解一下对B+树的理解。B+树的非叶子节点存储什么?在聚簇索引和非聚簇索引中,叶子节点和非叶子节点存储的内容有何不同?请解释一下MVCC(多版本并发控制)的原理。Go语言核心:你使用Go语言有多久了?请讲解一下Go的GMP调度模型。当一个Goroutine发生I/O阻塞时,M(机器线程)和P(逻辑处理器)是如何进行调度的?
查看24道真题和解析
0 点赞 评论 收藏
分享
一、 系统架构与设计1.  技术栈与选型:◦   介绍你的架构(Go + Gin + GORM)。◦   MongoDB在架构中起什么作用?(与MySQL/Redis/本地缓存区分开)◦   为什么选择Gin框架?与其他Go框架相比,Gin的优缺点是什么?◦   还了解哪些其他Go框架?◦   技术栈选型的依据是什么?(是实习项目还是个人项目?基于什么考虑?)2.  缓存与数据一致性:◦   详细说明如何使用MySQL + Redis + 本地缓存实现高并发数据处理逻辑。◦   所有数据是否都持久化在MySQL中?◦   三级/两级缓存数据同步:▪   在并发读写下,如何保证缓存数据同步的可靠性?▪   举例说明:高并发下,对同一数据的读写流程。是先写Redis还是先写MySQL?数据如何同步?▪   如何保证Redis、MySQL以及本地缓存之间的数据一致性?◦   使用Pub/Sub实现缓存更新通知的具体机制是什么?◦   如何保证Pub/Sub的可靠性?3.  数据库:◦   慢查询定位:如何定位和解决慢查询问题?◦   索引:▪   联合索引(a, b, c)的最左前缀原则是什么?哪些查询能命中索引?哪些不能?4.  微服务与通信:◦   为什么使用gRPC?与HTTP相比,gRPC的优缺点是什么?◦   对于内部通信,gRPC调试比HTTP困难,为什么仍认为它是最优选择?◦   系统被拆分成几个微服务?它们之间是否全部使用gRPC通信?◦   如何对gRPC服务进行Debug?◦   在项目中,etcd的作用是什么?二、 部署与运维1.  Kubernetes (K8s):◦   服务是否部署在K8s集群上?◦   对K8s了解多少?能简要介绍吗?◦   是否有在K8s集群上实际部署服务的经验?(即使是单节点集群)◦   描述一下使用kubectl apply部署一个Pod的完整流转过程(从命令发出到Pod创建成功,涉及哪些K8s组件)。2.  Docker:◦   对Docker的操作熟悉吗?常用命令有哪些?◦   如何通过Dockerfile将一个二进制文件制作成镜像?Dockerfile的基本命令有哪些?三、 Go语言基础与核心概念1.  内存管理:◦   什么是内存逃逸?◦   内存逃逸会导致什么后果?◦   逃逸到堆上的对象会被GC回收吗?◦   能否举一个导致内存逃逸的代码例子?(例如,在函数中返回局部变量的地址)2.  并发编程:◦   goroutine 和线程的区别是什么?◦   如何在并发环境下安全地操作map?(引出sync.Map)◦   代码题:如何使用channel实现两个goroutine交替打印(一个打印数字,一个打印字母)?3.  常用特性:◦   defer 的使用场景?在一个包含文件打开、读取、处理的函数中,defer file.Close() 放在哪个位置最合适?为什么?◦   切片(Slice)与数组(Array)的区别?为什么Go要区分这两个概念?◦   切片使用append追加元素时的底层逻辑是怎样的?扩容机制是什么?(例如,扩容时如何分配新内存大小)四、 网络知识•   描述从浏览器输入www.baidu.com到显示出页面的完整流程(URL解析、DNS查询、TCP连接、HTTP请求、负载均衡、服务器处理、响应返回等)。五、 面试反馈与建议•   面试官最后指出,面试考察的是底层基础知识(如TCP/IP、Go语言核心),不能只停留在理论,必须能动手写代码解决实际问题。并举例说明了defer的使用和内存逃逸的代码实践的重要性。百度的问题感觉都不难,但是问到后面需要我进行写代码,业务代码基本没怎么写过,都是背的八股,练手的都是算法,确实是薄弱点,有点可惜了
0 点赞 评论 收藏
分享
一、Linux 操作系统文件系统:举例说明日志型文件系统和非日志型文件系统,并描述其设计思路。命令操作:是否使用过 mount命令及其作用。文件属性:解释 ls命令显示的文件权限(RWX)的含义,包括对所有者(owner)、用户组(group)和其他用户(others)的区别。二、容器技术(Docker)基础概念:描述 Docker 容器与虚拟机的区别。镜像与容器:是否编写过 Dockerfile。解释 Docker 镜像和容器之间的差异。三、云原生技术(Kubernetes, K8S)资源对象:举例说明 K8S 中的资源类型(如 Deployment、StatefulSet)。配置存储:K8S 中所有资源配置的存储位置(预期答案:ETCD)。四、项目经验(校园社交平台)功能实现:详细描述评论功能的实现,包括数据库表结构设计。评论实体包含哪些字段(如 ID、内容等)。如何设计评论与评论之间的关系(如一级评论、二级评论的层级结构)。点赞功能的实现方式。数据库设计:要求描述评论实体的数据库模式。五、Go 语言并发编程并发控制:如何控制大量 Goroutine 的并发数量(指出 sync.WaitGroup无法控制并发数,提示使用带缓冲的通道)。六、简历反馈技术熟练度:建议根据实际掌握程度调整简历中的描述(如将“熟悉”改为“了解”),避免误导。猛攻linux,docker,k8s,感觉挺厉害的,但我不太会,还有业务逻辑的实现和拓展,都不是很会
查看14道真题和解析
0 点赞 评论 收藏
分享
一、Go语言基础make和new方法的区别List数据结构指的是什么?(追问澄清)指针类型和值类型的区别make方法返回的是什么类型?map是指针类型还是值类型?map的底层结构Go的map是否是并发安全的?对并发安全map(sync.Map)的了解(数据结构、如何实现安全)深拷贝和浅拷贝的区别Go中copy方法对切片的拷贝是深拷贝还是浅拷贝?append方法拷贝是深拷贝还是浅拷贝?(追问)Go的类型系统(类型断言及其实现原理)字符串类型的底层原理切片的底层结构、扩容机制及使用注意事项使用make创建切片时的优化(已知长度/容量时如何传参)长度和容量的区别(对make传不同参数的解释)学习Go语言多久了?GMP模型与GM模型的区别,为什么需要P,P的作用及优化点二、数据库(MySQL)什么是索引?B+树和B树的区别,MySQL为什么选择B+树作为索引结构?SQL优化/建立索引的原则(如:应对哪些字段建立索引,为什么)什么是联合索引?索引失效(截断)的场景索引的缺点和维护成本MySQL的事务隔离级别及默认级别事务的ACID四大特性SQL语句的书写顺序和执行顺序的区别三、项目经验IAM项目是否是独立完成/验收的?项目简介(是否为一个通用的资源管理系统)审计日志表慢查询问题的发现、分析与优化过程(针对3000万条记录的问题)“低频大字段垂直拆分至独立表”的具体含义数据库IO利用率和内存占用率下降的数据统计方法RBAC权限模型的解释RBAC模型的具体实现方式(如表结构设计、数据隔离)第二个项目中数据不一致的原因及如何用Redis分布式锁解决(将不一致率从5%降至0.05%)四、面试结尾你还有什么问题想问吗?面试官反馈:指出候选人在Go语言(尤其是map)和数据库优化方面的基础有待加强。小厂为什么都爱问好多go基础语法,没怎么复习
0 点赞 评论 收藏
分享
一、Go 语言基础值类型与引用类型对值类型和引用类型的理解是什么?引用类型常见的例子有哪些?具体问及 slice和 map分别属于哪种类型?结构体结构体(struct)能直接比较吗?为什么?举例:两个包含相同字段(ID, name)的 User结构体实例能否直接比较?Slice 与数组slice和数组的区别是什么?函数传参行为:将一个全局变量的 slice传入函数并修改,外部的全局变量是否会改变?同样情况下,map的行为又会如何?为什么同是引用类型会有这样的区别?Mapmap的遍历是有序的还是无序的?map是并发安全的吗?如果不是,如何保证并发安全?是否用过 sync包下的并发安全 map?为什么 Go 要区分并发安全和不安全的 map?Channel 与并发如何理解 Go 语言“通过通信来共享内存,而不是通过共享内存来通信”的理念?Channel 关闭:关闭 channel应该在发送端还是接收端?为什么?如果接收端关闭 channel,发送端会知道吗?接收端如何知道生产者已经发送完所有数据?关闭后的 channel还能从中读取数据吗?Goroutine 与 Panic:如果启动的十个 goroutine 中有一个发生 panic,会导致主 goroutine 也 panic 吗?通常如何避免/处理这种情况?Web 框架使用过什么 Go Web 框架?(发言人提到是“定框架”)在该框架中,中间件(Middleware)一般是如何实现的?在路由中定义中间件时,其返回类型通常是什么?二、MySQL 数据库隔离级别MySQL 有哪几种隔离级别?可重复读(Repeatable Read)隔离级别主要解决什么问题?它能完全解决幻读吗?SQL 性能优化如果项目中一条之前运行很快的 SQL 语句变慢了,如何排查原因?索引对 B+Tree 索引的底层有了解吗?能简单说一下它基于什么算法实现的吗?三、Linux 系统文件权限文件权限表示如 755、717通常代表什么意思?进程查看如何查看一个服务(如 MySQL)的进程信息?使用什么命令?(具体追问了 ps、grep等命令的用法)四、计算机网络TCP简述 TCP 建立连接的三次握手过程。五、职业规划与方向专业与岗位选择你的专业是人工智能,为什么不找人工智能方向的岗位?(面试官提及当前 AI 应用、RAG、Agent 等是风口)面试官给出了建议:可以多去了解 AI 与应用后端结合的方向(如智能客服)。小小厂,怎么问这么多语言特性,别的面试基本没考过go语言
查看29道真题和解析
0 点赞 评论 收藏
分享
一、MySQL 相关慢查询监控:如何实现慢查询监控?具体实现方式(脚本如何工作)?数据量级:项目核心表的数据量级是多少?如何插入大量测试数据(如1100万条)?插入过程中遇到了什么问题(如查询变慢)?如何分析和优化?索引:B+树的层级概念、原理和自平衡机制。叶子节点存储的内容(聚簇索引 vs 非聚簇索引)。回表操作的流程。联合索引的原理和最左前缀原则。还有哪些其他索引类型?事务与锁:MVCC(多版本并发控制)的实现原理,如何保证事务顺序和避免冲突?MySQL 有哪些锁(行锁、表锁)?产生原因?SELECT ... FOR UPDATE是什么锁?日志:redo log、undo log、binlog的定位和作用分别是什么?基础架构:了解 MySQL 的基础组件吗(如连接器、分析器)?数据库范式:了解哪些数据库范式(第一范式、第二范式等)?二、Redis 相关数据结构:Redis 有哪些基础数据结构?它们的应用场景和底层实现是什么?排序实现:ZSET如何实现排序?底层数据结构(跳表)如何工作?数据结构对比:Redis 的跳表和 MySQL 的 B+树有什么区别?Redis vs MySQL:Redis 和 MySQL 的根本区别是什么?持久化:Redis 基于内存,如何实现数据持久化?过期策略:Redis 的过期键删除策略是什么?三、Kubernetes (K8S) 相关基础架构:能介绍一下 K8S 的基本架构吗?核心组件:Ingress是什么?配置文件:了解或写过 K8S 的 YAML 文件吗?四、Linux 相关进程通信:Linux 进程间通信的方式有哪些?内存管理:页表区别?物理地址、虚拟地址、逻辑地址的区别?用户态/内核态:用户态和内核态的区别?什么时候会发生切换?常用命令:用过哪些 Linux 命令?grep -R和 ls -a参数的作用?五、算法能力编程题:现场编写代码解决“最长有效括号”问题,并解释解题思路。六、个人情况与软技能实习时间预计可以实习多久?学习习惯:最近在看什么书?平时如何解决技术问题?面完我还自我感觉良好,怎么反问说有欠缺啊,不知道有没有机会
查看29道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务