百度-移动软件开发-三面面经

背景:一开始投递的Java后端开发,笔试完调剂到移动软件开发,所以面试过程中没多问项目里的东西

一面(9.12-37min)

  1. 自我介绍

  2. 你为什么项目都是后端开发(一开始投递的后端开发,调剂到移动软件开发)

  3. 对移动端开发感兴趣吗?

  4. 如何保证一个变量的原子性

  5. 讲一下ThreadLocal

  6. HashMap底层数据结构

  7. HashMap扰动函数

  8. ConcurrentHashMap

  9. ConcurrentHashMap是不是绝对并发安全的

  10. 编程题:反转m到n之间的链表(头插法,思路对但是编译一直不全部通过,最后说你要是能写出来就二面,最后又给了两分钟,发现是中间不小心改变了m的值导致一直有错,后来用temp来记录m顺利通过)
  11. 最后追问你对移动端感兴趣么?

二面(9.12-55min)

  1. 自我介绍

  1. 算法题:先说一下LRU是什么?如何设计?然后开始写代码(顺利通过)

  2. 数据链路层

  3. ping内部流程

  4. TCP慢启动

  5. TCP三次握手

  6. TCP可靠传输

  7. 说一下可变大小的滑动窗口协议

  8. Https连接流程

  9. 说一下DNS解析过程

  10. DNS解析在网络不好的情况下怎么办

  11. DNS解析请求的服务器单机并且响应速度慢怎么办

  12. 问了一个 什么攻击(确实不知道,记不清面试官说的是什么攻击了)

  13. 操作系统是什么

  14. 并行和并发

  15. 页面调度算法有哪些

  16. 进程调度算法(说了5个就给打断了)

  17. 知不知道公平调度算法

  18. NIO和AIO
  19. 安卓和IOS你偏向哪一个
  20. 最后提了一嘴他们组有个十分优秀的小伙子从安卓转IOS,也不错

三面(9.12-56min)

算是hr面,但是面试官应该也是搞技术的(面试官说话十分温柔),一开始问了一些常规的hr都问的问题,最后问了一些项目的相关问题。

  1. 项目架构的搭建怎么做的?

  2. 项目那一部分是你所设计的大概说一下

  3. 知道那些设计模式

  4. 观察者模式用到那些设计原则

  5. 反问:因为我是一开始投递的后端开发,就让面试官给讲一下开发过程中后端和移动端的区别,安卓和ios的区别。面试官进行了详细的说明
奉上面经,希望能有好的结果
--------------------------------------------------------------------------------------------------------------------------------------
更新:9.18 收到了意向书😁
#百度面试##面经##软件研发工程师##百度#
全部评论
我也是今天面的移动 三面完就是等通知吗
1 回复 分享
发布于 2021-09-12 12:53
老哥请问10 11怎么答
点赞 回复 分享
发布于 2021-09-12 13:26
师兄总结的真好。
点赞 回复 分享
发布于 2021-09-12 13:44
后端的还可以投移动端是么
点赞 回复 分享
发布于 2021-09-12 17:49
我感觉后端调到移动端的都是三连面 难度都不是一个级别的😂
点赞 回复 分享
发布于 2021-09-12 18:45
我也是三连面,面完还说给了一个微信。希望有好运~
点赞 回复 分享
发布于 2021-09-12 19:35
a多少题被调剂了
点赞 回复 分享
发布于 2021-09-12 21:18
m
点赞 回复 分享
发布于 2021-09-12 21:19
一样 看看能不能有好运
点赞 回复 分享
发布于 2021-09-12 21:52
同昨天三连面,祝楼主好运
点赞 回复 分享
发布于 2021-09-13 10:32
师兄总结的真好
点赞 回复 分享
发布于 2021-09-13 17:43
原来大家都是连着三面来的,那看来我是凉了🤣
点赞 回复 分享
发布于 2021-09-13 23:54
问题12可能问的是CSRF跨域攻击
点赞 回复 分享
发布于 2021-09-14 22:23
想问一下三面一共面了多久,明天1点开始三连面,5点40还有其他的公司的hr面,想看看是否需要做调整
点赞 回复 分享
发布于 2021-09-25 14:35
老哥ConcurrentHashMap回答了扩容机制吗
点赞 回复 分享
发布于 2021-10-07 11:20
老哥二面10和11怎么回答啊
点赞 回复 分享
发布于 2021-10-07 11:50
12号面完的,到现在还是面试流程中,应该凉了吧
点赞 回复 分享
发布于 2021-10-14 17:50
全网劝退客户端,,,
点赞 回复 分享
发布于 2022-02-23 16:17

相关推荐

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道真题和解析
点赞 评论 收藏
分享
评论
22
105
分享

创作者周榜

更多
牛客网
牛客企业服务