A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

公司名称:神州数据系统集成服务有限公司
注册规模:1000-9999人
公司地址:西安市雁塔区神州数码科技园
公司图片:
面试过程:
1、Linux命令
cd  ls chmodchown  mkdir cp mv grep cat find
2、简单说一下多线程
多任务可以由多进程完成,也可以由一个进程内的多线程完成。调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程存在一个进程至少有一个 线程,叫主线程,而多个线程共享内存(数据共享,共享全局变量),从而极大地提高了程序的运行效率。
3、创建两个线程,其中一个输出1-52,另外一个输出A-Z。输出格式要求:12A 34B 56C 78D
import threading
import time
# 大致思路
# 获取对方的锁,运行一次后,释放自己的锁
def show1():
    for i in range(1, 52, 2):
        lock_show2.acquire()
        print(i, end='')
        print(i+1, end='')
        time.sleep(0.2)
        lock_show1.release()
def show2():
    for i in range(26):
        lock_show1.acquire()
        print(chr(i + ord('A')))
        time.sleep(0.2)
        lock_show2.release()
lock_show1 = threading.Lock()
lock_show2 = threading.Lock()
show1_thread = threading.Thread(target=show1)
show2_thread = threading.Thread(target=show2)
lock_show1.acquire()  # 因为线程执行顺序是无序的,保证show1()先执行
show1_thread.start()
show2_thread.start()

4、说一下is 和==的区别
is 判断的是 a对象是否就是 b对象,是通过 id来判断的。 ==判断的是 a对象的值是否和b对象的值相等,是通过 value 来判断的。

5、深拷贝与浅拷贝区别
一、赋值 在Python中,对象的赋值就是简单的对象引用,这点和C++不同,如下所示: 16.a = [1,2,"hello",['python', 'C++']] 17.b = a 在上述情况下,a和b是一样的,他们指向同一片内存,b不过是a的别名,是引用。
我们可以使用bisa 去判断,返回True,表明他们地址相同,内容相同,也可以使用id()函数来查 看两个列表的地址是否相同。 赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了对象的引用。也就是 说除了b这个名字之外,没有其他的内存开销。修改了a,也就影响了b,同理,修改了b,也就影响 了a。 二、浅拷贝(shallow copy) 浅拷贝会创建新对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用。 浅拷贝有三种形式:切片操作、工厂函数、copy模块中的copy函数。 比如上述的列表a; 切片操作:b = a[:] 或者 b = [x for x in a]; 工厂函数:b = list(a); copy函数:b = copy.copy(a); 浅拷贝产生的列表b不再是列表a了,使用is判断可以发现他们不是同一个对象,使用id查看, 他们也不指向同一片内存空间。但是当我们使用id(x) for x in a和 id(x) for x in b来查看a和b 中元 素的地址时,可以看到二者包含的元素的地址是相同的。 在这种情况下,列表a和b是不同的对象,修改列表b理论上不会影响到列表a。 但是要注意的是,浅拷贝之所以称之为浅拷贝,是它仅仅只拷贝了一层,在列表a中有一个嵌套的 list,如果我们修改了它,情况就不一样了。 比如:a[3].append('java')。查看列表b,会发现列表b也发生了变化,这是因为,我们修改了嵌 套的list,修改外层元素,会修改它的引用,让它们指向别的位置,修改嵌套列表中的元素,列表的地 址并未发生变化,指向的都是用一个位置。 三、深拷贝(deep copy)
深拷贝只有一种形式,copy模块中的deepcopy()函数。 深拷贝和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。因此,它的时间和空 间开销要高。 同样的对列表a,如果使用 b = copy.deepcopy(a),再修改列表b将不会影响到列表a,即使嵌 套的列表具有更深的层次,也不会产生任何影响,因为深拷贝拷贝出来的对象根本就是一个全新的对象, 不再与原来的对象有任何的关联。 四、拷贝的注意点? 对于非容器类型,如数字、字符,以及其他的“原子”类型,没有拷贝一说,产生的都是原对象的 引用。 如果元组变量值包含原子类型对象,即使采用了深拷贝,也只能得到浅拷贝。
5、输入某年某月某日,判断这一天是这一年的第几天?(
import datetime
def dayofyear():
year = input("请输入年份:")
month = input("请输入月份:")
day = input("请输入天:")
date1 =datetime.date(year=int(year),
month=int(month),
day=int(day))
date2 = datetime.date(year=int(year),
month=1,day=1)
return(date1 - date2 + 1).days
6、如何用Python来进行查询和替换一个文本字符串?
可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0])
replacement是被替换成的文本
string是需要被替换的文本

count是一个可选参数,指最大被替换的数量


135 个回复

倒序浏览
感谢分享~
回复 使用道具 举报
感谢分享~
回复 使用道具 举报
回复 使用道具 举报
虽然我看不懂,但是我感觉应该是很厉害的
回复 使用道具 举报
回复 使用道具 举报
感谢分享     加油
回复 使用道具 举报
文章文采斐然,辞藻华美,语言朴实,文笔清新,情感丰富,人物形象饱满,条理清晰,结构层次分明,情节合理,跌宕起伏,描写生动,引人入胜,艺术感染力强,结尾画龙点睛,寓意深刻,发人深思,意味悠长。
回复 使用道具 举报
66666666666666666666
回复 使用道具 举报
文章文采斐然,辞藻华美,语言朴实,文笔清新,情感丰富,人物形象饱满,条理清晰,结构层次分明,情节合理,跌宕起伏,描写生动,引人入胜,艺术感染力强,结尾画龙点睛,寓意深刻,发人深思,意味悠长。
回复 使用道具 举报
回复 使用道具 举报

66666666666666666666
回复 使用道具 举报

66666666666666666666
回复 使用道具 举报
666666666666666666666
回复 使用道具 举报
厉害,66666
回复 使用道具 举报
神州数码信息神州数码信息神州数码信息神州数码信息
回复 使用道具 举报
回复 使用道具 举报
666666666666666666666
回复 使用道具 举报
黑马666666666666
回复 使用道具 举报
666666666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马