百度一面

百度一面比较简单

上来就问问项目做得什么、实现了哪些类、哪些接口,挑一个说了。

接着问Linux熟不熟,其实不是很熟,就一些基本的

问数据结构:

1.如何判断单链表有环:用一个指针跑2步,一个指针跑1步,如果第一个指针能与第二个指针相等并且不等于NULL就说明有环jei。

接着问如何判断环的入口,我回答的答案开销比较大.最简单的就是做个hash了,哈哈,肯定不满意的

2.问了如何判断2个链表是否相交,接着问如何找到相交的节点,然后把代码写下来,写的还不错

最直接的方法用栈了吧,从栈顶开始弹出找到最后一个相同的节点.

还有一种就是先计算2个链表的长度,求出长度差L,定义2个指针分别指向2个链表的头部,长的那个链表先走L步,然后2个指针一起走直到走到相同的节点。

用第二种方法写了代码。感觉整个过程还挺轻松的。



为了准备百度一面的面试资料,可以从以下几个方面入手,结合百度公司的技术栈和常见的面试问题进行准备: ### 1. 了解百度的技术栈和产品 百度作为一家以搜索为核心的公司,其技术栈主要包括前端技术、后端技术、AI技术等。在前端技术中,特别关注HTML5的语义化、SSR(服务器端渲染)等技术,因为这些与百度的搜索引擎优化密切相关。此外,百度在AI领域有较多的应用,包括自然语言处理、深度学习等,这些都是面试中可能涉及的内容[^2]。 ### 2. 常见的编程题目 在百度一面中,通常会涉及一些编程题目。这些题目主要考察候选人的基础编程能力和算法理解能力。以下是一些常见的题目类型: - **数组和字符串操作**:例如,找出数组中重复最多的数,或者对字符串进行操作,如反转单词顺序等。 - **链表操作**:如单链表的快速排序。 - **树的操作**:如二叉树的后序遍历,尤其是非递归实现。 - **动态规划和贪心算法**:如砝码称重问题。 以下是一个简单的快速排序实现示例: ```python def quick_sort(arr): if len(arr) <= 1: return arr else: # 选择基准值 pivot = arr[len(arr) // 2] # 分别存放比基准小和大的元素 left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] # 递归地对左右两边进行快排,并合并结果 return quick_sort(left) + middle + quick_sort(right) ``` ### 3. 项目介绍和自我介绍 面试中通常会要求候选人进行自我介绍,并介绍自己最满意的项目。在准备这部分内容时,要确保能够清晰地表达自己的贡献、项目的难点以及解决的问题。 ### 4. 软技能和团队合作 除了技术能力外,百度的面试官也会关注候选人的软技能,如沟通能力、团队合作能力以及解决问题的能力。在面试中,可以通过具体的例子来展示这些能力。 ### 5. 提前准备 在面试前,了解公司的产品和技术栈是非常重要的。例如,百度是搜索公司,因此前端技术与搜索关联密切,特别是HTML5的语义化和服务器端渲染(SSR)等技术[^2]。 ### 6. 面试心态 面试过程中保持冷静和自信是非常重要的。如果遇到不懂的问题,可以坦诚地告诉面试官,并表示愿意学习和尝试解决问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值