
0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享
KarenZZZ:请问22届毕业生暑期实习没有合适的岗位想投日常实习,但是因为还在上课,6月底结课后才能立即入职,我现在开始投日常实习的话HR会觉得入职时间离现在太久然后就不进行下一步了嘛

0 点赞 评论 收藏
分享
程序员臻叔:以上面试题部分答案:
二面 60min左右
1、Python深拷贝和浅拷贝
浅拷贝:创建一个新的组合对象,这个新对象与原对象共享内存中的子对象。
深拷贝:创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。虽然实际上会共享不可变的子对象,但不影响它们的相互独立性。
浅拷贝和深拷贝的不同仅仅是对组合对象来说,所谓的组合对象就是包含了其它对象的对象,如列表,类实例。而对于数字、字符串以及其它“原子”类型,没有拷贝一说,产生的都是原对象的引用。
2、Python中*args和**kwargs的区别
在 python 中,*args 和 **kwargs 都代表 1个 或 多个 参数的意思。*args 传入tuple 类型的无名参数,而 **kwargs 传入的参数是 dict 类型。
3、数组和链表的区别
数组静态分配内存,链表动态分配内存;
数组在内存中连续,链表不连续;
数组元素在栈区,链表元素在堆区;
数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);
数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。
4、什么是死锁,产生死锁的原因和必要条件
死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所 站用不会释放的资源而处于的一种永久等待状态。死锁的四个必要条件:
• 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
• 请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
• 非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
• 循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等 待相邻进程正占用的资源。
java 中产生死锁可能性的最根本原因是:1)是多个线程涉及到多个锁,这些锁存在着交叉, 所以可能会导致了一个锁依赖的闭环;2)默认的锁申请操作是阻塞的。
如,线程在获得一个锁L1的情况下再去申请另外一个锁L2,也就是锁L1想要包含了锁L2, 在获得了锁 L1,并且没有释放锁 L1 的情况下,又去申请获得锁 L2,这个是产生死锁的最根本原因。
公众号【程序员臻叔】更多面试干货

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: