纯面经帖,供后人参考,非经验贴,发完准备卸载牛客安心搞论文。个人基本情况:BG双非硕(非知名双非)混杂型开发:Go/Java + 前端(Vue) + 移动端 (Flutter/Swift) 都有真实项目(或开源项目)Leetcode 500+ 题三段小厂实习,Github 700+ Star,博客访问量 100w+国际级、国家级、省级竞赛都有(特等、一等、二等、三等都有)学校 BG 问题,进面的不多,大多能走完技术面,但是最后不一定能开出来(唉)部分工资会因为 BG 压薪资,也有不压的。开出来的薪资从 20- 到 50+ 的都有主要整理一些知名厂。对于一些零零碎碎的中小厂,要么流程很奇怪,要么面试很简单,就不记录了比如:格力电器、海信、点点互动等第一个中大厂 offer 是得物,大概在 11 月左右拿到(工资非常香),后面很多中小厂面试就拒了最后去了百度得物岗位职责:参与相关业务开发及维护工作,参与技术方案设计;参与容器化相关开发及维护工作;参与Golang相关框架及中间件的开发及维护工作;编写相关业务、技术文档等。任职要求:2024届毕业生,本科及以上学历,计算机类、软件类、通信类等相关专业;扎实的编程基础,至少掌握一门开发语言,熟悉Golang优先;CET4及以上,能够看懂技术相关的英文文档优先;有扎实的计算机基础知识功底,掌握常见数据结构和算法;有Docker、Kubernetes开发或使用经验者优先。笔试 08-23试卷名称: golang开发工程师考试时长: 120 分钟开始时间: 2023-08-23 19:00 星期三结束时间: 2023-08-23 22:00 星期三20选择 + 2编程 + 1问答编程题:100 + 81一面 08-27面试官人比较和善,每说几句话都会点头肯定,压力比较小自我介绍浏览器输入 URL 的一个过程TCP 三次握手,四次握手的过程TCP 释放连接为什么要等待 2MSL 时间TCP 如何保证它的数据的顺序性TCP 进行拥塞控制的手段有哪些进程、线程、协程的区别Golang 的 GMP 调度说下 GMP 的整个过程M 发生系统调用了 G 和 P 会怎么样M 系统调用结束以后会怎么样介绍一下自己的项目介绍一下使用 JWT 进行鉴权的过程说一下 Gin 的拦截器的原理说一下 Gin 的路由怎么实现的Gin 的路由使用的数据结构(字典树),介绍一下字典树二面 09-16一个女面试官,人比较和善自我介绍介绍一下项目中的亮点和难点任务调度器是如何实现的?流量控制是如何实现的?垃圾邮件的检测是如何做的?邮件发送失败会怎么样如果发送邮件的过程中突然项目宕机了,重新开始会重新走流程吗?优雅启动 + 优雅重启.... (一大堆项目追问,具体忘了)Nginx 的反向代理原理是什么?没答出来,说了下应用场景Nginx 的负载均衡方案有哪些?Docker 相比物理机进行部署有什么好处?Redis 持久化有几种?Redis 的主从架构有哪些?和同事一起解决一个问题,有不同的解决方案会怎么办?和同事一起完成一个任务,同事能力比较差怎么办?对未来的职业规划是什么?三面 09-17主管应该是,压力较大自我介绍深挖项目亮点垃圾邮件如果是怎么做的?用的开源项目 rspamd有了解过这个开源项目的内部实现吗?无邮件任务调度器如何实现的?流量控制成怎么做的?超时重发怎么做?知道哪些邮件接收协议?SMTP 细节,除了 SMTP 还知道哪些邮件传输协议?怎么判断是不是垃圾邮件?有具体的优化前后的数值指标吗?无...说说 Go 新特性K8S 的架构?360工作职责1、负责360搜索旗下多个重点业务的web服务端开发和维护工作2、负责360搜索新业务方向的web服务端开发工作3、持续对产出的代码进行优化和升级4、参与需求分析,方案设计,配合业务测试等工作任职资格1、计算机相关专业毕业2、有使用过go或者php做过实际的开发项目经验3、扎实的算法和数据结构,操作系统的基础知识4、熟悉linux环境下的开发,熟悉常用的linux命令5、优秀的学习能力和执行力笔试 09-2340 选择 + 2 编程(100 + 80)一面 10-10都是经典八股说说 Linux 常用操作,ps 是干嘛的Go map 为什么是无序的?MySQL 索引分类,索引的优点和缺点分库分表Cookie 和 Session 的区别和应用,分布式 Session 的实现TCP三次握手/四次挥手Redis 的数据类型及其数据结构,Bitmap 是什么Redis 的雪崩效应 ,是什么,怎么解决线程,进程,协程区别算法:用 Go 手撕快速排序二面 10-16挖掘项目HR 面 11-0215分钟左右自我介绍想从事的技术方向介绍实习项目,有什么难点觉得自己在哪些方面有不足自己的性格和工作风格哪里人,为什么投北京目前的秋招进度期望薪资多少反问:工作作息:早9晚6,双休技术栈:全部是 Golang后续:等通知闪送【职位描述】1、参与闪送运力业务线核心模块,如调度、生态等业务相关开发工作;2、参与闪送运力业务线架构设计和规划,设计合理、扩展性强的系统模型,提升需求迭代速度与系统能力;3、保障系统稳定性,通过系统设计、编码实现系统自我保护,提升系统可用性及可维护性;4、确保自身编码能达到高质量交付,且可以协同QA共同改进测试流程,实时优化系统性能,排除线上故障,确保系统稳定;5、积极主动协调团队成员完成项目,信守承诺,言出必行。【任职资格】1、全日制统招本科及以上学历,计算机相关专业;2、具有扎实的数据结构、操作系统、算法、网络等计算机基础知识;3、掌握Golang编程语言,掌握面向对象的编程思想,会使用常用的shell命令;4、熟悉Mysql数据库的基本使用,熟练使用SQL语句,了解数据库索引结构、事务隔离机制、锁等;5、优秀的逻辑思维能力,善于从复杂系统表象拆解分析问题,有较强解决问题能力;6、善于交流,有良好的团队合作精神和协调沟通能力,有一定项目推动能力。具备以下经验者优先:1、有参加各种计算机竞赛并获奖的经历;2、有原创的技术博客或者参与过知名的开源项目或者某开源项目作者;3、有在知名公司核心部门实习经历且实习时间不少于6个月。笔试 10-08编程题2道:100 + 100一面 10-1350min,无手撕项目挖掘GO:slice 和 array 的区别map, slice 未初始化,操作会怎么样。发生 panic 应该怎么办recover 怎么使用的,defer 相比普通的在函数最后执行操作,其优势是什么channel 相关操作map 有序无序,为什么?map 是否并发安全?如何保证并发安全?map 并发读写都是不安全的。如何控制 GMP 中 M 的数量?(???)如何控制 goroutine 的生命周期,channel 的作用,context 的作用select 如何使用?new 和 make 的区别?MySQL 的事务隔离级别,可重复读解决什么,幻读是什么?MySQL 修改数据库某个表的字段用什么指令?TCP 三次握手,两次握手会怎么样,TCP 和 UDP 的区别,什么时候用 UDPRedis 的数据结构有哪些?GEO 怎么用的?Redis 如何实现分布式锁?CAP 理论,举个场景,为什么只满足一个就不能满足另外两个Linux 的常用命令说说git 创建分支的指令,git 合并分支的命令,git 如果提交了想撤回使用什么docker 容器之间无法访问可能是什么原因项目中遇到的问题反问:语言:Go 和 Java 都有,你面的部门的业务线是 Go技术栈:web 框架是自研的二面 10-25面试官人很好很诚恳,也给出了很多有用的建议语言层面:Go 和 Java 对比Go 的并发模型Go 的错误处理和 Java 的异常处理对比设计模式,写开源项目有没有特地用过设计模式数据库:跳表的实现原理Redis 跳表 和 MySQL B+ 树的对比MySQL 的 MVCC 机制Redis 的分布式锁Redis 的分布式锁和 Zookeeper 的分布式锁的区别?(???)其他:用过哪些消息队列?为什么需要消息队列?一个完整的链路中,因为消息队列异步的业务,如何做链路追踪?(???)未来的职业规划?对哪个方面的技术比较感兴趣?反问:常用技术栈?对应届生的要求?1、耐心 2、保持好奇HR面 10-31基本就是HR面常见问题,聊了40分钟左右,记录几个还有印象的学业情况都完成了吗?是哪里人?为什么选择投北京的?对闪送公司本身和业务的理解?竞赛经历,挑了个最大的问在其中做了什么,收获了什么?实习经历?每段实习做什么,收货了什么?说一说有没有通过自己的逻辑能力来解决某些复杂的系统问题?认为国内技术最好的互联网公司是哪家?面过吗?自己分析下是为什么挂了?职业规划?反问:闪送就一个业务部门,只是可能会做不同的事情闪送的作息相比其他互联网会比较轻松中国移动信息技术中心任职要求:1.熟悉掌握Java、Go其中至少一种开发语言,熟练掌握Linux系统;2.有良好的研究背景和成果,对云计算领域兴趣浓厚;3.具备创造性思维,对工作充满热情,具备良好的团队合作精神和沟通能力,有良好的文档和PPT撰写能力;4.熟练使用主流数据库及中间件(Mysql、Redis、Rabbitmq、Kafka、Zookeeper等);5.有Kubernetes、Docker、Container等技术相关经验者优先;工作职责:1、负责云计算PaaS平台相关模块的研发工作,参与平台架构设计、方案编写等工作;2、跟踪云计算领域技术发展趋势,推动平台整体架构规划持续演进;参与开源组件架构、源码解读,跟进开源技术,参与开源组件的定制化开发、改造及优化3、参与项目管理,协助推进项目设计、建设,确保项目的顺利上线,参与需求分析和沟通工作,协助形成需求设计文档4、负责平台部分模块的代码修改、设计、研发、持续迭代等自主研发工作;5、开发技术栈包括但不限于Java、Golang、前端相关语言等;6、参与DevOps、云原生开发、K8s等关领域的前沿技术研究;笔试 10-28一面 10-19自我介绍介绍开源,项目会参与开源项目吗,一般是个人项目,还是团队项目PaaS 是什么?用过哪些 CI/CD 的工具Jekins 的部署流程镜像仓库是推送到哪里用过哪些 NoSQLMySQL 和 MongoDB 应用场景【绝杀】如果大厂和我们同时给你发 Offer,会怎么选?应届生应该会优先选大厂吧【注意以后回这种问题要尽量挖掘该公司,该岗位的优势】二面 11-012个面试官轮流问,还有1个应该是HR小姐姐自我介绍问开源项目,Star数量,写的哪些项目,为什么写,具体如何实现(拷打项目细节)问竞赛细节,参加哪些竞赛,有哪些是自发参加的问实习情况,除了个人项目还有哪些项目,学校里和导师做过科研项目吗问对 K8S 的了解,有哪些概念和组件,如何编写自动化部署脚本(没研究过,让我说自己的理解)问是哪里人,为什么选择投北京的未来三到五年的职业规划对于团队合作和个人做项目更偏向于哪个会想要担当团队中的领导人吗反问:业务技术栈流程:就两面,后续等通知金山笔试 09-2415基础选择题 + 5Go选择题 + 3编程题(100 + 100 + 100)一面 10-18时长:45 min,项目占一大半时间,八股比较少自我介绍项目:简历上三个项目都问了,还出了很多场景题文件存储用的什么?用的 key 是什么?有考虑过相同文件重复的问题吗?你的开源项目的出发点是什么?怎么想到这个思路的?项目存在的问题?屏幕共享进行演示和代码讲解八股:Go GMP 调度机制Go string 和 []byte 的区别操作系统中零拷贝MySQL InnoDB 的存储结构,B+树K8S 的金丝雀部署其他:实习时项目开发的流程是什么?反问:服务端技术栈:主要就是 Go流程:两轮面试 + HR二面 10-27聊项目每日互动一面 10-19时长:1 小时,无手撕,基本全程项目自我介绍屏幕共享,讲解开源项目,讲解博客开源组件库的实现思路,有没有什么参考博客开源项目,有没有什么参考权限模块是怎么实现的用户发现访问速度比较慢,有哪些排查思路(前后端)负载均衡有哪几种?Web 开发需要考虑的安全性有哪些方面mkdir /a/b/c 爆错,怎么解决?加 -p对函数式编程有所了解吗Java 和 Go 的区别说说你认识的设计模式说说知道的排序算法介绍一下 Docker 和 K8S 相关栈和队列的区别CSS 垂直居中Node 了解多少个人优势和缺点推荐两本书籍(技术 + 非技术)一块砖的作用(1分钟)未来的职业发展方向反问:技术栈:后端 Java/Go/Node,前端 Vue业务:面向政企二面 10-23有点偏 HR,都是比较宽泛的技术问题学校、竞赛问了下Java 和 Go 的区别对全栈的理解,以及为什么当全栈用过的语言个人性格怎么样,优缺点后续职业规划反问:公司业务:手机推送 SDK(个推)+ 面向政企提供信息化服务公司技术栈:Nodejs 为主,Java公司位置:杭州市西湖区HR面 10-25聊天百度一面 12-07二面 12-13三面 12-14字节跳动一战 timeline一面 09-041、自我介绍2、聊项目3、项目聊的很深,甚至面试官理解业务后还出了针对原项目的场景题怎么保证发送并发情况下发送多个邮件导致的邮件攻击问题如果因为网络问题导致邮件发送失败会怎么处理?(如何知道邮件发送失败了)4、聊到 Redis,问了些分布式锁相关的问题SETNX 和 SET NX 区别如何使用分布式锁解决前面项目中某个问题自旋锁的本质是什么?(如何实现的?)5、聊着聊着聊到 MySQL 慢 SQL 的查询索引有哪些分类聚簇索引和非聚簇索引回表是什么如何减少回表次数来优化如何排查慢 SQL如何最直观的查看慢 SQLEXPLAIN 执行计划要关注的字段如果设置了索引速度还是很慢怎么办6、聊到 MySQL 数据量大的问题MySQL 数据量非常大了以后要怎么做分库分表有几种思路说说适合你的业务的分库分表方案算法题:删除链表的倒数第 K 个元素(要求一次遍历,不能使用快慢指针)递归写完后,还加问了一句,堆和栈的区别是什么?二面 09-18体验不好面试官要求手撕一道竞赛题,撕完直接结束了可以看之前发的动态二战 timeline一面 11-07二面 11-10三面 11-28四面 12-01好未来09-09 一天三面(二面挂)一面:说下四次挥手的过程为什么需要 2MSL?2MSL 会产生什么问题?使用 gorm 遇到过哪些坑_更新时用结构体更新,不会更新零值,需要用 map 数组_time.Time日期格式默认是 ISO 8601 格式,想要更改格式需要自定义时间结构体MySQL 的事务隔离级别说一下默认隔离级别是什么,解决了幻读吗为什么没有完全解决幻读?说个 case说一下 Redis 和 Memcached 的区别?Redis 的 的数据可能会丢失吗?(操作系统层面)生成 RDB 文件期间,如果 Redis 奔溃,数据会丢失RDB 后台进程刷盘,操作系统层面可能会丢失AOF 默认每秒同步一次文件,这秒内 Reids 奔溃,数据会丢失Redis 两种持久化方式Redis 实现排行榜使用什么数据结构?说一下对 MySQL 的 事务的理解为什么  MySQL 使用 B+ Tree,Redis 使用跳表?虚拟内存的作用?Swap 机制是什么?作用是什么?通过 Swap 交换的内存比一般磁盘 IO 更快吗?线程、进程、协程的区别?协程为什么是 2~4kb?算法题:顺时针打印矩阵二面:(挂了?)自我介绍说说个人项目中的亮点和技术说说从新考虑架构和设计项目会怎么设计平安金服一面 11-02二面 忘了当时晚上 8点左右在跑步,突然接到通知面试,回去随便面了面帷幄匠心09-25 一天三面(二面挂)一面:八股 + 简单叙述项目跳表的实现原理?查询和新增?Java 中非线程安全的数据结构算法:有效的括号 + 最长回文子串二面:(挂了)八股算法:无重复的最长子串 + 某个改编题(树相关)peropero小公司,当场表示面试通过,愿意来就发 offer小厂面试很轻松,聊天局:Go 的垃圾回收和 Java 的 垃圾回收的区别?Java的没背Go 的 CSP 并发编程介绍一下?Go 中的内存逃逸现象是什么?Nginx 的四层负载均衡和七层负载均衡Redis 的常用数据结构有哪些?Redis 实现一个同分数按时间戳的功能?游戏开发和常规开发的区别?未来的职业规划?下面完全就是聊天了。。。。公司技术,加班情况 ,业务分布,团队人手中金所一面 10-17自我介绍实习项目:点赞功能如何实现监听在线用户如何实现实习中负责哪些功能模块为什么不留在实习公司Restful 和  RPC 的区别?哈夫曼树是如何实现的?(??早忘了)用栈如何实现队列?MySQL 新增一列字段的语句?(具体忘了,只答了用 Alter)家在哪里?怎么知道我们公司的?反问:语言技术栈业务是什么最后:"感谢你参与今天的面试"二面 11-7(拒了)
点赞 78
评论 7
全部评论

相关推荐

02-28 17:01
门头沟学院 C++
俊朗的铁猫希望被捞:兄弟如果只想搞钱的话,你这个简历最适合的其实是辅导机构做dai写啥的真的特别赚
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务