获赞
16
粉丝
3
关注
6
看过 TA
7
同济大学
2021
测试开发
IP属地:上海
关于字节跳动招聘的问题可以随时私信问我哈~~
私信
关注
2020-07-22 11:34
已编辑
字节跳动_抖音_研发工程师
双非渣本985硕非计算机科班,能拿到字节提前批offer表示很开心了,之前在牛客看的很多面经都遇到了,特来牛客还愿,祝大家秋招都offer +1+1+1...... 7-12 一面 60min左右 1、自我介绍 2、数据库左连接、右连接、内连接 3、数据库索引 4、线程和进程的区别 5、Python垃圾回收机制(引用计数机制为主,标记清除和分代收集为辅) 6、HTTP和HTTPS的区别,HTTP1.0、1.1和2的版本区别,HTTPS的请求过程 7、HTTP的8种请求方式,GET和POST的区别 8、什么是黑盒、白盒、灰盒测试,白盒...
程序员臻叔:以上面试题部分答案: 二面 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,这个是产生死锁的最根本原因。 公众号【程序员臻叔】更多面试干货
投递字节跳动等公司9个岗位 >
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务