字节跳动 0基础 客户端开发 一二三面经(已意向书)

[TOC]

一、写在前边的话

首先,个人认为面试官会问什么取决于很多方面:

  • 面试官的习惯(废话)
  • 个人教育经历
  • 简历所呈现的内容

    1. 面试官的习惯

    不具体展开

    2. 个人教育经历

    这个我认为很重要,我自己也会看很多面经,有些面经很简单,有些面经很难,有些面经1道题,有些面经3.4道题。我个人认为这个和你的教育背景有很大关系。
  • 如果你的学校够好(比如top2),可能面试问的问题不会那么全面,题目考查也不会那么多,面试过程可能很轻松愉快,这是学历背景加成
  • 如果你学校不那么出名,可能面试官会百般刁难,题目问的很深,算法题数量很多,面试官需要你证明你自己
    所以希望大家看面经理性看待,结合自己的实际情况分析,不要太怕

    3. 简历所呈现的内容

    贴一段自己简历里写的技能描述(希望大家批评指正)
    • 熟悉Java语法,多线程、集合等基础框架
    • 对JVM原理有初步了解,包括内存模型,垃圾回收机制
    • 熟悉Linux下编程
    • 熟悉Redis和MySQL的使用以及相关原理
    • 熟悉Spring,SpringMVC,Mybatis,SpringBoot等主流开源框架,以及Maven等项目构建工具
    • 熟悉Python语言,Pytorch深度学习框架
    • 了解HTML,CSS,JavaScript等前端知识
      面试官会根据简历里所写的内容进行提问,所以写什么真的很重要

    二、 一面 8月13日

  • 自我介绍
  • 算法题——反转链表(先说思路再写,很快写完)
  • 算法题——给一个数组,找出数组中所有满足条件(该元素满足不小于左侧的所有元素,不大于右侧的所有元素)的元素的index
  • 单例模式(我写的懒汉线程安全)(volatile,二次判断的作用,饿汉的缺点,有没有可能破坏单例,加锁的级别)
  • 类锁和方法的锁
  • 乐观锁悲观锁,CAS
  • 自旋锁,线程状态切换,阻塞等待的区别,wait sleep,不同状态会不会释放CPU
  • HashMap深挖,重写equals为什么要重写hashcode
  • LRU使用场景,这里说到了redis内存模型
  • HashMap存储int和long的缺陷(指针所占用的内存已经超过了要存储的数据的内存,存储效率低)
  • 针对基础类型优化的map是否了解(我不清楚,问了一下面试官有什么,他说有ArrayMap)
  • HashMap 是否线程安全,有哪几种线程安全的(三种),他们之间有什么区别
  • ConcurrentHashMap 原理,JDK1.8和JDK1.7的不同
  • HTTPS和HTTP的区别
  • HTTPS详细介绍 非对称加密,数字签名
  • TCP UDP的区别 UDP如何实现可靠传输
  • get和post的区别 get是幂等的吗

    三、 二面 8月14日

  • 自我介绍
  • u盘为什么不能拔插
  • 剪切和复制文件的区别
  • 删除文件的原理,文件恢复软件的原理, 怎么样才能避免文件恢复
  • 保存一本txt小说需要往磁盘中写多少数据,如果往小说中间增加文字再保存呢,会写入多少数据?为什么小说会这样,而数据库不会?
  • 进程和线程的区别
  • 虚拟内存
  • 进程之间通信的方式,具体介绍共享内存(流程,如何通知其他进程)
  • 页缺失,为什么会页缺失
  • 线程不共享内存的方式
  • ThreadLocal具体原理
  • 实现ThreadLocal(完全不会写,在面试官提醒下写出来了)
  • 算法题——在一个数组中,寻找两个数等于target,找出所有可能的答案数,[1, 1, 3],target为4的话 [1, 3][1, 3]算两种

    四、 三面 8月18日

  • 介绍实验室科研项目
  • 介绍项目 + 深挖
  • 如何渲染一个前端页面(前端的问题,不太会)
  • 如何提高HTTP的建立连接的速度
  • 问我为什么跨专业
  • 算法题 给一个长度为m的char[] + 长度为n的str,判断str中有没有连续的长度为m的子串由char[]中所有字符组成,有的话返回起始位置的index,否则返回-1(代码第一次没写过,自己加了几个println进行查错,最后改对了)

    五、最后

    许愿拿到offer,也祝福大家拿到心仪的offer
#字节跳动##面经##校招##Java工程师#
全部评论
双非硕  估计面试我得被面试官怼死
6 回复 分享
发布于 2020-08-18 18:38
楼主搞JAVA为什么转客户端了(虽然我也是,坐等二面)
点赞 回复 分享
发布于 2020-09-05 22:27
大佬求问二面里面有关于磁盘和数据库问题的答案,“保存一本txt小说需要往磁盘中写多少数据,如果往小说中间增加文字再保存呢,会写入多少数据?为什么小说会这样,而数据库不会”这部分具体是考察什么啊。
点赞 回复 分享
发布于 2020-09-04 17:05
楼主,哪个部门
点赞 回复 分享
发布于 2020-08-18 23:02
线程不共享内存的方式是啥?
点赞 回复 分享
发布于 2020-08-18 22:05
U盘为什么不能拔插啊
点赞 回复 分享
发布于 2020-08-18 19:18
点赞 回复 分享
发布于 2020-08-18 18:30
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-18 18:16

相关推荐

HTTP(超文本传输协议)是一种用于在网络上进行通信的协议。 它是用于在Web浏览器和Web服务器之间传输超文本文档的基础协议。HTTP的核心概念和工作原理如下:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=b48bebe08e474db8b80b853b12bafd48客户端和服务器之间的请求/响应模型:客户端发送一个HTTP请求到服务器,服务器处理该请求并返回一个HTTP响应。请求方法:HTTP定义了一组请求方法,包括GET、POST、PUT、DELETE等。这些方法用于指定请求的目的以及对资源的处理方式。URL(统一资源定位符):HTTP使用URL来标识要请求或响应的资源。URL由协议、服务器地址、端口和资源路径组成。请求头和响应头:HTTP请求和响应都包含一组头部信息。请求头包含有关请求的元数据,如请求方法、请求主机等。响应头包含关于响应的元数据,如状态码、内容类型等。状态码:HTTP响应包含一个状态码,用于指示请求的处理结果。常见的状态码包括200(请求成功)、404(未找到)和500(服务器内部错误)等。内容编码:HTTP支持使用不同的编码格式来传输数据。常见的编码方式包括gzip、deflate和br等,用于压缩数据的大小以提高传输效率。Cookies和Sessions:HTTP通过使用Cookies或Sessions来维护状态。Cookies是服务器在客户端存储的小段信息,用于跟踪用户的状态,而Sessions是由服务器维护的与用户相关的数据。缓存:HTTP允许客户端和服务器使用缓存来减少重复请求和提高性能。客户端可以使用响应头中的Cache-Control字段来控制缓存策略。安全性:HTTP可以通过HTTPS(HTTP Secure)来提供安全的通信,使用TLS或SSL加密数据以防止窃听和篡改。
社畜职场交流圈
点赞 评论 收藏
分享
评论
11
86
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务