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

算法:判断是否有环

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对象,有地址
软引用:内存满,回收
弱引用;垃圾回收器看到就清理
虚引用:虚引用与引用队列联合使

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值