面试复盘|字节国际化客户端一面凉经!

字节是面试以来唯一一个没有突破过一面的公司,字节今年这么顶?还是我运气不够好?有跟我一样的朋友吗?

提前批挂了一次,面的还行,当场无了,当时算法写的慢,给挂了也认了,结果秋招被客户端捞了,面试的时候问题都回答上来了,题目也写出来了,最好跟我说岗位匹配度不高。
很迷!!!

1.自我介绍

2.问基础知识

3.tcp和udp的区别

4.说一下dns解析的过程

5.虚拟内存的作用是什么?都有哪些方法,每一种都有什么优缺点?

主要是:段、页和段页的区别

6.进程与线程的区别,进程间的通信方式
进程:
  1. 管道/匿名管道(Pipes) :用于具有亲缘关系的父子进程间或者兄弟进程之间的通信。
  2. 有名管道(Names Pipes) : 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道严格遵循**先进先出(first in first out)**。有名管道以磁盘文件的方式存在,可以实现本机任意两个进程通信。
  3. 信号(Signal) :信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;
  4. 消息队列(Message Queuing) :消息队列是消息的链表,具有特定的格式,存放在内存中并由消息队列标识符标识。管道和消息队列的通信数据都是先进先出的原则。与管道(无名管道:只存在于内存中的文件;命名管道:存在于实际的磁盘介质或者文件系统)不同的是消息队列存放在内核中,只有在内核重启(即,操作系统重启)或者显示地删除一个消息队列时,该消息队列才会被真正的删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取.比 FIFO 更有优势。消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺。
  5. 信号量(Semaphores) :信号量是一个计数器,用于多进程对共享数据的访问,信号量的意图在于进程间同步。这种通信方式主要用于解决与同步相关的问题并避免竞争条件。
  6. 共享内存(Shared memory) :使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。可以说这是最有用的进程间通信方式。
  7. 套接字(Sockets) : 此方法主要用于在客户端和服务器之间通过网络进行通信。套接字是支持 TCP/IP 的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。
线程:
  1. **互斥量(Mutex)**:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。比如 Java 中的 synchronized 关键词和各种 Lock 都是这种机制。
  2. 信号量(Semphares) :它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量
  3. 事件(Event) :Wait/Notify:通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操

7.数据库的事务特性,都是如何实现的。

8.数据库设计的三大范式

9.java的三大特性、

10.java中final关键字

11.java中的泛型,限定通配符是什么?

12.java中的反射机制,可以获取到私有变量吗

13.sleep和wait到区别

14.join的作用和底层

15.栈和队列的区别,两个栈如何实现一个队列

16.给力一段代码,问输出结果
public class t {
    public static void main(String[] args) {
        AA a = new BB();
        a.function();
    }
}
class AA{
    {
        System.out.println(1);
    }
    public AA(){
        System.out.println(3);
    }
    public AA(int v){
        System.out.println(5);
    }
    public void function(){
        System.out.println(7);
    }
}
class BB extends AA{
    static {
        System.out.println(2);
    }
    public BB(){
        System.out.println(4);
    }
    public BB(int v){
        System.out.println(6);
    }
    public void function(){
        System.out.println(8);
    }
}

17.力扣买卖股票问题(一次买卖)

18.如果可以多次买卖呢?不使用dp怎么解决?


问题11回答的不是很好,限定通配符确实不太记得了,其他的都答上来了。

不知道有没有牛友和我一样的情况?
#面试复盘##字节跳动##面经#
全部评论
16 的 答案是啥
点赞 回复
分享
发布于 2021-09-13 11:43

相关推荐

2 10 评论
分享
牛客网
牛客企业服务