字节跳动视频架构(一面面经)

  • 算法:判断是否有环
  • java基础
    • String StringBuilder StringBuffer
    • hashmap
  • jvm,多线程
    • jvm各个部分介绍
    • threadlocal
    • 各个引用过程(强软弱虚)
    • 乐观锁/悲观锁/锁升级
  • 操作系统
    • 进程 线程 协程
    • 进程通信
  • 项目
  • 计算机网络
    • http报文结构
    • http常用方法
    • http各类返回码
    • https介绍+用https输入url啥过程
    • tcp和udp
    • tcp堵塞机制
  • 动态调用和静态调用
  • 安卓
  • 前端
  • 自我小结

算法:判断是否有环

leetcode141
面试开始先做一道题,很简单

java基础

String StringBuilder StringBuffer

String 安全 不可更改
StringBuffer 直接在字符串上更改,线程安全
StringBuilder 直接在字符串上更改,线程不安全
(ps:今天新面试一个公司问了String底层原理,及问什么不能更改,所以String应该深入了解一下深入理解Java中的String(大坑))

hashmap

介绍hashmap,hashmap3种解决冲突的方式,这里只答出来链表散列,还有开放定址法(线性探测再散列,平方探测再散列),在hash法。
这里我只说了线性探测,集体其他方法没说清,同样今天面试问到了hashmap存入元素的底层原理,所以hashmap处理冲突及过程要了解~

jvm,多线程

jvm各个部分介绍

我忘记怎么就到了jvm的内容,开始介绍jvm内存结构

threadlocal

面试官问如何在线程共享部分存储自己线程的私有信息,开始没想到threadlocal,提醒之后想到了
threadlocal底层threadlocalMap,在这边我提了key为弱引用,记住用完要及时移除Key=null的值 remove()方法。

各个引用过程(强软弱虚)

应该是我每次遇到threadlocal都会引导面试官问四种引用类型。
强引用:直接new对象,有地址
软引用:内存满,回收
弱引用;垃圾回收器看到就清理
虚引用:虚引用与引用队列联合使用,跟踪垃圾回收活动

乐观锁/悲观锁/锁升级

cas
synchronized
无锁-偏向锁-轻量级锁-重量级锁
升级过程,markword,记录锁标志位

操作系统

进程 线程 协程

这里我只说出来了线程进程的区别,协程盲点
进程、线程和协程之间的区别和联系

进程通信

我们没专业学过操作系统,原本以为可能遇不到就没看,诶,没答上,开始苦学操作系统
进程通信有7种

项目

我做了netty心跳包来保持通信连接,介绍心跳包实现过程,基于websocket协议,所以介绍完开始计算机网络。
介绍项目顺便把http1.0,http1.1,为什么选websocket都说了,于是下面开始https

计算机网络

面试官小哥哥知道我不太了解操作系统之后,开始问计算机网络

http报文结构

以前没关注过,然后答不出来,自己开始将http和https,然后讲了get,post方法
http请求报文,请求头,请求行,请求体

http常用方法

说了最常见的get,post
get:从指定的资源请求数据,url传参,不安全
post:向指定资源提交被处理数据,body体,安全
get,post 最常见的HTTP方法:GET和POST

http各类返回码

只说出来200,404,500,还是太少了。

HTTP 返回码详解

https介绍+用https输入url啥过程

https 在ssl+http协议出现的协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全。

这里说出来对称加密,非对称加密,返回证书!!!忘记了,https是加密的,可以进行客户端服务端的双边认证,所以返回证书很重要,这里只记得http了,哭~

tcp和udp

说出来区别,但是面试官纠正我,虽然udp传输快容易丢失数据,但是在已经获得了数据包再向上层传输的时候,udp有自己的机制来判断信息是否丢失。
从UDP的”连接性”说起–告知你不为人知的UDP

tcp堵塞机制

慢开始:拥塞窗口,开始传输数据值数增长,达到快开始门限
拥塞避免:达到门限后线性增加,减少堵塞
快重船:一旦发现服务器向客户机发超过3次重复消息,判断消息丢失,快重传
快恢复:一旦堵塞,降低快开始门限值,重新开始慢开始,拥塞避免。

这块比较了解,说的比较多

动态调用和静态调用

面试官小哥哥好像写c的,问了这个我不知道,我找了一个网上说的,大多数都是c语言的
java调用动态库

安卓

我项目有一个安卓的,我主要负责图片获取截取,太久没看+一直准备java后端,突然问四大组件没准备,只记得activity了,哭了,大家写在简历里的都要知道啊。
四大组件:
activity
service
content provider
broadcast receiver
Android面试题(四大组件篇)

前端

没想到会问……,只用前端做了,用的mui框架,他问了我和其他前端框架的区别,还有promise用法,我前端只应用项目写了,没准备,问了javascript,不过mui框架应该提前准备的,还问了mui和react native

简历上写的都要会!!!

自我小结

这次没问spring,和mysql,不过今天面试问到了springmvc的底层结构,之前看过没记住。
字节第一次面试体验感非常不错,这次还是算法比较简单的,之前没怎么看操作系统,这次真踩到了,都要复习呀,同时这次面试也是非常基础的,没有遇到企业级架构,mysql,同时数据结构,算法,操作系统,项目也没有太深入,知道了自己的一些知识盲区,继续加油!

字节跳动视频架构(一面面经)相关推荐

  1. 字节跳动 视频架构 一二面凉经

    后台开发-视频架构-上海 用go的 一面: 访问一个网站的过程 dns端口号 基于udp还是tcp tcp可靠性 四次挥手2MSL是为什么? 如果收到之前连接的包怎么办? 进程和线程的区别? 线程异常 ...

  2. Flutter 沙龙回顾 | 跨平台技术趋势及字节跳动 Flutter 架构实践

    11 月 23 日,字节跳动技术沙龙 | Flutter 技术专场 在北京后山艺术空间圆满结束.我们邀请到字节跳动移动平台部 Flutter 架构师袁辉辉,Google Flutter 团队工程师 J ...

  3. 今日头条 字节跳动 Flutter架构实践

    今日头条 字节跳动 Flutter架构实践 1 移动跨平台技术探究 ◆ 为什么需要跨平台? 今日头条 字节跳动 Flutter架构实践 ◆ 跨平台技术是如何发展起来的? 今日头条 字节跳动 Flutt ...

  4. 字节跳动移动架构师学习笔记,Android篇

    导语 你想做安卓开发,怎么系统学习?你只需要看完这一篇就够了!!为什么只看这一篇就够了?现在CSDN.知乎.掘金.GitHub上各路大佬层出不穷,他们深耕Android开发多年,总结出满满的学习干货. ...

  5. 2种Android图表的简单介绍+折线图、饼图的例子,字节跳动移动架构师学习笔记

    setTitle("PieChartActivity"); pie = (PieChart) findViewById(R.id.pie); //②输入数据 //其中两个数字对应的 ...

  6. 字节跳动视频编解码面经

    引言 本文主要是记录一下面试字节跳动的经历. 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直 ...

  7. 字节跳动——视频系统架构

    一面 2021.9.15 自我介绍 项目基本情况(腾讯的项目) 是嵌入后端?PC客户端. 软件要推广出去,你会怎么办 C++ C++11新特性?智能指针- 多线程 如何让保证资源同步?答:锁 互斥锁 ...

  8. Hadoop之HDFS01【介绍】,字节跳动解决方案架构师

    | 3 | 单一文件Block大小一致,文件与 文件可以不一致 | | 4 | Block可以设置副本数,副本分散在不同节点中 副本数不要超过节点数量(超过多余的副本会重复将浪费空间) | | 5 | ...

  9. 31道Android面试题,字节跳动移动架构师学习笔记,大厂直通车!

    关于Android的近况 大家都知道,今年移动开发不那么火热了,完全没有了前两年Android开发那种火热的势头,如此同时,AI热火朝天,很多言论都说Android不行了.其实不光是Android,i ...

最新文章

  1. vue更新data无效,页面data没刷新 vue.set
  2. Virtex中的ILA属性、VIO属性
  3. CTime COleDateTime的常用操作和比较
  4. 【图解计算机组成原理】第1章 计算机系统概论
  5. linux系统编程:自己动手写一个who命令
  6. 【Spring MVC学习】详解spring mvc 3.0常用注解
  7. CRM呼叫中心inbox的调试步骤
  8. mongodb atlas_如何使用MongoDB Atlas将MERN应用程序部署到Heroku
  9. IOS上从第三方页面回跳VUE页面页面不刷新问题
  10. X86 “将死“?RISC-V 正当立
  11. 大端模式和小端模式的再理解
  12. PXE安装报错:Cant' write to /dev/sda ,because it is opened read-only
  13. 刚接手的项目代码 怎么看_你们刚开始是怎么看英文文献的?
  14. C# 如何将一个PDF页面分割为两页或多页
  15. 8、共射放大电路一般性质与放大电路的直流偏移
  16. 猜拳java,猜拳小游戏(Java代码实现)
  17. 解决.Net Framework 在计算机上已安装了更高的 4.x 版本
  18. 安霸Ambarella_海思Hisilicon_AI芯片参数对比
  19. git name consists only of disallowed characters:
  20. leap smear是什么

热门文章

  1. 苹果开发者账号过期后 是否还可以使用Testflight进行分发测试
  2. 阿里云虚拟主机部署多个网站
  3. ios分屏_其实iOS远没那么简单!这些好用的隐藏技巧,希望你不是第一次用
  4. Linux爱好者入门经典教程2
  5. 超经典互联网爆笑段子句句笑趴下
  6. LaTeX的参考文献
  7. 山东大学-网络与信息安全-林丰波-名词解释
  8. 【零基础深度学习教程第四课:卷积神经网络 (上)】
  9. Android中表面视图SurfaceView相关知识点
  10. ps XXXX有限公司页面 项目实践