精华内容
下载资源
问答
  • JAVA字节跳动面试题分享,一面
    2021-01-17 13:22:55

    大家的面经都看的足够多了吗?下面要给大家分享一个JAVA字节跳动面经,里面包含了面试题。

    是第一次面试,面试的岗位是Java后台开发实习。

    具体面试题:

    1、HashMap实现原理是怎样的?

    HashMap的实现原理:

    (1)用key的hashCode重新hash计算出当前对象的元素在数组中的下标

    (2)存储时,如果出现hash值相同的key,此时有两种情况。(1)如果key相同,则覆盖原始值;(2)如果key不同(出现冲突),则将当前的key-value放入链表中

    (3)获取时,直接找到hash值对应的下标,在进一步判断key是否相同,从而找到对应值。

    (4)理解了以上过程就不难明白HashMap是如何解决hash冲突的问题,核心就是使用了数组的存储方式,然后将冲突的key的对象放入链表中,一旦发现冲突就在链表中做进一步的对比。

    2、TreeMap实现原理是怎眼的?

    3、哈希冲突

    4、Mysql基本数据类型有哪些?

    MySQL的数据类型包括数字类型、时间与日期类型、字符串类型、空间数据类型等.....。

    5、Mysql存储过程是怎样的?

    6、HTTP协议

    7、TCP三次握手,四次挥手(经常出现这个)

    8、TCP和UDP的区别是什么?

    TCP与UDP的区别:

    (1)基于连接与无连接;

    (2)对系统资源的要求(TCP较多,UDP少);

    (3)UDP程序结构较简单;

    (4)流模式与数据报模式 ;

    (5)TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

    9、HTTP状态码

    10、锁

    11、synchronized用法

    12、TCP如何保证可靠连接?

    13、常见的哪些数据结构?

    体验:

    因为是第一次面试,所以感觉有点紧张,面试官非常的好。

    记住,面试的时候一定要冷静!

    以上就是全部的面试题介绍啦!更多的java相关面试题整理,请关注本站了解吧!

    更多相关内容
  • 字节跳动面试题

    千次阅读 2021-01-17 13:22:53
    守护线程是在程序运行时提供后台服务的线程,不属于程序运行中不可或缺的部分。 当程序中所有非守护线程结束时,程序也就终止,同时杀死所有的守护线程。 16.Stack与ArrayList的区别 Stack是用Vector实现的,Queue...

    Java

    1.ThreadLocal

    ThreadLocal实现线程本地存储的功能,同一个ThreadLocal所包含的对象,在不同的Thread中有不同的实例,获取ThreadLocal对象时其实是在Thread类中的Map类型的threadLocals变量中通过ThreadLocal变量为键值进行获取。

    2.volatile的作用和原理

    被volatile修饰的变量保证Java内存模型中的可见性和有序性。

    可见性:当一个线程修改了一个被volatile修饰的变量的值,新值会立即被刷新到主内存中,其他线程可以立即得知新值。

    有序性:禁止进行指令重排序。

    volaitle底层是通过内存屏障来实现可见性和有序性。内存屏障是一个CPU的指令,他的作用有两个,一是保证特定操作的执行顺序,二是保证某些变量的内存可见性。内存屏障告诉编译器和CPU,不管什么指令都不能和这条内存屏障指令重排序,另一个作用是强制刷出各种CPU的缓存资源,因此任何CPU上的线程都能读取到这些数据的最新版本。

    3.J.U.C中的锁

    Java提供了两种锁机制来控制多个线程对共享资源的互斥访问。

    实现

    公平锁

    等待可中断

    条件

    性能

    synchronized

    JVM

    非公平

    不可中断

    /

    大致

    ReentrantLock

    JDK

    非公平/公平

    可中断

    可绑定多个Condition

    相同

    除非要使用ReentrantLock的高级功能,否则优先使用synchronized,synchronized是JVM实现的一种锁机制,JVM原生的支持它,而ReentrantLock不是所有的JDK版本都支持。synchronized锁释放由JVM保证,ReentrantLock需要显式的释放。

    4.atomic包里的一些问题

    atomic是使用volatile和CAS来实现的

    5.HashMap的扩容

    当HashMap的容量到达threshold时,需要进行动态扩容,将容量扩大为原来的两倍,然后将存储的数据进行rehash。

    6.Semaphore信号量用来做什么?

    Semaphore信号量类似于操作系统的信号量,可以控制对互斥资源的访问线程数。

    7.Java内存模型

    CPU和内存之间增加高速缓存。

    所有的变量都存储在主内存中,每个线程有自己的工作内存,工作内存存储在高速缓存中,保存了该线程使用变量的拷贝。

    线程只能直接操作工作内存中的变量,不同线程之间的变量值传递需要通过主内存来完成。

    内存模型的三大特性:

    原子性:Java内存模型保证了read、load、use、assign、store、write、lock、unlock操作具有原子性

    实现:原子类、synchronized

    可见性:当一个线程修改了共享变量的值,其他线程能够立即得知这个修改。

    Java内存模型是通过在变量修改后将新值同步回主内存,在变量读取前从主内存刷新变量值来实现可见性

    实现:volatile、synchronize、final

    有序性:在本线程内观察,所有操作都是有序的。在一个线程观察另一个线程,所有操作都是无序的,无序是因为发生了指令重排序。

    实现:volatile、synchronized

    8.Java内存空间是怎么分配的?

    对象优先在Eden区分配

    大对象直接进入老年代

    长期存活的对象进入老年代

    动态对象年龄判定

    空间分配担保

    8.Full GC触发条件

    System.gc()

    老年代空间不足

    空间分配担保失败

    8.类加载机制

    加载:1.通过类文件加载二进制字节流 2.在方法区创建类的动态存储结构 3.在内存中创建class对象作为方法去的访问入口。

    验证:验证class文件的字节流是否符合虚拟机要求。

    准备:为类变量分配内存并设置初始值。

    解析:将常量池的符号引用替换为直接引用的过程。

    初始化:执行Java程序代码。

    8.新生代和老年代可以转换吗?

    对象优先分配在新生代的Eden区,通过长期存活(达到一定岁数)的对象进入老年代和动态对象年龄判定使对象从新生代进入老年代。

    9.这些内存里面的垃圾怎么回收?

    引用计数法和可达性分析法。回收算法包括:标记-清除、标记-整理、复制、分代收集算法。

    10.怎么判断是垃圾?GCRoot可以为哪些?

    可达性分析法中,从GC Root出发,不可达的是可以被回收的对象。

    Java虚拟机栈局部变量表中引用对象。

    本地方法栈JNI中引用的对象。

    方法区中类静态变量引用的对象。

    方法去中常量引用的对象。

    11.G1收集器

    垃圾收集器都存在 Stop The World 的问题,G1对这个问题进行了优化,G1对整个新生代和老年代一起回收,把堆划分为多个大小相等的独立区域region,使得每个region可以单独进行垃圾回收,通过记录每个region垃圾回收时间以及回收所获得的空间(通过过去回收的经验获得),并维护一个优先列表,每次根据允许的收集时间,优先回收价值最大的region。

    初始标记 -> 并发标记 -> 最终标记 -> 筛选回收

    特点:

    空间整合:基于标记-整理和复制,不会产生内存空间碎片

    可预测的停顿:也可以并发执行

    8.BIO、NIO、AIO

    BIO,同步阻塞IO,一个线程处理一个连接,发起和处理IO请求都是同步的

    NIO,同步非阻塞IO,一个线程处理多个链接,发起IO请求是非阻塞的,处理IO请求是同步的(轮询)

    AIO,异步非阻塞IO,一个有效请求一个线程,发起和处理IO请求都是异步的。

    9.AQS

    描述

    FutureTask

    用来封装Callable的返回值

    BlockingQueue

    当队列中没有元素时take()被阻塞,当队列满时put()被阻塞

    ForkJoin

    大的计算任务拆分成小任务,并行计算

    10.JUC

    描述 CountDownLatch countDown()会使计数器减1,当计数器为0时,调用await()的线程会被唤醒 CyclicBarrier await()会使计数器减1,当计数器为0时,所有调用await()的方法会被唤醒 Semaphore 类似于操作系统的信号量,可以控制对互斥资源的访问线程数

    11.实现线程安全的方法

    不可变

    synchronized和ReentrantLock

    CAS、AtomicInteger

    TreadLocal

    12.IO与NIO

    I/O

    NIO

    数据打包和传输方式

    是否阻塞

    阻塞

    非阻塞

    13.NIO

    通道(Channel):对原I/O包中的流的模拟,可以通过它读取和写入数据,流是单向的,通道是双向的,可以同时用于读、写或者同时用于读写。

    缓冲区:不会直接对通道进行读写数据,而是要先经过缓冲区。

    选择器(Selector):在Socket NIO用于IO复用。

    14.Class.forName()怎么执行的?

    15.守护线程是什么?守护线程是怎么退出的?

    守护线程是在程序运行时提供后台服务的线程,不属于程序运行中不可或缺的部分。

    当程序中所有非守护线程结束时,程序也就终止,同时杀死所有的守护线程。

    16.Stack与ArrayList的区别

    Stack是用Vector实现的,Queue是用ArrayList实现的,所以比较Stack与ArrayList的区别就是比较这两者之间的区别。

    一个先进先出,一个后进先出

    一个线程不安全,一个线程安全

    17.HashMap的rehash过程

    HashMap中使用一个技巧,和将哈希值与旧容量进行&运算,如果位上为0则在原位置,如果为1则在下边。

    18.hashcode和equals的区别

    equals用来判断实体在逻辑上是否相等,当重写equals方法时要重写hashcode方法。

    如果两个对象通过equals判定相等,则hashcode相等。

    hashcode相等,equals不一定相等。

    19.equals和==的区别?我要比较内容呢?

    equals:用来比较逻辑上是否相等

    ==:用来判断两个对象地址是否相同,即是否是同一个对象。

    20.Java代码编译过程

    词法分析 -> 语法分析 -> 语义分析 -> 字节码生成

    21.如何设计hash函数

    22.常用的线程池

    23.分段锁

    JVM

    1.运行时数据区域

    程序计数器

    JVM栈

    本地方法栈

    方法区

    运行时常量池

    功能

    记录正在执行的虚拟机字节码指令的地址

    栈帧用于存储局部变量表、操作数栈、常量池引用等信息

    与JVM栈类似,为本地方法服务

    对象分配区域,垃圾收集的主要区域

    用于存访加载的类信息、常量、静态变量、即时编译器编译后的代码

    方法区的一部分,存放生成的字面量和符号引用

    线程私有

    线程私有

    线程私有

    公有

    公有

    公有

    垃圾收集

    不需要

    不需要

    不需要

    需要(垃圾回收的主要区域)

    类的卸载:1.类实例被回收2.加载类的classloader被回收3.class对象没有被引用

    方法区在jdk1.8以前放在永久代中,jdk1.8以后放在本地内存中,而不是JVM内存

    需要

    2.垃圾收集算法

    新生代

    老年代

    垃圾收集算法

    复制(Eden:Survivor)

    标记-清除/标记-整理

    GC

    Minor GC

    Full GC

    触发条件

    Eden空间满时

    1.调用System.gc()

    2.老年代空间不足

    3.空间分配担保失败

    3.类加载过程:

    加载:从各种渠道获取二进制字节流转化为方法区的运行时存储结构,在内存中生成一个class对象作为访问入口。

    验证:确保字节流符合当前虚拟机的要求

    准备:为类变量分配内存并设置初始值

    解析:将常量池的符号引用替换为直接引用的过程

    初始化:虚拟机执行类构造器clinit方法的过程。()是由编译器自动收集类中所有类变量的赋值动作和静态语句块中的语句合并产生的

    4.引用类型

    描述

    强引用

    不会被回收

    软引用

    只有在内存不够的情况下才会被回收

    弱引用

    一定会被回收,只能存活到下一次垃圾回收发生之前

    虚引用

    不会对其生存时间造成影响,唯一目的是在这个对象被回收时收到一个系统通知

    5.垃圾收集算法

    描述

    不足

    标记-清除

    标记要收集的对象,然后清除

    标记和清除效率都不高,造成内存碎片

    标记-整理

    让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存

    对标记-清除算法的补充

    复制

    将内存划分为相等的两块,每次只使用其中的一块,当这一块内存用完了就将还存活的对象复制到另一块上面,然后把使用过的内存空间进行一次清理

    只使用了内存的一半

    分代收集

    他根据对象存活周期将内存划分为几块,不同块采用适当的收集算法。

    一般将堆分为新生代和老年代。

    新生代使用:复制算法

    老年代使用:标记-清除 或者 标记-整理 算法

    6.垃圾收集器

    多线程与单线程

    串行与并行

    描述

    适用场景

    Serial收集器

    单线程

    串行

    简单高效

    Client

    ParNew收集器

    多线程

    串行

    Serial的多线程版本

    Server

    Parallel Scavenge收集器

    多线程

    串行

    动态调整以提供最合适的停顿时间或者最大吞吐量

    注重吞吐量以及CPU资源敏感场合

    Serial Old收集器

    单线程

    串行

    Serial的老年代版本

    Client

    Parallel Old收集器

    多线程

    串行

    Parallel Scavenge的老年代版本

    注重吞吐量以及CPU资源敏感场合

    CMS收集器

    多线程

    串行/并行

    吞吐量低

    无法处理浮动垃圾

    标记-清除导致碎片

    G1收集器

    多线程

    串行/并行

    空间整合:基于 标记-整理

    可预测的停顿

    7.内存分配与回收

    描述

    特点

    触发条件

    Minor GC

    回收新生代

    频繁,快

    Eden区空间不够时

    Full GC

    回收老年代和新生代

    少,慢

    1. System.gc()

    2. 老年代不足(大对象、长期存活的对象进入老年代)

    3. 空间分配担保失败

    内存分配策略

    对象优先在Eden分配

    大对象直接进入老年代

    长期存活的对象进入老年代:年龄计数器

    动态对象年龄判定

    空间分配担保

    计算机网络

    1.简述TCP的三次握手、四次挥手,为什么要三次握手?为什么client会进入TIME_WAIT?

    TCP的三次握手:

    三次握手过程中主要对序号(seq)、确认序号(ack)、标志位(ACK、SYN)进行操作。

    (1)client端发送连接请求:SYN=1(建立新连接),seq=x

    (2)server端接收请求并返回确认报文:SYN=1(建立新连接),ACK=1(ack有效),ack=x+1,seq=y

    (3)client接收到确认报文,再次发送确认消息:ACK=1(ack有效),seq=x+1(client上一条请求seq+1),ack=y+1

    (4)server端收到确认后,连接建立

    TCP的四次挥手:

    (1)client端发送连接释放报文:FIN=1,seq=u

    (2)server收到之后发出确认,此时TCP属于半关闭状态,server能向client发送数据反之不能:ACK=1,seq=v ack=u+1

    (3)当server处理完毕后,发送连接释放报文:FIN=1,ACK=1,seq=w,ack=u+1

    (4)client收到后发出确认,进入TIME-WAIT状态,等来2MSL(最大报文存活时间)后释放连接:ACK=1,seq=u+1,ack=w+1

    (5)server收到client的确认后释放连接

    为什么要进行三次握手?

    第三次握手时为了防止失效的连接请求到达服务器,让服务器错误打开连接。

    客户端发送的连接请求如果在网络中滞留,那么就会隔很长时间才能收到服务器的连接确认。客户端等待一个超时重传时间后,就会重新发起请求。但是这个滞留的连接请求最后还是会到达服务器,如果不进行第三次握手,那么服务器就会打开两个连接。如果有第三次握手,客户端会忽略服务器发送的对滞留连接请求的连接确认,不进行第三次握手,因此就不会再次打开连接。

    为什么会有TIME_WAIT?

    客户端接收到服务器的FIN报文后进入TIME_WAIT状态而不是CLOSED,还需要等待2MSL,理由:

    确保最后一个确认报文能够到达。如果server端没收到client端发来的确认报文,那么就会重新发送连接释放请求报文。

    为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文。

    2.TCP的拥塞控制

    慢开始:最初,发送方只能发送一个报文段(假设),当收到确认后,将拥塞窗口(cwnd)加倍,呈指数型增长

    拥塞避免:设置一个慢开始门限ssthresh,当cwnd>=ssthresh,进入拥塞避免,每个轮次只将cwnd加1

    快重传:在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。例如已经接收到M1和M2,此时收到M4,应该发送对M2的确认。在发送方,如果收到三个重复确认,那么可以知道下一个报文段丢失,此时执行快重传,立即重传下一个报文段。

    快恢复:在这种情况下,只是丢失个别报文段,不是网络拥塞,因此执行快恢复,令ssthresh=cwnd/2,cwnd=ssthresh,此时直接进入拥塞避免。

    3.浏览器输入url请求服务器的过程,分析其中哪些部分用到缓存。

    输入url

    浏览器查找浏览器缓存

    若浏览器缓存中未找到,查找本机host文件

    若本机host文件中未找到,则查找路由器、ISP缓存

    若路由器、ISP缓存中未找到,则向配置的DNS服务器发起请求查找(若本地域名服务器未找到,会向根域名服务器->顶级域名服务器->主域名服务器)

    获取到url对应的ip后,发起TCP三次握手

    发送http请求,将响应显示在浏览器页面中

    四次挥手结束

    4.ARP(地址解析协议)

    ARP实现由IP地址得到MAC地址。

    主机A知道主机B的IP地址,但是ARP高速缓存中没有该IP地址到MAC地址的映射,此时主机A通过广播的方式发送ARP请求分组,主机B收到该请求后会发送ARP响应分组给主机A告知其MAC地址,随后主机A向其高速缓存中写入主机B的IP地址到MAC地址的映射。

    5.HTTP的流量控制,具体的控制算法

    流量控制是为了控制发送方发送速率,保证接收方来得及接收。

    接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。

    6.计算机网络体系结构

    设备

    地址

    通信方式

    数据单位

    协议

    描述

    应用层

    报文

    HTTP、DNS、FTP、DHCP、SMTP(邮件发送)、POP3和IMAP(邮件接收)

    为特定应用程序提供数据传输服务

    传输层

    报文段

    TCP

    为进程提供数据传输服务

    用户数据报

    UDP

    网络层

    路由器(路由选择和分组转发)

    路由协议选择:RIP/OSPF(内部)

    BGP(外部)

    IP地址

    分组

    IP协议(分类、子网划分、无分类)

    NAT:将本地IP转换为全球IP

    为主机提供数据传输服务

    地址解析协议(ARP):由IP地址得到MAC地址

    网际控制报文协议(ICMP):封装在IP数据包中,但不属于高层协议,是为了更有效地转发IP数据包和提高交付成功的机会。

    网际组管理协议(IGMP)

    数据链路层

    交换机(自学习交换表:MAC地址到接口的映射)

    一台主机有多少个网络适配器就有多少个MAC地址

    广播信道(星型、环形、直线型)

    信道复用技术

    频分复用

    时分复用

    统计时分复用

    波分复用

    码分复用

    为同一链路的主机提供数据传输服务

    点对点信道

    CSMA/CD

    物理层

    集线器

    单工通信

    半双工通信

    全双工通信

    比特

    在传输媒体上传输数据比特流

    在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。

    7.路由选择协议

    RIP

    OSPF

    BGP

    名称

    开放最短路径优先

    边界网关协议

    使用范围

    内部

    内部

    外部

    描述

    基于距离向量的路由选择协议

    洪泛法

    每个自治系统必须配置BGP发言人,发言人之间通过TCP连接来交换路由信息

    特点

    实现简单开销小

    最大距离为15,限制了网络规模

    故障传播时间长

    更新过程收敛快

    只能寻找一条比较好的路由,而不是最佳路由

    8.UDP和TCP比较

    UDP

    TCP

    连接

    无连接

    面向连接

    可靠

    尽最大能力交付

    可靠交付

    拥塞控制

    面向

    面向报文

    面向字节流

    通信

    一对一、一对多、多对一和多对多

    一对一,全双工通信

    HTTP

    1.HTTP的过程

    类似于浏览器输入url请求服务器的过程?

    2.HTTPS怎么建立请求

    HTTPS = HTTP + SSL(Secure Sockets Layer, 安全套接字层)

    HTTPS 可以防窃听(非对称密钥加密)、防伪装、防篡改(加密和认证)

    客户端发送请求到服务器端

    服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在

    客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端

    服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端

    客户端使用共享密钥解密数据

    SSL加密建立...

    3.GET和POST比较

    GET

    POST

    作用

    获取资源

    传输实体

    参数

    查询字符串

    request body

    安全(不会改变服务器状态)

    安全

    不安全

    幂等性

    满足

    不满足

    缓存

    可缓存

    多数情况下不可以

    MySQL

    1.mysql的索引,最左匹配原则

    索引可以加快对数据的检索。常见的有B+Tree索引,哈希索引。

    最左匹配原则:

    当索引是联合索引,在查询条件中,mysql是从最左边开始命中的,如果出现了范围查询(>、

    2.mysql的主从复制

    mysql为了保持高可用,会采用一主多从的结构,一个master节点,多个slave节点,master节点可以进行写操作,而slave节点只能进行读操作。

    binlog线程:将主服务器上的数据更改写入二进制日志中

    I/O线程:从主服务器上读取二进制日志,并写入从服务器的重放日志中

    SQL线程:读取重放日志并重放其中的SQL语句

    3.mysql的聚集索引、非聚集索引

    聚集索引:以主键创建的索引,在叶子结点上存储的是表中的数据

    非聚集索引:以非主键创建的索引,叶子结点上存储的是主键和索引列

    使用非聚集索引查询出数据时,拿到叶子上的主键再去查到想要查找的数据。(回表)

    4.mysql联合索引,要注意什么?

    联合索引即索引由多个列(a,b,c,d)组成,要注意索引的命中,最左匹配原则,从左开始命中,遇到范围查询就不能进一步匹配。

    5.为什么数据库要使用B+树来实现索引?

    更少的查找次数(B+树相比红黑树更矮胖)

    利用磁盘预读特性(一次IO能完全载入一个节点)

    6.MySQL索引

    描述

    特点

    使用场景

    B+ Tree索引

    使用B+ Tree作为底层实现

    对树进行搜索,查找速度快

    分为聚簇索引和非聚簇索引

    查找、排序、分组

    哈希索引

    使用哈希作为底层实现

    无法用于排序与分组

    只支持精确查找,时间复杂度为O(1)

    当索引值使用的频繁时,会在B+ Tree索引之上再创建一个哈希索引

    全文索引

    全文索引使用倒排索引实现,记录着关键词到其所在文档的映射

    查找文本中的关键词

    空间数据索引

    从所有维度来索引数据

    用于地理数据存储

    索引优化:

    独立的列:索引列不能是表达式的一部分,也不能是函数的参数。

    多列索引:多个列为条件查询时,使用多列索引。

    索引的顺序:让选择性最强的索引放在最前面。

    前缀索引:对于BLOB、TEXT、VARCHAR类型的列,必须使用前缀索引,只索引开始的部分字符。

    覆盖索引:索引包含所有需要查询的字段的值。

    索引的优点:

    大大减小了服务器需要扫描的行数。

    帮助服务器避免排序和分组。

    将随机I/O变为顺序I/O。

    7.InnoDB和MyISAM比较

    InnoDB

    MyISAM

    默认

    隔离级别

    四个隔离级别

    事务

    支持

    不支持

    行级/表级

    表级

    外键

    支持

    不支持

    备份

    在线热备份

    崩溃恢复

    概率高,恢复慢

    特性

    压缩表和空间数据索引

    使用场景

    读写分离的读表

    8.切分

    水平切分:将同一个表中的记录拆分到多个结构相同的表中。

    切分策略:

    哈希取模

    范围:ID或者时间

    映射表:使用单独的一个数据库来存储映射关系

    垂直切分:将一个表按列切分成多个表,通常按关系紧密度或者使用频率来切分。

    9.MySQL数据库是怎么插入的?

    10.事务怎么回滚?里面有什么日志?

    11.一百万条数据记录,如何分页显示最后一条?

    设一个列从1开始自增,并设为索引,以这个列为条件进行查询。

    12.数据库事务隔离级别,可重复度和可串行化实现的原理

    隔离级别:读未提交、读已提交、可重复度、串行化

    可重复度:MVCC(多版本并发控制)

    串行化:MVCC + Next-Key Locks(Record Locks(锁定索引) + Gap Locks(锁定索引间的间隙))

    数据库

    1.数据库并发一致性问题

    数据库并发一致性问题是由于隔离性导致的。

    丢失修改:新的修改覆盖了老的修改。

    读脏数据:读取其他线程rollback了的数据。

    不可重复读:数据的值被修改。

    幻影读:整条数据的插入和删除。

    2.封锁

    封锁粒度:表级锁 行级锁

    封锁类型:读写锁 意向锁

    封锁协议:三级封锁协议 两段锁协议

    3.多版本并发控制

    基于

    描述

    系统版本号

    系统

    没开始一个事务,系统版本号+1

    事务版本号

    事务

    事务开始时的系统版本号

    创建版本号

    行数据

    数据创建时的系统版本号

    删除版本号

    行数据

    数据删除时的系统版本号

    4.异常和数据库范式

    描述

    1NF

    属性不可分

    2NF

    每个非主属性完全依赖于键码

    3NF

    每个非主属性不传递函数依赖于键码

    5.连接

    关键字

    描述

    内链接

    INNER JOIN

    等值连接

    自连接

    INNER JOIN

    自己连接自己

    自然连接

    MATURAL JOIN

    所有同名列的等值连接

    外连接

    LEFT OUTER JOIN

    保留左表没有关联的行

    RIGHT OUTER JOIN

    保留右表没有关联的行

    OUTER JOIN

    保留所有没有关联的行

    数据结构

    1.B+树和B树的区别

    B+树的数据都在叶子结点上,而B树的非根非叶节点也是数据节点,所以B+树的查询更稳定。

    B+树有两个指针,一个指向root节点,一个指向叶子节点的最左侧,因此其范围查询效率更高,而B树则需要中序遍历B树。

    同阶的情况下,B+树节点中的关键字要比B树多一个,并且B+树的中间节点不保存数据,所以磁盘也能够容纳更多结点元素,因此B+树更加矮胖,查询效率也更高。

    2.红黑树

    红黑树是一个自平衡二叉查找树。时间复杂度O(log n)

    节点颜色为红或者黑

    根结点是黑色

    叶节点(NIL结点,空结点)为黑

    红节点的孩子为黑(路径上不能有两个连续的红节点)

    从根到叶子节点路径中的黑节点数相等

    3.红黑树和平衡二叉树的区别

    平衡二叉树和高度相关,保持平衡的代价更高(多次旋转),因此适用于插入、删除较少,查询较多的场景。

    红黑树和高度无关,旋转次数较少,因此适用于插入、删除较多的场景。

    框架

    1.Mybatis动态代理

    2.Spring IOC是什么?怎么实现的?

    3.Spring IOC里面的反射机制怎么实现的?

    Redis

    1.redis分片,客户端请求怎么处理?

    Redis的分片是指将数据分散到多个Redis实例中的方法,分片之后,每个redis拥有一部分原数据集的子集。在数据量非常大时,分片能将数据量分散到若干主机的redis实例上,进而减轻单台redis实例的压力。

    范围分片

    哈希分片

    分片的位置:

    客户端分片

    代理分片

    服务器分片

    2.redis的zset底层实现

    跳跃表来实现。

    跳跃表相比于红黑树的优点:

    存取速度快,节点不需要进行旋转

    易于实现

    支持无锁操作

    3.redis和mysql的区别

    redis是key-value非关系型数据库,MySQL是关系型数据库

    redis基于内存,也可持久化,MySQL是基于磁盘

    redis读写比MySQL快的多

    redis一般用于热点数据的缓存,MySQL是存储

    4.redis加锁

    redis为单进程单线程模式,采用队列模式将并发访问变为串行访问,redis本身没有锁的概念,但可以用redis实现分布式锁。

    INCR

    Redis Incr 命令将 key 中储存的数字值增一。

    如果 key 不存在,那么 key 的值会先被初始化为0 ,然后再执行 INCR 操作。

    SETNX

    SET:以上两种都没有设置超时时间,SET可以实现超时时间

    分布式锁的核心思想是将设置锁和超时时间、删除锁分别作为一个原子操作进行。

    5.redis的淘汰策略

    volatile-lru:在设置超时时间的数据中进行lru

    volatile-ttl:在设置超时时间的数据中挑选即将过期

    volatile-random:在设置超时时间的数据中随机挑选

    allkeys-lru:所有数据的lru

    allkeys-random:所有数据的随机

    noeviction:禁止驱逐数据

    6.redis无法被命中怎么办?会出现什么问题?

    无法被命中:无法直接通过缓存得到想要的数据

    解决方案:

    缓存尽可能聚焦在高频访问且时效性不高的业务热点上。

    将缓存容量设置为热点数据的容量。

    缓存预加载。

    设置合适的缓存淘汰策略。

    7.Redis和MySQL复制和分片

    复制

    分片

    MySQL

    三个线程(binlog线程、I/O线程、SQL线程),目的是实现读写分离

    水平切分、垂直切分

    Redis

    使用RDB快照进行复制,发送期间使用缓冲区记录执行的写命令,在RDB快照发送完毕后,发送缓冲区中的写命令

    水平切分

    8.Redis是什么?Sorted List是什么?skiplist是什么?怎么实现的?怎么插入一个值?怎么进行查询?和其他数据结构进行对比?

    9.Redis的hash和Java的map的区别

    消息队列

    JVM

    1.四种引用类型

    强引用:如用new关键字创建,不会进行回收。

    软引用:在内存不足的情况下会进行回收。

    弱引用:只能存活到下一次垃圾回收。

    虚引用:不影响其生存周期,只是在回收的时候收到一个系统通知。

    2.可达性分析算法的root

    可达性分析算法是从GC root出发,只有通过GC root可达的对象是被引用的对象,不可达的对象属于可以回收的对象。

    操作系统

    1.进程和线程的区别

    拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。

    调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程中的线程切换到另一个进程中的线程,会引起进程切换。

    系统开销:创建、撤销或切换进程,系统都要为之分配、回收资源或保存环境,开销远比线程大。

    通信方面:线程间可以通过直接读取统一进程中的数据进行通信,但是进程通信需要借助IPC。

    主线程是什么?

    2.操作系统的内存管理

    分页地址映射:分页是一种动态重定位技术,通过页表将逻辑地址映射为物理地址。

    段式存储:分页有一个不可避免的问题就是用户视角的内存和实际物理内存的分离,分段则是将逻辑地址空间分成一组段,每个段长度可以不同,并且可以动态增长,由段表来维护。

    段页式存储:段内分页。

    3.分页式的页表放在哪

    进程控制块(PCB)中。

    4.进程的PCB里还有哪些东西?

    进程状态

    程序计数器

    CPU寄存器

    CPU调度信息

    内存管理信息

    记账信息

    I/O状态信息

    5.MMU(内存管理单元)

    内存管理单元(MMU)管理着地址空间和物理内存的转换,根据其内存管理方式的不同,其中包括基地址寄存器、界限地址寄存器的值以及段表和页表。

    6.进程通信

    管道(父子进程间通信)

    命名管道FIFO(去除管道只能在父子进程间进行通信,常用于客户-服务器应用程序中)

    信号量

    消息队列

    共享内存(生产者消费者的缓冲池)

    套接字(可用于不同机器间的进程通信)

    7.共享内存

    采用共享内存的进程间通信需要通信进程建立共享内存区域。通常一块共享内存区域驻留在生成共享内存段的进程的地址空间。需要使用信号量用来同步对通向存储的访问。

    8.Inode

    9.应用程序是如何读取文件的?

    LINUX

    1.linux脚本,杀掉包含一个关键字的所有进程

    ps -ef | grep 关键字 | awk '{print $2}' | xargs kill -9

    2.自旋锁和互斥锁

    都属于linux内核中的内核锁。

    互斥锁通过对共享资源的锁定和互斥解决利用资源冲突问题,互斥锁是选择睡眠的方式来对共享工作停止访问的。

    自旋锁不会引起调度者睡眠,而是一直循环。

    Socket

    1.linux I/O模型,说说select和epoll的区别

    Socket等待数据到达

    复制到内核缓冲区中

    从内核缓冲区复制到应用进程缓冲区中

    描述

    特点

    阻塞式I/O

    应用进程被阻塞,知道数据从内核缓冲区复制到应用进程缓冲区才返回

    阻塞期间,其他进程继续执行,CPU利用率高

    非阻塞式I/O

    轮询I/O是否完成

    多次执行系统调用,CPU利用率低

    I/O复用

    select poll epoll

    单个线程具有处理多个I/O时间的能力

    信号驱动I/O

    执行系统调用后立即返回,内核在数据到达时向应用进程发送SIGIO信号,应用进程收到后将数据从内核复制到应用进程

    CPU利用率比非阻塞I/O高

    异步I/O

    系统调用立即返回,不会阻塞,内核完成所有操作后向应用进程发送信号

    异步I/O通知应用进程I/O完成

    信号驱动I/O是通知应用进程可以开始I/O

    select

    poll

    epoll

    timeout精度

    1ns

    1ms

    1ms

    描述符数据结构

    数组(因此有最大限制)

    链表

    链表

    复制描述符

    每次调用都需要复制

    每次调用都需要复制

    第一次复制、修改

    返回结果

    不返回准备好的描述符

    不返回准备好的描述符

    准备好的描述符加入到一个链表中管理

    支持

    几乎所有系统

    较新的系统

    Linux系统

    适用场景

    实时性高,所有平台

    实时性低,描述符适中

    描述符多,描述符变化小

    select和epoll的区别

    select、poll每次调用都要把fd集合从用户态往内核态拷贝一次,并且要把当前进程往设备等待队列中挂一次,而epoll只要一次拷贝,而且把当前进程往等待队列上挂也只挂一次(在epoll_waitd的开始,注意这里的等待队列并不是设备等待队列,只是一个epoll内部定义的等待队列)。

    select、poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替。而epoll是在设备就绪时,调用回调函数,把就绪fd放入就绪链表中,并唤醒在epoll_wait中进行睡眠的进程。select和poll要遍历整个fd集合,epoll只要判断一下就绪链表是否为空就行了。

    2.多路复用模型

    分布式

    1.分布式事务

    CAP定理:

    一致性(Consistency):多个数据副本是否能保持一致的特性。

    可用性(Availability):分布式系统在面对各种异常时可以提供正常服务的能力。

    分区容忍性(Partition tolerance):分布式系统在遇到任何网络分区故障的时候,仍然需要能对外提供一致性和可用性的服务。

    在分布式系统中,分区容忍性必不可少,因为需要总是假设网络是不可靠的。因此,CAP理论实际上是要在可用性和一致性做权衡。

    BASE:

    BASE是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)三个短语的缩写。

    BASE理论是对CAP中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。

    ACID要求强一致性,通常运用在传统的数据库系统上。而BASE要求最终一致性,通过牺牲强一致性来达到可用性,通常运用于大型分布式系统中。

    解决方案:

    (1)两阶段提交(2PC)

    基于XA协议实现

    存在问题:1.同步阻塞 2.单点问题 3.数据不一致 4.太过保守

    (2)TCC

    针对每个操作,都要注册一个与其对应的确认和补偿操作

    Try/Confirm/Cancel

    (3)本地消息表(异步确保)

    将业务操作和本地消息表放在一个事务中。业界使用最多。

    (4)Sagas事务模型

    事件溯源,相当于将分布式系统中的操作都记录到数据库日志表中,要获得最新的状态,则需要重新执行一遍日志表的操作。并且可以dump某一时刻的数据表,在此基础上执行在这之后的操作。

    手写代码

    1.二叉树的先序遍历,层序遍历的实现

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    private static classNode{intvalue;

    Node left;

    Node right;public Node(intvalue) {this.value =value;

    }

    }/*** 先序遍历非递归版

    *@paramroot*/

    public voidpreOrder1(Node root){if(root == null) return;

    Stack stack = new Stack<>();

    stack.push(root);while(!stack.isEmpty()){

    Node node=stack.pop();

    System.out.println(node.value);if(node.right != null) stack.push(node.right);if(node.left != null) stack.push(node.left);

    }

    }/*** 先序遍历非递归版回溯法

    *@paramroot*/

    public voidpreOrderBack(Node root){if(root == null) return;

    Stack stack = new Stack<>();while(root != null || !stack.isEmpty()){if(root != null){

    System.out.println(root.value);

    stack.push(root);

    root=root.left;

    }else{

    Node upNode=stack.pop();

    root=upNode.right;

    }

    }

    }public voidpreOrderTrans(Node root){if(root == null) return;

    System.out.println(root.value);

    preOrderTrans(root.left);

    preOrderTrans(root.right);

    }public voidbfs(Node root){

    Queue queue = new LinkedList<>();

    queue.add(root);while(!queue.isEmpty()){

    Node top=queue.remove();

    System.out.println(top.value);if(top.left != null) queue.add(top.left);if(top.right != null) queue.add(top.right);

    }

    }

    View Code

    2.用栈实现队列

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    importjava.util.Stack;public classQueue {private Stack stack1 = new Stack<>();private Stack stack2 = new Stack<>();public voidpush(Integer value){if(value == null){throw new RuntimeException("value is null");

    }

    stack1.push(value);

    }publicInteger pop(){if(stack1.size() == 0){return null;

    }while(!stack1.empty()){

    stack2.push(stack1.pop());

    }

    Integer value=stack2.pop();while(!stack2.empty()){

    stack1.push(stack2.pop());

    }returnvalue;

    }public static voidmain(String[] args) {

    Queue queue= newQueue();

    queue.push(1);

    queue.push(3);

    queue.push(5);

    queue.pop();

    queue.pop();

    queue.pop();

    }

    }

    View Code

    3.包括max函数的栈

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    importjava.util.Stack;public classStackMax {private Stack stack = new Stack<>();private Stack s = new Stack<>();public voidpush(Integer value) {

    stack.push(value);if (s.size() == 0 || value >=s.peek()) {

    s.push(value);

    }

    }publicInteger pop() {

    Integer value=stack.pop();if(value.equals(s.peek())){

    s.pop();

    }returnvalue;

    }publicInteger max() {returns.peek();

    }public static voidmain(String[] args) {

    StackMax stackMax= newStackMax();

    stackMax.push(1);

    System.out.println(stackMax.max());

    stackMax.push(3);

    System.out.println(stackMax.max());

    stackMax.push(4);

    System.out.println(stackMax.max());

    stackMax.push(2);

    System.out.println(stackMax.max());

    stackMax.pop();

    System.out.println(stackMax.max());

    stackMax.pop();

    System.out.println(stackMax.max());

    stackMax.pop();

    System.out.println(stackMax.max());

    }

    }

    View Code

    4.找一个n*n矩阵的最长上升序列

    5.快速排序,什么时候复杂度最大

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    public void quickSort(int[] num, int st, inted) {if (st >= ed) return;int left =st;int right =ed;int value =num[left];while (left =value){

    right--;

    }

    num[left]=num[right];while(left < right && num[left]

    left++;

    }

    num[right]=num[left];

    }int mid =left;

    num[mid]=value;

    quickSort(num, st, mid- 1);

    quickSort(num, mid+ 1, ed);

    }public static voidmain(String[] args) {

    QuickSort quickSort= newQuickSort();int[] num = {3, 7, 4, 2, 5, 8, 1};

    quickSort.quickSort(num,0, 6);for (intt : num) {

    System.out.println(t);

    }

    }

    View Code

    6.归并排序

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    importjava.util.Arrays;public classMergeSort {public int[] mergeSort(int[] num) {if (num.length <= 1) returnnum;int mid = num.length / 2;int[] left = Arrays.copyOfRange(num, 0, mid);int[] right =Arrays.copyOfRange(num, mid, num.length);returnmergeArrays(mergeSort(left), mergeSort(right));

    }private int[] mergeArrays(int[] mergeSort1, int[] mergeSort2) {int[] result = new int[mergeSort1.length +mergeSort2.length];int i = 0, j = 0, k = 0;while (i < mergeSort1.length && j

    result[k++] = mergeSort1[i++];

    }else{

    result[k++] = mergeSort2[j++];

    }

    }while (i

    result[k++] = mergeSort1[i++];

    }while (j

    result[k++] = mergeSort2[j++];

    }returnresult;

    }public static voidmain(String[] args) {

    MergeSort mergeSort= newMergeSort();int[] num = {3, 7, 4, 2, 5, 8, 1};

    num=mergeSort.mergeSort(num);for (intt : num) {

    System.out.println(t);

    }

    }

    }

    View Code

    7.手写一个LRU

    8.给你一个数组,数组长度为n。请找出数组中第k大的数

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    public classSolution {public int findK(int[] num, intk) {return quickSort(num, 0, num.length - 1, k - 1);

    }public int quickSort(int[] num, int st, int ed, intk) {if (st >= ed) returnnum[st];int value =num[st];int left =st;int right =ed;while (left =value) {

    right--;

    }

    num[left]=num[right];while (left < right && num[left]

    left++;

    }

    num[right]=num[left];

    }

    num[left]=value;if (left == k) returnvalue;else if (left

    }else{returnquickSort(num, st, left, k);

    }

    }public static voidmain(String[] args) {

    Solution solution= newSolution();int[] num = {1,8,8,7,4,1,5,1,5,7};

    System.out.println(solution.findK(num,1));

    System.out.println(solution.findK(num,2));

    System.out.println(solution.findK(num,3));

    System.out.println(solution.findK(num,4));

    System.out.println(solution.findK(num,5));

    System.out.println(solution.findK(num,6));

    System.out.println(solution.findK(num,7));

    System.out.println(solution.findK(num,8));

    System.out.println(solution.findK(num,9));

    System.out.println(solution.findK(num,10));

    }

    }

    View Code

    附加条件:不允许改变元素在数组中的位置

    在int范围内去中位数,算出其在数组中是第几大的元素(遍历数组O(n)),与k比较不断二分。

    9.找到数据流中的中位数

    使用大小顶堆,如果放入的是奇数个,则取大顶堆的根结点,如果是偶数个则取大小顶堆根结点的平均值。

    如果是奇数,放入小顶堆,然后取根结点加入大顶堆。

    如果是偶数,放入大顶堆,然后取根结点加入小顶堆。

    10.删除链表中重复节点

    HashSet

    11.给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

    12.给定过一个二叉树,原地将它展开为链表

    13.给定一个二叉树,想象自己站在他的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

    11.判断是否是二叉搜索树

    中序遍历

    12.合并两个链表,用递归和非递归实现

    13.字符串是否为给定字符串的子串

    bfa0b9d83115fcead873135fa49ce3e2.png

    14.查找两个链表的公共节点

    15.小顶堆

    16.一个数x,一个数n,x中删n位使得剩下的数最大

    17.给定一颗二叉树,求其中root的最长路径。所谓路径是指,联通两个节点的最小边数。

    18.二叉树的序列化与反序列化

    展开全文
  • 字节跳动面试题汇总

    千次阅读 2020-04-21 15:16:59
    字节跳动字节跳动-抖音C++开发实习一二面凉经 https://www.nowcoder.com/discuss/342523 【字节跳动字节跳动后端面经 已拿意向书 ...【字节跳动】字节c++一面 ...【字节跳动字节跳动后台开发二面凉经 ...

    【字节跳动】字节跳动-抖音C++开发实习一二面凉经
    https://www.nowcoder.com/discuss/342523
    【字节跳动】字节跳动后端面经 已拿意向书
    https://www.nowcoder.com/discuss/302265
    【字节跳动】字节c++一面
    https://www.nowcoder.com/discuss/298886
    【字节跳动】字节跳动后台开发二面凉经
    https://www.nowcoder.com/discuss/294289
    【字节跳动】头条面经(已拿 offer)
    https://www.nowcoder.com/discuss/294511
    【字节跳动】头条上岸
    https://www.nowcoder.com/discuss/273603
    【字节跳动】字节跳动后台开发方向一面面经
    https://www.nowcoder.com/discuss/273573
    【字节跳动】字节跳动客户端一面凉经
    https://www.nowcoder.com/discuss/267266
    【字节跳动】喜得头条客户端意向书,发一波头条面经
    https://www.nowcoder.com/discuss/258246
    【字节跳动】字节跳动多媒体开发工程师面经,offer已拿
    https://www.nowcoder.com/discuss/254083
    【字节跳动】无实习无比赛无论文成绩中上,喜提字节跳动研发offer
    https://www.nowcoder.com/discuss/245461
    【字节跳动】字节跳动 客户端 一面
    https://www.nowcoder.com/discuss/239378
    【字节跳动】字节跳动 基础架构C++服务端开发面经
    https://www.nowcoder.com/discuss/241129
    【字节跳动】字节跳动客户端研发工程师一面已收感谢信
    https://www.nowcoder.com/discuss/237485
    【字节跳动】字节跳动面经(含一二三面)
    https://www.nowcoder.com/discuss/227808
    【字节跳动】字节后端三面 凉凉夜色为我思念成河
    https://www.nowcoder.com/discuss/227726
    【字节跳动】字节跳动三面凉
    https://www.nowcoder.com/discuss/226803
    【字节跳动】字节跳动一面凉经
    https://www.nowcoder.com/discuss/226609
    【字节跳动】字节跳动一面凉经
    https://www.nowcoder.com/discuss/226600
    【字节跳动】拿到offer了,来牛客还愿
    https://www.nowcoder.com/discuss/219789
    【字节跳动】字节跳动 四面经+祈福
    https://www.nowcoder.com/discuss/219231
    【字节跳动】字节跳动六面凉经
    https://www.nowcoder.com/discuss/218288
    【字节跳动】字节跳动 C++深圳后端 四面面经 意向书已get
    https://www.nowcoder.com/discuss/21736
    【字节跳动】头条后端开发提前批技术面小结(已拿意向性offer)
    https://www.nowcoder.com/discuss/216828
    【字节跳动】字节跳动提前批1-3面面经【已收到意向书】
    https://www.nowcoder.com/discuss/215961
    【字节跳动】字节跳动提前批后端第三面凉经
    https://www.nowcoder.com/discuss/214125
    【字节跳动】【三面】头条后台研发–提前批
    https://www.nowcoder.com/discuss/213481
    【字节跳动】终于等到字节跳动意向书了,实习+秋招共8面
    https://www.nowcoder.com/discuss/213405
    【字节跳动】头条多媒体提前批面经 一二三四面已过,等HR面中,反馈牛油
    https://www.nowcoder.com/discuss/212388
    【字节跳动】字节跳动TOB一二三面面经
    https://www.nowcoder.com/discuss/211598
    【字节跳动】字节终于跳动了!收到提前批意向书了,分享下面经。。。
    https://www.nowcoder.com/discuss/211943
    【字节跳动】字节跳动一,二,三面记录
    https://www.nowcoder.com/discuss/210917
    【字节跳动】字节跳动面筋(EE后台开发)
    https://www.nowcoder.com/discuss/210897
    【字节跳动】字节跳动C++一面凉经
    https://www.nowcoder.com/discuss/210321
    【字节跳动】记录下跳不动公司的二面吧 对于菜鸡来说 确实难啊
    https://www.nowcoder.com/discuss/210169
    【字节跳动】字节二面(凉面)C++ 后端
    https://www.nowcoder.com/discuss/209688
    【字节跳动】头条C++开发二面凉经
    https://www.nowcoder.com/discuss/209636
    【字节跳动】字节跳动提前批后端开发(视频架构)一二三面
    https://www.nowcoder.com/discuss/209548
    【字节跳动】字节跳动 后端提前批一面凉经
    https://www.nowcoder.com/discuss/207096
    【字节跳动】字节跳动 ee后台的一面凉经
    https://www.nowcoder.com/discuss/206763
    【字节跳动】头条多媒体开发工程师 提前批面试题
    https://www.nowcoder.com/discuss/206742
    【字节跳动】字节 后端 一面凉经
    https://www.nowcoder.com/discuss/207326
    【字节跳动】头条C++ 一二面凉经
    https://www.nowcoder.com/discuss/207322
    【字节跳动】字节跳动 C++后端 一面 面经
    https://www.nowcoder.com/discuss/207260
    【字节跳动】字节提前批后端开发-视频架构方向面经
    https://www.nowcoder.com/discuss/207891
    【字节跳动】字节跳动 效率工程EE 后台一二面凉经
    https://www.nowcoder.com/discuss/207720
    【字节跳动】头条互娱 后端 一面二面
    https://www.nowcoder.com/discuss/208374
    【字节跳动】字节跳动提前批toB 一面面经
    https://www.nowcoder.com/discuss/208276
    【字节跳动】字节跳动C++研发工程师(三面全通过)
    https://www.nowcoder.com/discuss/208173
    【字节跳动】字节跳动 互娱后端一面
    https://www.nowcoder.com/discuss/208161
    【字节跳动】字节跳动-视频架构-后端开发(视频一面)
    https://www.nowcoder.com/discuss/208773
    【字节跳动】字节跳动 互娱 C++ 一面
    https://www.nowcoder.com/discuss/208969
    【字节跳动】字节跳动C++提前批一面面经
    https://www.nowcoder.com/discuss/206156
    【字节跳动】字节跳动 C++开发工程师 面经
    https://www.nowcoder.com/discuss/206522
    【字节跳动】字节跳动提前批后台开发一面凉经
    https://www.nowcoder.com/discuss/206520
    【字节跳动】字节后台开发一面
    https://www.nowcoder.com/discuss/206489
    【字节跳动】字节跳动,刚刚出炉的C++一面凉经
    https://www.nowcoder.com/discuss/206425
    【字节跳动】字节跳动游戏研发三面面经
    https://www.nowcoder.com/discuss/205845
    【字节跳动】字节跳动 成都效率工程后端C++提前批三面凉面
    https://www.nowcoder.com/discuss/205353
    【字节跳动】字节跳动系统架构组实习生一二面凉经
    https://www.nowcoder.com/discuss/203548
    【字节跳动】字节跳动后端提前批
    https://www.nowcoder.com/discuss/204112
    【字节跳动】头条一面面经
    https://www.nowcoder.com/discuss/203998
    【字节跳动】字节跳动 成都效率工程后端C++提前批三面凉面
    https://www.nowcoder.com/discuss/205353
    【字节跳动】秋招之路:个人历程以及面经总结
    https://www.nowcoder.com/discuss/344311
    【字节跳动】上岸字节跳动,回馈牛客
    https://www.nowcoder.com/discuss/341120
    【字节跳动】头条 三面面经
    https://www.nowcoder.com/discuss/330800
    【字节跳动】字节面经,美团,网易,招银,360全部在HR前一面挂
    https://www.nowcoder.com/discuss/317874
    【字节跳动】北京字节跳动游戏JAVA游戏服务器回馈一下攒人品
    https://www.nowcoder.com/discuss/308109
    【字节跳动】字节跳动Java后端视频面一面凉经
    https://www.nowcoder.com/discuss/302831
    【字节跳动】字节后端开发面经
    https://www.nowcoder.com/discuss/301301
    【字节跳动】鏖战四小时之—字节跳动后台开发面经
    https://www.nowcoder.com/discuss/294526
    【字节跳动】字节跳动刚刚出炉的面经(一面后台)
    https://www.nowcoder.com/discuss/272833
    【字节跳动】字节跳动后台面经攒人品
    https://www.nowcoder.com/discuss/265748
    【字节跳动】字节跳动-后端开发-面经
    https://www.nowcoder.com/discuss/262576
    【字节跳动】回馈牛客 字节跳动上岸面经
    https://www.nowcoder.com/discuss/258803
    【字节跳动】字节客户端一面凉经
    https://www.nowcoder.com/discuss/254986
    【字节跳动】字节一二面凉拌面筋
    https://www.nowcoder.com/discuss/251049
    【字节跳动】字节跳动二面凉经
    https://www.nowcoder.com/discuss/241393
    【字节跳动】【字节跳动】后端开发三轮面经
    https://www.nowcoder.com/discuss/241356
    【字节跳动】字节跳动-客户端开发-一二三面经-顺便offer许愿
    https://www.nowcoder.com/discuss/236298
    【字节跳动】字节后台三面面经
    https://www.nowcoder.com/discuss/226817
    【字节跳动】2020字节跳动春招客户端开发岗面经
    https://www.nowcoder.com/discuss/225697
    【字节跳动】头条一面记录
    https://www.nowcoder.com/discuss/226623
    【字节跳动】字节二面凉
    https://www.nowcoder.com/discuss/226654
    【字节跳动】字节跳动后端三轮面经
    https://www.nowcoder.com/discuss/226626
    【字节跳动】头条二面面经(攒人品别给挂啊)
    https://www.nowcoder.com/discuss/221898
    【字节跳动】迟了几天的字节跳动面经
    https://www.nowcoder.com/discuss/221324
    【字节跳动】字节跳动提前批后端开发
    https://www.nowcoder.com/discuss/220896
    【字节跳动】字节跳动提前批一二三面面经(效率工程后台开发)
    https://www.nowcoder.com/discuss/218847
    【字节跳动】终于收到意向书了…字节跳动1、2、3面面经 回馈牛油
    https://www.nowcoder.com/discuss/218173
    【字节跳动】头条后端开发面经(已拿意向书)
    https://www.nowcoder.com/discuss/217672
    【字节跳动】补发字节面经(或者说经验总结)
    https://www.nowcoder.com/discuss/216588
    【字节跳动】字节跳动java后台已上岸,发个面经回馈牛油
    https://www.nowcoder.com/discuss/215891
    【字节跳动】头条提前批后台三面面经(已拿offer)
    https://www.nowcoder.com/discuss/215003
    【字节跳动】字节跳动提前批后台研发四面面经 (offer到手)
    https://www.nowcoder.com/discuss/214906
    【字节跳动】字节跳动三面面经,已offer
    https://www.nowcoder.com/discuss/213984
    【字节跳动】头条提前批后端,刚拿到意向书,分享面经还愿
    https://www.nowcoder.com/discuss/213834
    【字节跳动】还好没放弃,终于等到你,字节跳动
    https://www.nowcoder.com/discuss/212790
    【字节跳动】字节跳动实习3面offer+全职3面offer面经
    https://www.nowcoder.com/discuss/211591
    【字节跳动】字节跳动成都研发中心秋招提前批123面面经(已收到意向书)
    https://www.nowcoder.com/discuss/210836
    【字节跳动】字节跳动 三面面经 已收到感谢信
    https://www.nowcoder.com/discuss/210512
    【字节跳动】字节跳动后端提前批二面凉
    https://www.nowcoder.com/discuss/207144
    【字节跳动】字节 后端 一面凉经
    https://www.nowcoder.com/discuss/207065
    【字节跳动】头条深圳后端提前批一面凉经
    https://www.nowcoder.com/discuss/207046
    【字节跳动】字节跳动提前批后端两面面经
    https://www.nowcoder.com/discuss/207290
    【字节跳动】头条java后端提前批一面凉经
    https://www.nowcoder.com/discuss/207272
    【字节跳动】字节跳动Java后台一面面经
    https://www.nowcoder.com/discuss/207262
    【字节跳动】字节跳动 后台 日常实习 一面/二面/HR面
    https://www.nowcoder.com/discuss/207681
    【字节跳动】头条后台开发面经
    https://www.nowcoder.com/discuss/207911
    【字节跳动】头条后端一轮游面经
    https://www.nowcoder.com/discuss/207815
    【字节跳动】头条4面面经
    https://www.nowcoder.com/discuss/207789
    【字节跳动】技术面试前半段基础知识答得不好,为什么还要接着问算法题
    https://www.nowcoder.com/discuss/207765
    【字节跳动】字节跳动 后台 日常实习 一面/二面/HR面
    https://www.nowcoder.com/discuss/207681
    【字节跳动】字节跳动 一面
    https://www.nowcoder.com/discuss/208398
    【字节跳动】字节跳动提前批凉经
    https://www.nowcoder.com/discuss/208201
    【字节跳动】字节跳动-----一面。
    https://www.nowcoder.com/discuss/206436
    【字节跳动】头条提前批Java后端工程师面经
    https://www.nowcoder.com/discuss/206411
    【字节跳动】抖音上海后台开发提前批一二面面经(已约三面)
    https://www.nowcoder.com/discuss/205630
    【字节跳动】头条一面二面
    https://www.nowcoder.com/discuss/203548
    【字节跳动】字节跳动提前批后台一面经验
    https://www.nowcoder.com/discuss/203216
    【字节跳动】字节游戏服务端一面,被虐惨
    https://www.nowcoder.com/discuss/203697
    【字节跳动】热呼呼的头条面经(已拿offer)
    https://www.nowcoder.com/discuss/203760
    【字节跳动】字节跳动data部门一面二面面经
    https://www.nowcoder.com/discuss/204097
    【字节跳动】【java】头条提前批一面(2019-07-07)
    https://www.nowcoder.com/discuss/203984
    【字节跳动】字节跳动-提前批-Java后台 - 一面面经(QAQ)
    https://www.nowcoder.com/discuss/204596
    【字节跳动】字节跳动data后端一面面经
    https://www.nowcoder.com/discuss/204325
    【字节跳动】字节跳动-提前批-Java后台 - 一面面经(QAQ)
    https://www.nowcoder.com/discuss/204596
    【字节跳动】头条后端一面凉经
    https://www.nowcoder.com/discuss/205034
    【字节跳动】头条一面 后台研发
    https://www.nowcoder.com/discuss/206371
    【字节跳动】字节安全岗面经
    https://www.nowcoder.com/discuss/300650
    【字节跳动】字节跳动【效率工程】–大三寒假日常实习面经【共二面】
    https://www.nowcoder.com/discuss/351860
    【字节跳动】面字节跳动体验
    https://www.nowcoder.com/discuss/351710
    【字节跳动】头条客户端一面凉经
    https://www.nowcoder.com/discuss/336075
    【字节跳动】字节跳动(宇宙条)客户端一面“虐经”
    https://www.nowcoder.com/discuss/323864
    【字节跳动】字节跳动客户端一、二面➕三面凉经
    https://www.nowcoder.com/discuss/309832
    【字节跳动】头条ios开发 一面C++
    https://www.nowcoder.com/discuss/306888
    【字节跳动】字节跳动客户端二面
    https://www.nowcoder.com/discuss/304089
    【字节跳动】字节跳动客户端一面
    https://www.nowcoder.com/discuss/302181
    【字节跳动】字节安卓社招面经来啦
    https://www.nowcoder.com/discuss/302228
    【字节跳动】字节跳动客户端一面凉经
    https://www.nowcoder.com/discuss/301854
    【字节跳动】双非本科非科班 抖音Android面筋(被调剂到iOS了)
    https://www.nowcoder.com/discuss/300246
    【字节跳动】字节客户端收到意向书,回馈牛客
    https://www.nowcoder.com/discuss/297454
    【字节跳动】字节跳动客户端上岸-面试惨经-学习总结
    https://www.nowcoder.com/discuss/292087
    【字节跳动】字节安卓开发一二三hr面面经,赠送春招实习面经
    https://www.nowcoder.com/discuss/276777
    【字节跳动】发个字节客户端二面的面经攒个人品,求三面呀!!!
    https://www.nowcoder.com/discuss/271338
    【字节跳动】字节跳动 客户端 一面
    https://www.nowcoder.com/discuss/274412
    【字节跳动】字节跳动客户端一面二面面经
    https://www.nowcoder.com/discuss/261875
    【字节跳动】字节跳动 - 客户端逆向工程 一面凉分享
    https://www.nowcoder.com/discuss/257669
    【字节跳动】字节跳动android开发面经,求offer call
    https://www.nowcoder.com/discuss/251554
    【字节跳动】字节跳动客户端三轮面试
    https://www.nowcoder.com/discuss/244867
    【字节跳动】字节跳动android:一面二面凉经
    https://www.nowcoder.com/discuss/244006
    【字节跳动】拿到offer喵回来还愿
    https://www.nowcoder.com/discuss/218234
    【字节跳动】回馈牛客!【深圳字节跳动】ios移动端已拿意向书
    https://www.nowcoder.com/discuss/212124
    【字节跳动】字节跳动提前批 凉经
    https://www.nowcoder.com/discuss/210532
    【字节跳动】字节跳动提前批两面凉经
    https://www.nowcoder.com/discuss/207880
    【字节跳动】字节跳动效率工程提前批Android实习面经
    https://www.nowcoder.com/discuss/208452
    【字节跳动】字节跳动Android一面凉经。。
    https://www.nowcoder.com/discuss/205830
    【字节跳动】补发:字节跳动安卓开发实习三轮面经
    https://www.nowcoder.com/discuss/203703
    【字节跳动】字节跳动,Android开发提前批,新鲜面经
    https://www.nowcoder.com/discuss/204840
    【字节跳动】头条提前批安卓岗面经
    https://www.nowcoder.com/discuss/204672
    【字节跳动】字节跳动测试开发–二面面经
    https://www.nowcoder.com/discuss/351722
    【字节跳动】字节跳动头条研发—测试开发一面面经
    https://www.nowcoder.com/discuss/351378
    【字节跳动】字节跳动测试开发一面面经
    https://www.nowcoder.com/discuss/348347
    【字节跳动】字节跳动,测试工程师面经
    https://www.nowcoder.com/discuss/344652
    【字节跳动】字节测开实习一面(视频面)
    https://www.nowcoder.com/discuss/341318
    【字节跳动】字节跳动-互娱研发-测试工程师
    https://www.nowcoder.com/discuss/326346
    【字节跳动】字节 测开 三面 凉经
    https://www.nowcoder.com/discuss/317807
    【字节跳动】还愿字节+测试面经
    https://www.nowcoder.com/discuss/311344
    【字节跳动】字节跳动测试开发内推(实习生/秋招)
    https://www.nowcoder.com/discuss/302486
    【字节跳动】字节测开1-4面面经(收到意向书)
    https://www.nowcoder.com/discuss/304858
    【字节跳动】字节跳动测试开发工程师三次面试凉经
    https://www.nowcoder.com/discuss/298626
    【字节跳动】字节跳动测试工程师-头条研发面经
    https://www.nowcoder.com/discuss/299077
    【字节跳动】字节跳动测试开发(测开)一、二、三技术面经
    https://www.nowcoder.com/discuss/289856
    【字节跳动】字节跳动,客户端测试开发岗一面
    https://www.nowcoder.com/discuss/275572
    【字节跳动】字节跳动一二面凉经
    https://www.nowcoder.com/discuss/226825
    【字节跳动】测开面经
    https://www.nowcoder.com/discuss/214526
    【字节跳动】【还愿】头条提前批测开面经
    https://www.nowcoder.com/discuss/213349
    【字节跳动】2019.07字节跳动 测试开发技术面
    https://www.nowcoder.com/discuss/213808
    【字节跳动】字节提前批测试开发三面
    https://www.nowcoder.com/discuss/210***
    【字节跳动】字节跳动提前批测开劝退一面面经
    https://www.nowcoder.com/discuss/207520
    【字节跳动】抖音火山测开凉经
    https://www.nowcoder.com/discuss/208097
    【字节跳动】回馈一下牛客网(字节跳动测试开发一二面凉经)
    https://www.nowcoder.com/discuss/209199
    【字节跳动】回馈一下牛客网(字节跳动测试开发一二面凉经)
    https://www.nowcoder.com/discuss/209199
    【字节跳动】字节跳动凉经(一、二、三+boss(hr)面)
    https://www.nowcoder.com/discuss/205655
    【字节跳动】2019字节跳动秋招提前批测试开发岗一面
    https://www.nowcoder.com/discuss/203384
    【字节跳动】面经:字节跳动测试开发提前批面经
    https://www.nowcoder.com/discuss/203453
    【字节跳动】字节跳动 游戏测开一二三面面经
    https://www.nowcoder.com/discuss/204117
    【字节跳动】字节跳动游戏测试开发二面凉经
    https://www.nowcoder.com/discuss/204107
    【字节跳动】字节跳动游戏提前批-杭州-测开三面
    https://www.nowcoder.com/discuss/204318
    【字节跳动】字节跳动 测试开发提前批一二面
    https://www.nowcoder.com/discuss/205153
    【字节跳动】字节跳动测试提前批一面
    https://www.nowcoder.com/discuss/203485
    【字节跳动】字节跳动 测试一面凉经
    https://www.nowcoder.com/discuss/205286
    【字节跳动】头条测试工程师一面
    https://www.nowcoder.com/discuss/205092
    【字节跳动】字节跳动产品实习面经
    https://www.nowcoder.com/discuss/350965
    【字节跳动】字节商业化产品实习面经,在线许愿
    https://www.nowcoder.com/discuss/347555
    【字节跳动】字节商产实习生面经
    https://www.nowcoder.com/discuss/334799
    【字节跳动】字节跳动TOB产品经理面经
    https://www.nowcoder.com/discuss/326692
    【字节跳动】字节国际化商业产品经理凉经
    https://www.nowcoder.com/discuss/296958
    【字节跳动】字节跳动商业产品四面面经分享
    https://www.nowcoder.com/discuss/293827
    【字节跳动】字节电商用户产品面经|两岗六面,意向书已发
    https://www.nowcoder.com/discuss/278351
    【字节跳动】许愿字节跳动offer顺利到来【已拿意向书,补面经还愿】
    https://www.nowcoder.com/discuss/276657
    【字节跳动】字节跳动商业产品经理3面面经(许愿offer)
    https://www.nowcoder.com/discuss/275344
    【字节跳动】字节跳动商业产品运营经理三面面经
    https://www.nowcoder.com/discuss/232127
    【字节跳动】字节跳动b端产品经理面经
    https://www.nowcoder.com/discuss/228910
    【字节跳动】字节跳动产品运营面经(已完成一二三面 许愿意向书)
    https://www.nowcoder.com/discuss/226872
    【字节跳动】许愿字节!分享1-5面面经
    https://www.nowcoder.com/discuss/345650
    【字节跳动】头条大数据开发三面面经
    https://www.nowcoder.com/discuss/341617
    【字节跳动】头条大数据开发面经
    https://www.nowcoder.com/discuss/284368
    【字节跳动】字节跳动一二面凉经
    https://www.nowcoder.com/discuss/242036
    【字节跳动】字节跳动大数据一面凉经
    https://www.nowcoder.com/discuss/226685
    【字节跳动】字节跳动大数据工程师二面凉经
    https://www.nowcoder.com/discuss/226652
    【字节跳动】头条提前批三轮面试终于结束了
    https://www.nowcoder.com/discuss/212794
    【字节跳动】字节跳动(提前批)二面凉经
    https://www.nowcoder.com/discuss/210332
    【字节跳动】字节跳动大数据岗
    https://www.nowcoder.com/discuss/204836
    【字节跳动】字节跳动提前批 大数据面经 = =
    https://www.nowcoder.com/discuss/204677
    【字节跳动】字节跳动游戏品牌管理面经分享
    https://www.nowcoder.com/discuss/210907
    【字节跳动】还愿牛客。字节跳动广告媒介
    https://www.nowcoder.com/discuss/333586
    【字节跳动】抖音后台开发社招2面凉经
    https://www.nowcoder.com/discuss/346051
    【字节跳动】字节跳动 后端开发 二面凉经
    https://www.nowcoder.com/discuss/343393
    【字节跳动】字节跳动后端实习面试(全程超越附体)
    https://www.nowcoder.com/discuss/338849
    【字节跳动】今日头条 后端 社招
    https://www.nowcoder.com/discuss/325907
    【字节跳动】秋招上岸,附面经,感谢!
    https://www.nowcoder.com/discuss/325567
    【字节跳动】字节跳动后台面经
    https://www.nowcoder.com/discuss/310712
    【字节跳动】头条一面凉经(后台开发)
    https://www.nowcoder.com/discuss/307162
    【字节跳动】字节跳动后端开发面试
    https://www.nowcoder.com/discuss/293766
    【字节跳动】【字节】后端一面
    https://www.nowcoder.com/discuss/280129
    【字节跳动】字节跳动效率工程后端三面凉经
    https://www.nowcoder.com/discuss/277817
    【字节跳动】字节跳动研发二面面经
    https://www.nowcoder.com/discuss/259363
    【字节跳动】字节跳动一二面面经【后端】
    https://www.nowcoder.com/discuss/250449
    【字节跳动】字节跳动一二三面面经
    https://www.nowcoder.com/discuss/241769
    【字节跳动】字节后端一面凉经
    https://www.nowcoder.com/discuss/241250
    【字节跳动】字节跳动 后端开发 一、二、三面 面经
    https://www.nowcoder.com/discuss/236551
    【字节跳动】字节跳动后端开发实习生凉经
    https://www.nowcoder.com/discuss/213918
    【字节跳动】字节跳动 后台开发 三面面经(base北京)许愿中
    https://www.nowcoder.com/discuss/211285
    【字节跳动】字节跳动后端一面凉经
    https://www.nowcoder.com/discuss/209668
    【字节跳动】头条后台意向书get,还愿
    https://www.nowcoder.com/discuss/210068
    【字节跳动】字节跳动后端二面凉经
    https://www.nowcoder.com/discuss/209793
    【字节跳动】字节跳不动后端面经
    https://www.nowcoder.com/discuss/208742
    【字节跳动】字节跳动后端开发一面凉
    https://www.nowcoder.com/discuss/208946
    【字节跳动】字节跳动 提前批面经
    https://www.nowcoder.com/discuss/209088
    【字节跳动】字节跳动,toB,一面
    https://www.nowcoder.com/discuss/207756
    【字节跳动】字节跳动互娱面经
    https://www.nowcoder.com/discuss/206351
    【字节跳动】头条后端实习二面面经 7/14
    https://www.nowcoder.com/discuss/206633
    【字节跳动】头条一面 后台研发
    https://www.nowcoder.com/discuss/206371
    【字节跳动】后端开发二面凉经QAQ
    https://www.nowcoder.com/discuss/203652
    【字节跳动】字节跳动ee后台提前批面试
    https://www.nowcoder.com/discuss/203583
    【字节跳动】190705字节跳动效率工程EE后端一面面经
    https://www.nowcoder.com/discuss/203488
    【字节跳动】字节跳动教学服务质检下个月入职~
    https://www.nowcoder.com/discuss/347591
    【字节跳动】字节跳动-效率工程 一二三面面筋 + 前端笔记分享
    https://www.nowcoder.com/discuss/337035
    【字节跳动】字节跳动前端面经
    https://www.nowcoder.com/discuss/308745
    【字节跳动】字节跳动-头条研发 前端一二面凉
    https://www.nowcoder.com/discuss/294450
    【字节跳动】头条抖音散招前端凉经
    https://www.nowcoder.com/discuss/286453
    【字节跳动】字节跳动前端一面凉经
    https://www.nowcoder.com/discuss/279144
    【字节跳动】「前端」19年第一次面试 面筋 攒人品 许愿顺利
    https://www.nowcoder.com/discuss/276007
    【字节跳动】字节前端一面
    https://www.nowcoder.com/discuss/274438
    【字节跳动】字节跳动 前端面经
    https://www.nowcoder.com/discuss/268116
    【字节跳动】首次面试字节跳动两面凉经,菜鸟一个,勿喷。
    https://www.nowcoder.com/discuss/227853
    【字节跳动】字节跳动两次凉经
    https://www.nowcoder.com/discuss/226994
    【字节跳动】字节跳动前端一面凉经
    https://www.nowcoder.com/discuss/226798
    【字节跳动】字节前端一面凉经
    https://www.nowcoder.com/discuss/226691
    【字节跳动】字节跳动前端面经, 已拿意向书
    https://www.nowcoder.com/discuss/213424
    【字节跳动】字节跳动 深圳抖音 提前批前端 三面+HR面 已拿意向书
    https://www.nowcoder.com/discuss/213863
    【字节跳动】字节跳动 提前批 凉经
    https://www.nowcoder.com/discuss/212855
    【字节跳动】抖音前端凉经
    https://www.nowcoder.com/discuss/212448
    【字节跳动】字节跳动提前批前端,已拿意向书
    https://www.nowcoder.com/discuss/210817
    【字节跳动】字节跳动提前批前端一面凉经
    https://www.nowcoder.com/discuss/210083
    【字节跳动】字节跳动 互娱 前端一面凉经
    https://www.nowcoder.com/discuss/207553
    【字节跳动】字节跳动ToB业务前端提前批一面凉面
    https://www.nowcoder.com/discuss/207409
    【字节跳动】字节跳动提前批前端三面面经
    https://www.nowcoder.com/discuss/208384
    【字节跳动】字节跳动提前批前端3面+HR面 面经
    https://www.nowcoder.com/discuss/208931
    【字节跳动】字节前端一面凉经
    https://www.nowcoder.com/discuss/206457
    【字节跳动】字节跳动游戏平台 前端三面凉经
    https://www.nowcoder.com/discuss/205511
    【字节跳动】字节跳动提前批前端岗一面面经
    https://www.nowcoder.com/discuss/205969
    【字节跳动】字节跳动提前批前端岗一面面经
    https://www.nowcoder.com/discuss/205969
    【字节跳动】字节跳动to B提前批前端一面(攒个人品)
    https://www.nowcoder.com/discuss/203874
    【字节跳动】记一次字节跳动前端面试,四轮技术面通过,已拿offer
    https://www.nowcoder.com/discuss/204314
    【字节跳动】字节跳动一面总结(前端技术岗)
    https://www.nowcoder.com/discuss/204829
    【字节跳动】字节跳动招聘岗面经
    https://www.nowcoder.com/discuss/350141
    【字节跳动】字节跳动HRBP笔经+面经
    https://www.nowcoder.com/discuss/339430
    【字节跳动】面经:字节跳动 薪酬福利绩效顾问 校招 已面二轮
    https://www.nowcoder.com/discuss/335200
    【字节跳动】字节跳动-HRBP招聘方向-1、2面经
    https://www.nowcoder.com/discuss/317754
    【字节跳动】字节跳动国际化HRBP一面二面面经
    https://www.nowcoder.com/discuss/289014
    【字节跳动】字节跳动五面面经-顺便许愿offer
    https://www.nowcoder.com/discuss/307002
    【字节跳动】字节 数据分析面经
    https://www.nowcoder.com/discuss/344423
    【字节跳动】字节跳动数据分析一面、二面面经(已凉)
    https://www.nowcoder.com/discuss/322985
    【字节跳动】字节跳动 数据分析 10月的offer 部分面经
    https://www.nowcoder.com/discuss/322770
    【字节跳动】攒人品贴 - 字节/头条数据分析面试一面二面
    https://www.nowcoder.com/discuss/314832
    【字节跳动】字节跳动 数据分析二面 面试已完成?(附简单面经)
    https://www.nowcoder.com/discuss/301369
    【字节跳动】字节跳动数据分析一面
    https://www.nowcoder.com/discuss/267795
    【字节跳动】字节跳动_数据分析:一面:0828凉凉
    https://www.nowcoder.com/discuss/236629
    【字节跳动】字节跳动 数据分析 一面
    https://www.nowcoder.com/discuss/230722
    【字节跳动】字节跳动数据分析一面凉经…
    https://www.nowcoder.com/discuss/219080
    【字节跳动】字节跳动秋招 数据分析 一面
    https://www.nowcoder.com/discuss/219004
    【字节跳动】字节跳动数分凉面
    https://www.nowcoder.com/discuss/212382
    【字节跳动】字节跳动 数据分析 产品方向 日常实习 面经
    https://www.nowcoder.com/discuss/207493
    【字节跳动】头条一面二面Data后端(一首凉凉送给自己)
    https://www.nowcoder.com/discuss/205742
    【字节跳动】回报牛客:发一下字节算法工程师面经,时间久了只能发个大概。
    https://www.nowcoder.com/discuss/330565
    【字节跳动】十面字节跳动,老哥们节日快乐
    https://www.nowcoder.com/discuss/324100
    【字节跳动】字节跳动——机器人算法工程师(视频面试)
    https://www.nowcoder.com/discuss/323272
    【字节跳动】字节跳动效率工程团队 算法实习生 一面凉经
    https://www.nowcoder.com/discuss/311673
    【字节跳动】字节cv一面凉经
    https://www.nowcoder.com/discuss/285880
    【字节跳动】字节跳动 ai lab cv工程师
    https://www.nowcoder.com/discuss/239350
    【字节跳动】字节跳动三面(凉)
    https://www.nowcoder.com/discuss/241121
    【字节跳动】还愿,顺便附上头条面筋
    https://www.nowcoder.com/discuss/238718
    【字节跳动】字节跳动 头条 算法 面经 已拿offer意向书
    https://www.nowcoder.com/discuss/235500
    【字节跳动】字节跳动-ailab-视觉算法面经
    https://www.nowcoder.com/discuss/229358
    【字节跳动】字节跳动算法岗一二面面经
    https://www.nowcoder.com/discuss/227743
    【字节跳动】字节跳动算法工程师岗一二三面经
    https://www.nowcoder.com/discuss/226960
    【字节跳动】字节跳动算法二面凉经
    https://www.nowcoder.com/discuss/226706
    【字节跳动】字节二面凉经
    https://www.nowcoder.com/discuss/226657
    【字节跳动】字节跳动面试一面凉凉
    https://www.nowcoder.com/discuss/226622
    【字节跳动】字节跳动算法岗一面凉经
    https://www.nowcoder.com/discuss/226619
    【字节跳动】头条提前批算法面经(2技术面+1leader面)
    https://www.nowcoder.com/discuss/220966
    【字节跳动】头条南京后端上岸
    https://www.nowcoder.com/discuss/218650
    【字节跳动】收到头条意向书,分享一点面经
    https://www.nowcoder.com/discuss/217326
    【字节跳动】字节跳动ailab面经
    https://www.nowcoder.com/discuss/216993
    【字节跳动】字节跳动 算法 已拿意向书
    https://www.nowcoder.com/discuss/216672
    【字节跳动】字节跳动算法岗提前批面经
    https://www.nowcoder.com/discuss/215883
    【字节跳动】字节跳动提前批ailab面经
    https://www.nowcoder.com/discuss/215858
    【字节跳动】头条算法提前批三面面经
    https://www.nowcoder.com/discuss/213671
    【字节跳动】字节跳动AI lab 三面记录
    https://www.nowcoder.com/discuss/213726
    【字节跳动】字节跳动,二面问题
    https://www.nowcoder.com/discuss/212922
    【字节跳动】字节跳动,提前批一面问题
    https://www.nowcoder.com/discuss/212913
    【字节跳动】还愿,收到字节跳动提前批算法岗offer了
    https://www.nowcoder.com/discuss/212439
    【字节跳动】回馈牛客,字节算法三面许愿求offer
    https://www.nowcoder.com/discuss/211763
    【字节跳动】深圳抖音图像图形算法三面面经(已获意向书)
    https://www.nowcoder.com/discuss/211382
    【字节跳动】字节AiLab CV 面经,感觉凉透了
    https://www.nowcoder.com/discuss/211352
    【字节跳动】字节跳动 AILab 二面记录
    https://www.nowcoder.com/discuss/211174
    【字节跳动】字节跳动提前批后端,刚拿意向书,分享一下面经
    https://www.nowcoder.com/discuss/210872
    【字节跳动】字节跳动计算机视觉算法面经
    https://www.nowcoder.com/discuss/210829
    【字节跳动】[字节跳动/头条] 算法提前批三轮面经,前来回馈广大牛油们
    https://www.nowcoder.com/discuss/210036
    【字节跳动】字节跳动2020届提前批 AI Lab cv 三面视频面
    https://www.nowcoder.com/discuss/210508
    【字节跳动】字节跳动 图像图像一面面经
    https://www.nowcoder.com/discuss/207221
    【字节跳动】字节跳动算法岗三面面经
    https://www.nowcoder.com/discuss/207105
    【字节跳动】字节跳动提前批算法工程师面经
    https://www.nowcoder.com/discuss/207092
    【字节跳动】OPPO视频面(NLP算法),凉经
    https://www.nowcoder.com/discuss/206740
    【字节跳动】头条抖音互娱-图形图像一二三面
    https://www.nowcoder.com/discuss/207369
    【字节跳动】字节跳动头条研发算法一面
    https://www.nowcoder.com/discuss/207317
    【字节跳动】算法岗提前批凉经【字节跳动+京东】
    https://www.nowcoder.com/discuss/207287
    【字节跳动】字节跳动一面凉经!
    https://www.nowcoder.com/discuss/207749
    【字节跳动】头条 机器学习算法一面
    https://www.nowcoder.com/discuss/207712
    【字节跳动】头条AILab一面面经
    https://www.nowcoder.com/discuss/208289
    【字节跳动】头条后台二面面经
    https://www.nowcoder.com/discuss/208881
    【字节跳动】字节跳动算法工程师面经+个人疑问
    https://www.nowcoder.com/discuss/209478
    【字节跳动】字节跳动 AILab提前批算法工程师面经(已收到offer)
    https://www.nowcoder.com/discuss/206226
    【字节跳动】字节跳动CV算法一面凉经
    https://www.nowcoder.com/discuss/206593
    【字节跳动】今日头条 多媒体开发(视频架构)面经
    https://www.nowcoder.com/discuss/206578
    【字节跳动】【字节跳动算法岗提前批1+2视频面】趁热分享
    https://www.nowcoder.com/discuss/205964
    【字节跳动】头条图形图像一面面筋
    https://www.nowcoder.com/discuss/205864
    【字节跳动】字节跳动ai lab cv算法面经(我来反馈攒人品了)
    https://www.nowcoder.com/discuss/205843
    【字节跳动】字节跳动 Data 算法工程师 广告/AML 提前批3面面经
    https://www.nowcoder.com/discuss/205736
    【字节跳动】说说自己的字节跳动EE部门一面凉经,以及面试官给我的三连击!
    https://www.nowcoder.com/discuss/206106
    【字节跳动】头条算法最新凉经
    https://www.nowcoder.com/discuss/206065
    【字节跳动】【字节跳动算法岗提前批1+2视频面】趁热分享
    https://www.nowcoder.com/discuss/205964
    【字节跳动】记一次十分惨烈的头条一面
    https://www.nowcoder.com/discuss/203454
    【字节跳动】头条机器学习算法岗面试记录
    https://www.nowcoder.com/discuss/205260
    【字节跳动】字节跳动游戏策划一二三面凉经
    https://www.nowcoder.com/discuss/279872
    【字节跳动】字节跳动游戏策划一二三面凉经
    https://www.nowcoder.com/discuss/279872
    【字节跳动】字节跳动游戏一面
    https://www.nowcoder.com/discuss/238857
    【字节跳动】游戏品牌管理 1/2/3/Hr面凉经
    https://www.nowcoder.com/discuss/206466
    【字节跳动】字节跳动游戏策划面经
    https://www.nowcoder.com/discuss/205817
    【字节跳动】字节跳动游戏策划一面面经
    https://www.nowcoder.com/discuss/203613
    【字节跳动】写面经攒人品,字节跳动游戏策划base 上海
    https://www.nowcoder.com/discuss/203837
    【字节跳动】提前批 游戏策划 面经
    https://www.nowcoder.com/discuss/204079
    【字节跳动】字节跳动游戏策划一面面经
    https://www.nowcoder.com/discuss/203950
    【字节跳动】游戏策划 数值+系统+战斗方向 三面 面经
    https://www.nowcoder.com/discuss/204180
    【字节跳动】字节跳动游戏策划三面面经
    https://www.nowcoder.com/discuss/204302
    【字节跳动】(也写个面经攒攒人品)字节跳动北京游策电面三连
    https://www.nowcoder.com/discuss/204216
    【字节跳动】字节跳动游戏研发(上海) 日常实习上岸分享
    https://www.nowcoder.com/discuss/349091
    【字节跳动】字节跳动 游戏开发一面凉经
    https://www.nowcoder.com/discuss/239589
    【字节跳动】字节跳动游戏引擎开发凉经
    https://www.nowcoder.com/discuss/233959
    【字节跳动】头条游戏研发一面面经
    https://www.nowcoder.com/discuss/225617
    【字节跳动】字节跳动游戏研发 一面凉经
    https://www.nowcoder.com/discuss/224569
    【字节跳动】游戏研发提前批——已收到意向书
    https://www.nowcoder.com/discuss/212360
    【字节跳动】已拿意向书-字节跳动杭州游戏研发面经
    https://www.nowcoder.com/discuss/211678
    【字节跳动】字节跳动游戏研发(已拿意向书)
    https://www.nowcoder.com/discuss/211390
    【字节跳动】字节跳动游戏研发二面凉经
    https://www.nowcoder.com/discuss/206603
    【字节跳动】字节跳动游戏研发一二三面
    https://www.nowcoder.com/discuss/203881
    【字节跳动】字节跳动 提前批 游戏开发 一面就凉
    https://www.nowcoder.com/discuss/203803
    【字节跳动】字节跳动游戏研发三面面经
    https://www.nowcoder.com/discuss/203781
    【字节跳动】字节跳动——上海——游戏引擎岗三面
    https://www.nowcoder.com/discuss/203777
    【字节跳动】字节跳动 游戏战略分析 一面面经 许愿二面
    https://www.nowcoder.com/discuss/317090
    【字节跳动】字节跳动商业化运营管培生面经
    https://www.nowcoder.com/discuss/324886
    【字节跳动】字节跳动商业化运营管培 base成都 三面过经
    https://www.nowcoder.com/discuss/291433
    【字节跳动】字节跳动游戏提前批游戏运营管理面经(3面+HR)
    https://www.nowcoder.com/discuss/210136
    【字节跳动】字节跳动商业化营销策划一面面经-base厦门la分公司
    https://www.nowcoder.com/discuss/299516

    展开全文
  • 最近有收到一些粉丝不同公司的面试题,像字节跳动、网易、美团等,趁着有时间,给大家梳理下,说不定面试能派上用场,大概给大家从以下几个方面来做了整理: 个人信息:(工作/实习经验,所做的项目,态度素养) ...

    最近有收到一些粉丝不同公司的面试题,像字节跳动、网易、美团等,趁着有时间,给大家梳理下,说不定面试能派上用场,大概给大家从以下几个方面来做了整理:

    • 个人信息:(工作/实习经验,所做的项目,态度素养)

    • 测试思维

    • 情景问题

    • 计算机网络

    • 操作系统

    • 代码/算法题

    • 语言(Python/Java)

    • Linux

    • 数据库

    个人信息

    1. 公司测试流程?/测试工作怎么开展的?/怎么展开测试?

    考察是否熟悉测试过程中各个环节。具备知识:软件生命周期、bug 生命周期、测试流程。

    大概流程为需求评审会议 ---> 测试计划(测试范围、时间节点、任务分配、测试策略、环境,风险评估)---> 测试用例编写(测试思维)、内部/项目组评审 ---> 测试执行(开发编译完成,提测):发现 bug 定位 bug,提交并跟踪 bug,多轮回归测试,测试结束 ---> 整理测试报告--> 发布线上,线上问题跟踪。

    可依据自己公司做适当调整。

    2.做过什么项目,负责什么?

    3.项目中每个业务扣细节?

    4.个人规划、如何理解测试岗位

    5.在最近生活或者工作上,遇到的最有挑战的事

    测试思维

    1.纸杯子做什么测试?

    反问面试官:这个水杯容量、材质、大小、形状、功能有无限制?

    面试官:没有限制

    我:假设这个水杯 100ml 办公室一次性的纸质水杯

    功能测试、界面测试、易用性测试、兼容性测试、安全测试、性能压力来思考

    功能测试:水杯能否正常装水,不漏水?100ml 边界值? 装冷水开水热水?能否降解?....

    界面测试:外观颜色、设计、logo、界面文字是否正确?.

    易用性测试:隔热、易握?杯口是否毛刺?设计是否符合人体工学?....

    兼容性测试:装气体/固体/液体? 不同环境下是否正常?

    安全测试:材质质量,是否防止腐蚀能力?防止碰撞,割手?抑制细菌?....

    性能压力:摔多次?是否耐摔?(不同高度) 挤压(不同角度),是否变形?.....

    2.发红包测试用例?

    3.微信点赞如何测试?

    4. 设计发朋友圈测试用例

    5.领取优惠券的页面如何设计?

    6.设计抖音视频播放页面测试用例?

    7.针对抖音搜索界面,设计测试用例?

    8.如何测试一瓶矿泉水?

    9.一个项目,有增删改查接口等,做接口测试,怎么测?

    情景问题

    1. 视频卡顿如何排查

    2.打开 APP 后页面空白,怎么排查问题?

    答案:

    1. 先确保网络正常、输入的 URL 地址是正确的

    2. 通过浏览器调试工具或者抓包工具例 fiddler,查看控制台的请求和响应,

    3. 查看请求地址和参数等是否正常;后台返回状态码、响应数据等是否正常

    4. 一般经过以上步骤,基本能够定位到问题,例控制台报 js 异常之类的,则前端问题;若返回状态 500,则后端问题,可同步查看服务器日志来定位

    3. 为微信的点赞功能设计测试用例,假如点赞了但是点赞数没有加一,可能报错在哪里?

    答案:url 定位错误、代码错误、断网操作网络不好、未更新、次数限制

    4. 网络良好的情况下,发现数据传输过程出现 404 的情况,你认为是什么问题。

    原因一般来说有几种情况:

    1. 无法在所请求的端口上访问 Web 站点。

    2. Web 服务扩展锁定策略阻止本请求。

    3. MIME 映射策略阻止本请求

    4. 网站更新改版,但某些局部板块沿用原来的模块,而原有的模块调用的文件已经被删除或转移了路径。

    5. 跟踪访问的各类脚码或 CSS 文件无效但调用代码依然存在。

    6. 某个目录直接删除

    7. 网页 URL 生成规则改变

    8. 网页文件更名或移动位置

    9. 导入链接拼写错误等

    5. A 给 B 发送消息后,A 看见消息发送出去了,但是 B 没有收到,怎么排查问题?

    6. 网页加载慢的原因?

    7. 与开发人员冲突的处理方法及遇到问题的解决方法

    8. 一个 bug 开发不认同是 bug 你该怎么做 ?

    首先确认开发环境是否跟自己测试环境一致(有时候开发是在他们已更新代码的环境上验证 bug 的,所以 bug 就没出现,但在测试环境上面会出现),确认在测试环境能重现,如果确认是缺陷跟开发保持有效的沟通,

    如果是级别较低的建议性 bug,可以先记录到 bug 平台,先保留沟通;

    如果是 bug 级别较高的问题,对应需求文档的预期结果跟开发说明,更有说服力;耐心讲解 bug 的危害,不行就找产品确认,确认是 bug 注明情况并再次指派给开发

    9. 你正在测试,产品组拿来一个紧急测试让你测,你该怎么办?

    10. 如果同事进度不能符合预期,影响整体进度怎么办

    11. 如果领导给你一个不熟悉的事件,但很紧急怎么办?

    计算机网络

    1.介绍 OSI 模型

    第一层:物理层,功能:利用传输介质为通信的主机之间的建立、管理和释放物理连接,实现比特流的透明传输,为数据联立层提供数据传输服务

    第二层:数据链路层,功能:在物理层提供比特流的基础上通过建立数据链路连接,采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路

    第三层:网络层,功能:通过路由选择算法为分组通过通信子网选择适当的传输路径,实现流量控制,拥塞控制与网络互联的功能

    第四层:传输层,功能:为分布不同地理位置计算机的进程提供可靠的端对端链接与数据传输服务;传输层向高层屏蔽了底层数据通信的细节

    第五层:会话层,功能:负责维护两个会话主机之间连接的建立、管理和终止,以及数据的交换

    第六层:表示层,功能:负责通信系统之间的数据格式变换、数据加密与解密、数据压缩与恢复

    第七层:应用层,功能:实现协同工作的应用程序之间的通信过程控制

    2.为什么 TCP 消耗系统资源多

    3.TCP 与 UDP 区别

    1. 基于连接与无连接;

    2. 对系统资源的要求(TCP 较多,UDP 少);

    3. UDP 程序结构较简单;

    4. 流模式与数据报模式 ;

    5. TCP 保证数据正确性,UDP 可能丢包,TCP 保证数据顺序,UDP 不保证。

    4.TCP 怎么保证可靠连接

    5.http 会话保持功能如何实现?

    6.http 状态码?

    1XX:通知。1XX 系列响应代码仅在与 HTTP 服务器沟通时使用。

    2XX: 成功。2XX 系列响应代码表明操作成功了。

    3XX 重定向。3XX 系列响应代码表明:客户端需要做些额外工作才能得到所需要的资源。

    4XX:客户端错误。这些响应代码表明客户端出现错误。不是认证信息有问题,就是表示格式或 HTTP 库本身有问题。客户端需要自行改正。

    5XX 服务端错误。这些响应代码表明服务器端出现错误。

    7.http 长连接和短连接以及他们分别适用的场景 ?

    8.get 和 post 区别?

    Get:

    a.一般对于从服务器取数据的请求可以设置为 get 方式

    b.Get 方式在传递参数的时候,一般都会把参数直接拼接在 url 上(例如:http://xxx?id=1&type=2)

    c.Get 请求方法可以传递的参数数据量是有限的(因为一般参数是拼接在 url 上,而浏览器对于 url 的长度是有限制的)

    d.Get 请求因为是直接将数据拼接在 url 上,所以安全性不如 post 强(相对),但是 get 的执行效率要快于 post

    Post:

    a.一般往服务器提交数据的请求会设置为 post 方式

    b.Post 方式传递参数一般都会把参数放在请求体,而不会拼接在 url

    c.Post 请求方法可以提交的数据量不受限制

    Post 请求传参相对于 get 要安全(相对不是绝对),但是 post 的执行效率不如 get。

    9.post 主体的格式?

    10.http 协议的 header

    11.cookie 和 session 是什么,为什么要用 cookie 和 session ?

    12.DNS 协议和作用?

    13.Https 中的 CA 证书在客户端还是在服务端?

    操作系统

    1. 进程和线程的区别?

    进程是资源分配的最小单位,线程是程序执行的最小单位。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此 CPU 切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。 线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。 但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

    2. 多线程和多进程,以及应用场景?

    3. 进程通信方式 ?

    4. 内存泄漏?

    5. 堆和栈?

    栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收 。

    6. 堆内存和栈内存?

    7. 什么是死锁,死锁的条件?

    8. 产生死锁的原因?

    可归结为如下两点:

    a. 竞争资源

    系统中的资源可以分为两类:

    可剥夺资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺,CPU 和主存均属于可剥夺性资源;

    另一类资源是不可剥夺资源,当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机等。

    产生死锁中的竞争资源之一指的是竞争不可剥夺资源(例如:系统中只有一台打印机,可供进程 P1 使用,假定 P1 已占用了打印机,若 P2 继续要求打印机打印将阻塞) 产生死锁中的竞争资源另外一种资源指的是竞争临时资源(临时资源包括硬件中断、信号、消息、缓冲区内的消息等),通常消息通信顺序进行不当,则会产生死锁

    b. 进程间推进顺序非法

    若 P1 保持了资源 R1,P2 保持了资源 R2,系统处于不安全状态,因为这两个进程再向前推进,便可能发生死锁

    例如,当 P1 运行到 P1:Request(R2)时,将因 R2 已被 P2 占用而阻塞;当 P2 运行到 P2:Request(R1)时,也将因 R1 已被 P1 占用而阻塞,于是发生进程死锁

    9. 如何预防死锁,!避免死锁,死锁发生的检查?

    资源一次性分配:一次性分配所有资源,这样就不会再有请求了:(破坏请求条件)

    只要有一个资源得不到分配,也不给这个进程分配其他的资源:(破坏请保持条件)

    可剥夺资源:即当某进程获得了部分资源,但得不到其它资源,则释放已占有的资源(破坏不可剥夺条件)

    资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)

    代码题、算法题

    1.装饰器并写一个装饰器例子?

    2.找出 数组中出现次数超过一半的数字

    3.哈希表的空间复杂度

    4.算法题:给你一个字符串,查找出所有的重复子字符串。

    5.算法题:树的深度遍历:while 循环:栈,先入右子树节点,后入左子树节点。

    6.算法题:给你一个字符串找出其中的回文字符串,对你的算法设计用例

    7.算法题:二叉树的前序遍历

    Python/Java 基础

    1. 面向对象语言的特性?

    2. 深拷贝与浅拷贝?

    数据类型分为两种基础类型和引用类型

    1. 基础类型:像 Number、String、Boolean 等这种为基本类型

    2. 引用类型:Object 和 Array

    浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝(例:assign())

    深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝

    1. python 元祖和列表的区别

    a=[] 这是一个列表

    b=() 这是一个元组

    区别:列表可以修改而元组不能修改,例如可以往列表中用 append()添加元素,由于元组是不可修改的所以不存在添加元素的问题。

    相同点:列表和元组都是容器,包含了一些列的对象,二者都可以包含任意类型的元素甚至包含序列。

    1. python 去重用什么 ?

    2. python 用过哪些库函数?

    3. selenium 用到什么程度了?

    4. python 装饰器,作用,用法

    5. Java:多态说一下,接口类和抽象类的区别;

    6. Java/Python 的垃圾回收机制?

    7. Java 和 python 创建多线程和多进程的方式 ?

    Linux

    1.常见命令

    2.打印当前文件夹文件 ls -al a 所有文件 l 详细信息

    3.查询 CPU 等情况的命令

    答案:free 命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。

    top 命令提供了实时的运行中的程序的资源使用统计

    atop 命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注

    htop 命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。

    ps 命令可以实时的显示各个进程的内存使用情况。

    smem 命令允许你统计基于/proc 信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图--图形界面窗口才提供)。

    vmstat 命令显示实时的和平均的统计,覆盖 CPU、内存、I/O 等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。

    nmon 是一个基于 ncurses 的系统基准测试工具,它可以监控 CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。

    数据库

    1. MySQL 存储引擎如何实现?

    2. 事务概念及其特性?

    概念:

    1.数据库事务: 数据库事务通常指对数据库进行读或写的一个操作序列。

    它的存在包含有以下两个目的:

    1. 为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

    2. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

    3. 多表查询、普通 SQL 和存储过程的区别?

    4. 索引的底层、底层为什么要采用 B 树或 B+ 树?

    5. B 树和 B+ 树区别?

    6. 熟悉数据库吗:学生选课系统怎么建表,查询一个老师教的所有学生的名字?

    7. 取一个年级中每个班级年龄最小的同学名字?

    8. where 和 having 的区别?

    答案:

    用的地方不一样

    where 可以用于 select、update、delete 和 insert into values(select * from table where ..)语句中。 having 只能用于 select 语句中

    执行的顺序不一样

    where 的搜索条件是在执行语句进行分组之前应用

    having 的搜索条件是在分组条件后执行的

    即如果 where 和 having 一起用时,where 会先执行,having 后执行

    子句有区别

    where 子句中的条件表达式 having 都可以跟,而 having 子句中的有些表达式 where 不可以跟;having 子句可以用集合函数(sum、count、avg、max 和 min),而 where 子句不可以。

    总结

    1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。 2.GROUP BY 子句用来分组 WHERE 子句的输出。 3.HAVING 子句用来从分组的结果中筛选行

    1. 内连接和外连接?

    内连接 则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合

    条件的记录不会出现在结果集中,即内连接只连接匹配的行。

    外连接 其结果集中不仅包含符合连接条件的行,而且还会包括左表、右表或两个

    表中的所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。

    左外连接,也称左连接,左表为主表,左表中的所有记录都会出现在结果集中,

    对于那些在右表中并没有匹配的记录,仍然要显示,右边对应的那些字段值以

    NULL 来填充。右外连接,也称右连接,右表为主表,右表中的所有记录都会出现

    在结果集中。左连接和右连接可以互换,MySQL 目前还不支持全外连接。

    1. 数据库字段去重?

    2. SQL 语句 查询每一门课程分数都大于 80 分的学生姓名?

    SELECT 姓名 FROM Student GROUP BY 科目 Having MIN(成绩)>=80

    鉴于篇幅所限,仅发出部分面试题,更多面试题含答案整理在《大厂面经》里,有需要的朋友可以私信我关键词“资料”免费获取

    展开全文
  • 笔试结束3天一面,视频面的。一上来写一个算法,给一个无序数组,找一个分割点,使得分割点左边的所有数小于等于右边所有数,分割点要求尽可能小。...(面试前一天才看过,不然答不出来。。)3....
  • 字节跳动面试题总结

    千次阅读 2020-04-25 15:41:37
    2、master收到指令后启动一个后台进程,将数据被分到文件中; 3、备份期间将新来的指令缓存 4、完成文件备份后将文件发送给slave 5、使用新的aof文件替换旧的aof文件 6、将着期间缓存的指令发送给slave 三、谈谈对...
  • 首先我们能否获得一个面试机会, 那肯定是从简历开始, 简历需要做好功夫, 一份好的简历才足够吸引企业得到面试机会, 接着就是面试了, 面试前必须要先做好准备, 多看一下前辈们总结面试题, 有哪一方面不足的地方赶紧...
  • 字节跳动面试官这些问题,可以看出,第三面他们考察的一个很重要的方向就是项目架构和性能优化。 “懒洋洋”甚至跟我吐槽:“我靠,现在大厂面试java后端都这么难的吗?” 大厂面试就是难,但是大厂的待遇是真的香...
  • 今天继续为大家更新字节跳动社招的面经资料。 (我发现我特别喜欢更新字节的。。。) 时长2H。应用+原理理解;Java后端社招+3年经验 1、自我介绍 2、JVM组成部分 (1)堆 (2)方法区(元数据区) (3)程序...
  • 面试情况我是实习僧上投了三个岗位,然后第二天就打电话约面试了,约在了后一天。一面:0、简单的介绍下自己吧。1、你原来做web前端开发,了解web后端开发的语言吗?说一说;2、那为什么不用c++做web后端开发呢?3、...
  • 前言:最近老是收到小伙伴的私信问我能不能帮忙整理出一份JVM相关的面试题出来,说自己在大厂去面试的时候这一块问的是特别多的,每次自己学的时候每次都学不到重点去。这不他来了,一份详细的JVM面试真题给大家整理...
  • Redis面试题概述Redis为什么这么快持久化原理什么是持久化持久化方式RDB和AOF的原理持久化方式RDB和AOF的优缺点和使用场景事务乐观锁与悲观锁的区别?管道PIPELINE的使用缓存穿透,缓存击穿,缓存雪崩解决方案键过期...
  • 如果后台发送一个超过最大自己的数字怎么办 js的最大安全数字为Math.pow(2,53),53位有效数字,值为:9007199254740992。如果超出了,会发生截断,等于js能支持的最大数字。比如900719925474099222,那么得到的值会不...
  • 代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定...自我介绍其实是个比较关键的过程,这基本上决定了后续环节将会问哪些问题以及初步给你的评分定位(作为无数候选人的面试官,..
  • Service Worker是浏览器在后台独立于网页运行的脚本,他打开了通向不需要网页或用户交互的功能的阀门。现在,它们已包括如推送通知和后台同步等功能。将来,Service Worker将会支持如定期同步或地理围栏等其他功能...
  • 字节跳动Java面试题精选——算法与数据结构【含答案】,点赞,评论,收藏一气呵成! 金九银十虽已过去大半,但还有金三银四呀,最新整理一些算法与数据结构以及答案总结,希望对想进BAT的同学有帮助。 本文所涉及的...
  • 9月9号字节跳动笔试(后台研发PHP)

    千次阅读 2018-09-10 15:43:51
    题目一:从一个字符串中找出无重复的最大子串(此忘记截图)。 解答: &amp;lt;?php /** * Created by Sean. * Date: 2018/9/9 * Time: 9:24 */ print_r(&quot;请输入字符串:&quot;); fscanf...
  • 字节跳动秋招面试后台岗位

    千次阅读 2018-09-11 18:44:40
    笔试5个题目,比较幸运一次过了。大概做了2.5的样子。...此我当时给出的答案是 a.找到翻转点,然后还原原数组,自然求得中位数。时间复杂度o(n) ,空间复杂度o(n),在这个思路上可以进行优化,可以不使用额外...
  • 字节跳动面试汇总

    千次阅读 多人点赞 2020-02-20 22:21:43
    字节跳动面试汇总 【字节跳动】字节跳动-抖音C++开发实习一二面凉经 https://www.nowcoder.com/discuss/342523 【字节跳动】字节跳动后端面经 已拿意向书 https://www.nowcoder.com/discuss/302265 【字节跳动】字节...
  • 万万没想到,字节跳动面试官这样问我
  • 记录一下第一次面试字节跳动后台开发(实习),因为我的项目是C++的网络编程项目,所以问的都是C++和网络编程相关,二面和三面(HR)以及最后加面一轮的技术面都记不清楚了,算法都写出来了,虽然都没写出最优解,但...
  • 最近有收到一些不同公司的面试题,像字节跳动、网易、美团等,趁着有时间,给大家梳理下,说不定面试能派上用场,大概给大家从以下几个方面来做了整理:
  • 码农A:看见标题我就震惊了。 码农B:我也是。 码农C:我琢磨着,UC震惊部还缺人吗?这小编是个人才啊。...长时间在后台运行不与用户直接交互 BroadcastReceiver—>接收广播 ContentProvider—>提供数据
  • 作为软件测试工程师的我们唯有不停的学习,不断提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里,字节跳动,腾讯,美团)趁着有时间,给大家梳理下,说不定面试能派上用场,大概给大家从...
  • 字节跳动面试算法题目以及答案

    千次阅读 2021-01-28 20:24:16
    字节跳动 给你一个数组,求三个数字之和为100 这就是三数之和是0 改编而来的 题目: 思路: 双指针 代码: class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(),nums....
  • 最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力...
  • 面试准备 不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。 运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试: 1. 自我介绍。(介绍自己...
  • 公众号后台回复“学习”,获取作者独家秘制精品资料扫描下方海报二维码,试听课程:原:给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶请想个优雅的办法,使得其...
  • 关注上方程序员小熊,回复算法、python、cpp、C++、512和1024,即可获取海量学习资料!前言 大家好,我是熊哥。最近一位朋友去面试字节跳动后台开发的岗位,其一面的算法,个...
  • 字节跳动暑期实习面试题准备

    千次阅读 2019-04-11 12:36:26
    字节跳动暑期实习后端面试题准备1.Java相关java中int和Integer的区别,为什么有了int还要有设计Integerjava中hashmap的实现原理,讲解一下哈希函数hashArray和list有什么区别?2.计算机操作系统操作系统中线程和进程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,559
精华内容 1,423
热门标签
关键字:

字节跳动面试题后台