百度教育事业部 后端开发面经

8.28 百度教育事业部

项目

1. 项目难点是啥 详细说一下 怼了十几分钟

Mysql

1. mysql为啥用b+树做索引 为什么不用二叉树 追问详细原因

2. B树和B+树区别 实现的细节 每层都多少节点 一个b+树索引几层就满足要求了 最多可以存出多少数据 详细计算逻辑

3. mysql的数据结构 加载到内存当中是什么数据结构 怎么存储的

4. 你们数据库设计时主要考虑那几个方面 为什么

5. MVCC整个流程说一下 怼技术细节

Go

1. GMP中的M 具体指的啥 对应的内核的什么 详细说一下 G除了系统调用会阻塞 还有啥呢

2. P怎么调度的G

3. slice是怎么扩容的 底层实现是什么 删除数据时 内存会怎么操作

4. GMP中G的轻量级 体现在什么方面 为什么比线程轻量级 从内核态和用户态分析下

5. 为什么要分内核态和用户态

计算机网络

1. http请求过程 详细说一下 每一步涉及到的协议是干啥的

2. 负载均衡怎么做的,你们项目中怎么实现的

3. 项目当中高可用怎么实现的

场景题

5万多用户同时修改自己的用户信息,保证成功 从资源调度 框架选择 代码架构 内存管理

中间件等方面说一下

问了一个小时吧 暂时想起这么多 回答上来80%左右吧 基础还是不太行 面试官是大佬 最后说了可能跟岗位不合适 没问算法 凉

hr 打电话了换个部门接着面 搜索产品部 再来一次一轮游吧

10.9号 百度搜索产品组面试 (ps:话说搜索产品组好像是百度核心部门)

项目

1. 怼项目 项目难点 怼了多半小时 你就是个监控平台有什么难度呢 平台难度(答实验室负责项目的深度,我们baas组需要在其基础上封装,做好多的工程性模块,使其产品化,负责项目的广度等,反正项目很重要,怼了半个小时吧)

2. WebSocket跟http的区别 为什么选择websocket作为项目的技术架构 问一些技术细节

Go

1. slice和array的区别 是线程安全的吗 深拷贝怎么说

2. Map是线程安全的吗

Mysql

1. mysql是什么类型的数据库

2. 聚集索引和非聚集索引 一个数据库有几个聚集索引和非聚集索引索引呢

3. 数据库并发怎么整 (加锁)

4. 主从复制你们怎么做的 问技术细节

5. 为什么索引使用 b+树而不是b树

场景题

1. 最近一小时内访问频率最高的10个ip

算法

1. 排序二维数组查找

2. 最大水槽面积

反问

问:咱们部门是干啥的 答:搜索啊 百度客户端 pc端搜索就是我们组做(果然核心部门

整体感觉不太难 面试官是个小姐姐 会跟你讨论一些问题 希望可以二面吧)

#百度面试#
全部评论
聊了一个小时 最后说不合时 唠的我嗓子都冒烟了 不合适不早说 哎 浪费感情
1 回复 分享
发布于 2022-10-02 18:41 北京
借楼,拉了个秋招的裙,需要的后台扣1
点赞 回复 分享
发布于 2022-10-02 21:27 浙江

相关推荐

02-27 22:59
已编辑
浙江工业大学 后端
年前就投递了后台开发的岗位,但当时投的太晚了已经没实习机会可捞我了。2.10腾讯实习基地(暑期实习提前批)启动后更新了简历,13号收到S3部门的面试邀请1.一面    2.14(周五) 20:00 一面 八股+算法题+SQL题    半小时后通过,2.17上午收到二面邀请2.二面    2.18(周二)19:00 二面 问了个人项目和之后的规划,并且介绍了部门业务    半小时后通过,一直没有约三面。    19号下午打电话催(因为同时面试的字节那边推到HR面了已经)第二天20号收到三面邀请3.三面    2.24(周一)11:00 三面 问个人项目+八股,也介绍了一下部门业务    第二天25号下午通过并同时收到HR电话面试邀请4.HR面(电话面试)    2.25(周二)18:30 HR面    确定了入职时间、薪资福利的一些事情然后进录用评估。说下周一左右发正式offer    从收到一面邀请到确定录用过了12天,三轮技术面,一轮HR面。腾讯在面试过程中都很友好,问题答不出来也会引导,没有刁难人的情况,每轮的反问阶段面试官都很热情的介绍部门工作内容。并且对双非也比较友好,我投简历除了腾讯字节都过不了初筛的upd:27号(周四)收到了正式offer#面经##实习基地##后台开发##后端##腾讯##面试时间线##暑期实习##牛客AI配图神器##字节#
点赞 评论 收藏
分享
02-27 21:19
已编辑
华南理工大学 Python
一面:计算机网络:三次四次握手三次建立tcp连接客户端-》服务端 发送建立连接请求syn 其中包含客户端的初始序列号《- 回复请求 可以连接 syn-ack-》发出连接信号ack  四次挥手断开tcp连接客户端-》服务 发送断开连接请求fin(finish)《-可以断开请求ack《-断开ack-》断开ack操作系统:进程与线程,线程通信,互斥锁,乐观悲观锁进程是资源分配和调度的最小单位,有独立的内存和资源  线程是执行的最小单位  进程由一条甚至多条的线程组成 ,进程的内存和资源被所有线程共享 线程通信 1共享内存(需要同步禁止(互斥锁)来避免竞争关系)2消息传递(使用队列、管道等数据结构实现)3信号量4条件变量 互斥锁保证共享资源的同步机制,确保同一时间只有一个线程可以访问共享内存读写锁对共享资源的同步机制读(共享锁)写(独占)适合读多写少 乐观锁指 假设最好的情况,即每次访问共享资源时不会发生冲突,因此在访问的时候不上锁,通常用在读操作较多的场景,可以减少锁开销,提高并发性能悲观锁指  假设最坏的情况,即每次访问共享资源时候回发生冲突 每次访问资源之前先枷锁 包括互斥锁 读写锁,适用于写操作较多的情况linux命令:用过的linux命令,查看进程psps aux:显示所有用户的进程,包括详细信息(如CPU和内存使用情况)。ps -ef:显示所有进程的完整信息。ps -e:显示所有进程。ps -u username:显示指定用户的进程。数据库sql写一个,模糊查询SELECT * FROM 表名WHERE 列名 LIKE '%关键字%';%关键字%:查询包含“关键字”的所有记录。关键字%:查询以“关键字”开头的记录。%关键字:查询以“关键字”结尾的记录。关键字_:查询以“关键字”开头,后跟一个字符的记录。关键字%_:查询以“关键字”开头,后跟一个或多个字符的记录冒泡排序实现原理,复杂度,快排复杂度重复地遍历待排序的列表,依次比较相邻的两个元素,如果它们的顺序错误就交换它们。这个过程会重复进行,直到没有需要交换的元素为止,此时列表已经排序完成。快排递归 时间logn 空间nlogn最有挑战的事情从0到1搭建Python+Pytest接口自动化测试框架环境的搭建接口测试pytest学习jenkins环境搭建和配置测试报告生成性能测试 (压力测试)Jmeter性能场景分析于创建压测脚本编写及调试脚本执行指标监控(业务指标、硬件指标、软件指标 grafana定位瓶颈性能调优输出测试报告业务指标:并发用户数 TPS 成功率95 响应时间硬件指标 :CPU资源利用率、内存利用率、磁盘I/O、网络I/O软件指标:线程数、JSBC连接池、慢SQLtps上不去,分析下原因?(素材库录用、上传首先是压力机压力不够,比如用我们笔记本压不到那么高TPS, 所以我们公司有自己测平台,分布式集群压测。网络带宽,单位时间内网络传输数据量过大,超过带宽处理能力慢查询(数据库连接池配置过小,最大连接数不够 50 redis 表结构 查询优化Cpu,内存,磁盘硬件资源达到瓶颈中间件redis也有可能存在瓶颈比如缓存穿透,缓存过期等等存在大量线程阻塞,线程死锁等中间件消息队列拥堵响应时间过长 95大服务器硬件资源cpu,内存,磁盘达到瓶颈,可以使用监控命令排查网络问题导致,比如丢包,带宽不够等等线程出现死锁,阻塞等问题可以用jstack查看中间件比如mq消息队列拥堵排队等数据库层面sqI不够优化,没有索引,联合索引失效等,数据库连接数不够最自豪的事情代码:求1-n中,3和5的倍数,并相加def sum_multiples_of_3_and_5(n):    total_sum = 0    for i in range(1, n + 1):        if i % 3 == 0 or i % 5 == 0:            total_sum += i    return total_sum能不能实习课程安排 二面:自我介绍浏览器输入baidu.com的详细过程,说完然后继续问能不能详细讲1 dns将域名-》IP地址 计算机通过IP地址定位和连接其他服务器2 tcp握手3-》 通过tcp连接向百度服务器发出https( SSL/TLS )请求 请求的 URL 通常包括:请求方法(如 GET)、请求头(包括浏览器信息、语言、Cookie 等)以及目标资源的路径(如 / 或其他页面)。3百度使用https协议和客户端进行安全连接 ,处理请求返回html、css、js文件、图片等4浏览器解析收到的信息并渲染网页为什么不做开发,而选择测开1项目经历 爱好2性格3职业规划怎么判断bug是前端还是后端,1ui不符合(布局、交互、渲染) 前端2查看控制台,浏览器发起的请求 无返回或者返回信息错误(500、502) 后端3查看接口 返回数据正确 前端 错误 后端如果是后端,怎么去定位1 查看后端日志,包含错误信息 请求参数 响应 -》定位bug查看应用日志:大多数后端框架(如 Spring Boot、Express、Django 等)都会记录错误信息到日志中,查看日志能帮助你了解错误发生的上下文。查看数据库日志:如果问题涉及数据库查询或操作,可以查看数据库的查询日志。2借口测试检查响应状态码:例如,500 错误表示服务器内部错误,404 错误表示找不到资源。检查响应数据:确保返回的数据结构、字段值等符合前端的需求。3检查数据库是网络层哪一层应用 传输 数据格式化、加密解密、压缩网络 路由数据包 确保从源到目的地的传输 寻址和路由选择物理层 物理介质传输比特流写代码:最长公共前缀和,如何优化时间和空间口述思路:两个链表如何找交点,环形链表怎么处理智力题:三个箱子,苹果,橘子和混合,都贴错,只能打开一次,然后判断是否准确混合 三面:30min1.自我介绍2.项目提问3.如何理解测试开发    1 手动+自动化测试框架的开发      2 核心职责 1自动化测试脚本的编写 ,这些脚本通常使用一些测试框架(如 Selenium、Appium、TestNG、JUnit 等)来执行功能测试、回归测试、性能测试等。2测试框架的开发,已有的市面上测试框架不满足细化需求 、开发测试框架满足定制化需求3测试环境的搭建 选择合适的操作系统、浏览器、数据库等,确保测试在真实或接近真实的生产环境中运行。包括 CI/CD(持续集成/持续交付) 环境的配置,如 Jenkins、GitLab CI 等。    3与开发团队的协作4.为什么投百度,是否投其他公司    有 贵公司能力、红利 能力契合 职业发展规划
查看22道真题和解析
点赞 评论 收藏
分享
评论
4
16
分享

创作者周榜

更多
牛客网
牛客企业服务