社招-字节跳动-初/中级 Java 后端-一面面经

本人情况:
本科毕业后做了 2 年 Android 系统定制(Java 相关工作),现在希望重新转回后端开发,内推字节得到面试机会(感恩)

昨天和面试官进行了一面,说实话从毕业校招开始就一直被字节的面试吊打,但是昨晚的这个一面感觉还是聊得挺开心的,今天也顺利约了二面,希望发一下面经积攒一下人品

以下是一面的面经
  • Java HelloWorld 从输入到执行这个步骤都有哪些事情

  • 为什么要分为 JRE 和 JDK,两者区别?为什么需要这样分开呢?

  • Linux 系统是干嘛的,对 Linux 的理解

  • Linux 的命令

    • 从文本文件里面过滤和统计的命令是什么(管道的操作,不怎么熟悉)

  • 进程和线程的区别

  • 线程之前的通信方式,进程之间的通信方式

  • 零拷贝的概念是什么意思

  • 多线程怎么实现线程安全(只能回答上来锁)

    • 其实可以分为互斥同步和非互斥同步,前者是锁的实现方式,后者是类似于 CAS 这样的形式

  • HashMap 线程不安全,怎么样才能安全

  • 其他的一些线程安全的容器有哪些?(有没有同步的 List 之类的?)

  • 线程池的有了解过嘛

  • 线程池里面的队列有哪些实现?

  • 线程池的队列是线程安全的嘛?(答不上来)

  • HashMap 是否无序?LinkedMap 有序的实现?

  • TreeMap 和 LinkedMap 的区别 ?

  • LRU 怎么实现?用什么来实现(没有很能答上来)

    • 默认的话是用一个 HashMap + 一个排序链表组成

    • LinkedHashMap 本身就支持设定按照访问顺序排序,所以可以直接用 LinkedHashMap 实现

  • 分布式锁的实现(回答了 setnx 方式,又提了 set + 过期时间 + NX 来解决死锁问题)

  • 各个服务之间持锁差距过大怎么办?比如一个服务需要持锁一个小时另一个需要持锁1分钟,怎么办?

  • HTTP 协议Method 有哪些 ?GET 和 POST 的区别 ?GET 能不能传 body ?Header 的 value 可以用二进制 ?

  • 了解 RPC 嘛?讲一讲大概概念?

  • Http 还是 RPC 哪个好一点(没有了解具体的区别)

  • 用过 MQ 嘛?如何保证有序?消息丢失?

  • 引入的 SDK 其依赖的包与项目本身引入的包有冲突应该怎么解决?(回答了 maven 可以引入依赖的时候剔除某些包)

  • 算法题-层序遍历二叉树


总结:其实很多都是基础,但是面试官更在乎你对于计算机系统有没有自己的了解

#字节跳动##面经##社招##后端开发#
全部评论
为啥要转回后端呢?
点赞 回复 分享
发布于 2022-03-16 09:29
求二面面经
点赞 回复 分享
发布于 2022-04-12 21:27

相关推荐

评论
9
42
分享
牛客网
牛客企业服务