2024年最全Python面试题大全(五):测试、大数据、数据结构(1),2024年最新大数据开发系统工程师面试题

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

215.其他常用笔试题目网址汇总

216.测试人员在软件开发过程中的任务是什么

217.一条软件Bug记录都包含了哪些内容?

218.简述黑盒测试和白盒测试的优缺点

219.请列出你所知道的软件测试种类,至少5项

220.Alpha测试与Beta测试的区别是什么?

221.举例说明什么是Bug?一个bug report应包含什么关键字?

数据结构


222.数组中出现次数超过一半的数字-Python版

223.求100以内的质数

224.无重复字符的最长子串-Python实现

225.通过2个5/6升得水壶从池塘得到3升水

226.什么是MD5加密,有什么特点?

227.什么是对称加密和非对称加密

228.冒泡排序的思想?

229.快速排序的思想?

230.如何判断单向链表中是否有环?

231.你知道哪些排序算法(一般是通过问题考算法)

232.斐波那契数列

**数列定义: **

f 0 = f 1 = 1 f n = f (n-1) + f (n-2)

根据定义

速度很慢,另外(暴栈注意!⚠️️) O(fibonacci n)

def fibonacci(n):

if n == 0 or n == 1:

return 1

return fibonacci(n - 1) + fibonacci(n - 2)

线性时间的

状态/循环

def fibonacci(n):

a, b = 1, 1

for _ in range(n):

a, b = b, a + b

return a

递归

def fibonacci(n):

def fib(n_, s):

if n_ == 0:

return s[0]

a, b = s

return fib(n_ - 1, (b, a + b))

return fib(n, (1, 1))

map(zipwith)

def fibs():

yield 1

fibs_ = fibs()

yield next(fibs_)

fibs__ = fibs()

for fib in map(lambad a, b: a + b, fibs_, fibs__):

yield fib

def fibonacci(n):

fibs_ = fibs()

for _ in range(n):

next(fibs_)

return next(fibs)

Logarithmic

矩阵

import numpy as np

def fibonacci(n):

return (np.matrix([[0, 1], [1, 1]]) ** n)[1, 1]

不是矩阵

def fibonacci(n):

def fib(n):

if n == 0:

return (1, 1)

elif n == 1:

return (1, 2)

a, b = fib(n // 2 - 1)

c = a + b

if n % 2 == 0:

return (a * a + b * b, c * c - a * a)

return (c * c - a * a, b * b + c * c)

return fib(n)[0]

233.如何翻转一个单链表?

class Node:

def init(self,data=None,next=None):

self.data = data

self.next = next

def rev(link):

pre = link

cur = link.next

pre.next = None

while cur:

temp = cur.next

cur.next = pre

pre = cur

cur = tmp

return pre

if name == ‘main’:

link = Node(1,Node(2,Node(3,Node(4,Node(5,Node(6,Node7,Node(8.Node(9))))))))

root = rev(link)

while root:

print(roo.data)

root = root.next

234.青蛙跳台阶问题

一只青蛙要跳上n层高的台阶,一次能跳一级,也可以跳两级,请问这只青蛙有多少种跳上这个n层台阶的方法?

方法1:递归

设青蛙跳上n级台阶有f(n)种方法,把这n种方法分为两大类,第一种最后一次跳了一级台阶,这类共有f(n-1)种,第二种最后一次跳了两级台阶,这种方法共有f(n-2)种,则得出递推公式f(n)=f(n-1) + f(n-2),显然f(1)=1,f(2)=2,这种方法虽然代码简单,但效率低,会超出时间上限

class Solution:

def climbStairs(self,n):

if n ==1:

return 1

elif n==2:

return 2

else:

return self.climbStairs(n-1) + self.climbStairs(n-2)

方法2:用循环来代替递归

class Solution:

def climbStairs(self,n):

if n1 or n2:

return n

a,b,c = 1,2,3

for i in range(3,n+1):

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

n range(3,n+1):

[外链图片转存中…(img-pgdkZhb7-1715281345880)]
[外链图片转存中…(img-z3HQKYah-1715281345880)]
[外链图片转存中…(img-ixVSUWVt-1715281345880)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值