2025年百度公司校园招聘面试题及解析指南.docxVIP

  • 3
  • 0
  • 约5.1千字
  • 约 19页
  • 2025-09-10 发布于福建
  • 举报

2025年百度公司校园招聘面试题及解析指南.docx

第PAGE页共NUMPAGES页

2025年百度公司校园招聘面试题及解析指南

一、编程题(3题,每题10分)

题目1:字符串反转

题目描述:

给定一个字符串`s`,原地反转字符串中的字符顺序。不得使用额外的存储空间。

示例:

输入:`hello`

输出:`olleh`

要求:

1.时间复杂度:O(n)

2.空间复杂度:O(1)

题目2:合并两个有序链表

题目描述:

合并两个有序链表,返回合并后的有序链表头节点。

示例:

输入:

-链表1:`1-2-4`

-链表2:`1-3-4`

输出:`1-1-2-3-4-4`

要求:

1.时间复杂度:O(m+n)

2.空间复杂度:O(1)

题目3:查找无重复字符的最长子串

题目描述:

给定一个字符串`s`,找出其中不含有重复字符的最长子串的长度。

示例:

输入:`abcabcbb`

输出:`3`(abc)

要求:

1.时间复杂度:O(n)

2.空间复杂度:O(min(m,n))

二、算法题(4题,每题15分)

题目1:二叉树的最大深度

题目描述:

给定一个二叉树,返回其最大深度。

示例:

输入:

3

/\

920

/\

157

输出:`3`

要求:

1.使用递归或迭代方法

2.时间复杂度:O(n)

题目2:动态规划:斐波那契数列

题目描述:

给定一个整数`n`,计算斐波那契数列的第`n`项。

示例:

输入:`n=10`

输出:`55`

要求:

1.时间复杂度:O(n)

2.空间复杂度:O(1)

题目3:贪心算法:爬楼梯

题目描述:

假设你正在爬楼梯,每次可以爬1或2级台阶,给定台阶总数`n`,计算有多少种不同的爬法。

示例:

输入:`n=3`

输出:`3`

要求:

1.使用贪心算法

2.时间复杂度:O(n)

题目4:回溯算法:全排列

题目描述:

给定一个不含重复数字的数组,返回其所有可能的全排列。

示例:

输入:`[1,2,3]`

输出:`[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]`

要求:

1.使用回溯算法

2.时间复杂度:O(n!)

三、系统设计题(1题,30分)

题目:设计一个简单的URL短链接系统

题目描述:

设计一个URL短链接系统,要求:

1.输入长URL,输出短URL

2.输入短URL,能还原为原始长URL

3.系统需支持高并发访问

要求:

1.说明核心数据结构和算法

2.描述高并发解决方案

3.分析时间、空间复杂度

四、数据库题(2题,每题15分)

题目1:SQL查询优化

题目描述:

给定以下表结构,编写SQL查询:

sql

CREATETABLEorders(

idINTPRIMARYKEY,

user_idINT,

product_idINT,

order_timeDATETIME,

amountDECIMAL(10,2)

);

查询最近一个月内每个用户的总消费金额,按消费金额降序排列。

要求:

1.优化查询性能

2.说明索引使用

题目2:数据库事务

题目描述:

解释数据库事务的ACID特性,并举例说明脏读、不可重复读和幻读的区别。

要求:

1.定义ACID特性

2.分别举例说明三种读现象

五、网络编程题(2题,每题15分)

题目1:HTTP协议

题目描述:

解释HTTP协议中的GET和POST方法的区别,并说明HTTP请求的报文结构。

要求:

1.对比GET和POST

2.绘制HTTP请求报文结构图

题目2:TCP三次握手

题目描述:

解释TCP三次握手的流程,并说明四次挥手的过程。

要求:

1.详细描述三次握手步骤

2.说明四次挥手过程及状态转换

答案

编程题答案

题目1:字符串反转

思路:

使用双指针法,一个指向头,一个指向尾,交换字符,逐步向中间移动。

python

defreverseString(s:str)-str:

s=list(s)

left,right=0,len(s)-1

whileleftright:

s[left],s[right]=s[right],s[left]

left+=1

right-=1

return.join(s)

复杂度分析:

-时间:O(n)

-空间:O(1)

题目2:合并两个有序链表

思路:

创建虚拟头节点,比较两个链表当前节点的值,将较小节点接到结果链表上。

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.ne

文档评论(0)

1亿VIP精品文档

相关文档