字节实习一面面经(寄)

面试官:介绍一下你自己
....
面试官:我看你的简历里面有转专业的经历,可以稍微说一下吗?
.....
面试官:嗯嗯,下面开始问一下Java技术的内容吧

面试官:java有哪基本的几种数据类型
-int , char , byte , long , double , short , float , boolean

面试官:它们大概都占多少字节?
int 4位 byte 1位 long 8位 double8位 short 2位  float4位 char4位(这里答错了 , 应该是两位 ,面试官还着重问了一下)

面试官:hashmap是线程安全的吗?
-不是,hashmap底层没有加锁,可能在扩容的时候造成死循环,如果需要用到线程安全的hashmap我们需要用concurentHashMap

面试官:concurrentHashMap如何实现线程安全
-concurrentHashMap底层实现了分布式锁,对数据进行分块处理,然后对每一块进行加锁处理,因为这样效率高,如果只加一个锁
的话,查找数据的效率会非常低

面试官:concurrentHashMap如何实现分布式锁?
-额,,这个没有了解太多,我只知道好像是先存分块信息,然后分块信息对应着每块的一些数据,在这些块上加的锁,大概就了解了这么多

面试官:嗯,说一下java的内存模型
-JVM中对每块线程都有自己的方法区、堆空间、程序计数器、JVM栈、本地方法栈(这里忘记了JVM栈,想了大概十秒才回答上的)

面试官:嗯,说一下每个区域的功能
-方法区存的是一些刚初始化的类,以及这些类的变量,方法什么的 , 堆空间heap存的是通过类实现的一些实例对象,程序计数器是用来
额。。。嗯。。(这里卡了20秒,知道是啥但是不知道怎么表达)就是线程一般不是一次性就运行完成的,一般都会被分配时间片,
程序计数器就是记录这个线程运行到哪儿了,存的这个信息。然后JVM栈就是存的一些局部变量什么的,然后本地方法栈就是用来调用一些
本地方法用的

面试官:说一下常用的一些GC算法
-引用计数法 , 标记清除法 还有啥来着(想了一会) 可达性分析法 这样 ,不过可达性分析法我不了解它的原理

面试官:简述一下http协议
这里就是在背诵八股文

面试官:讲一下http的结构
八股文陈述  不过好像漏了点东西

面试官:讲一下mysql的常用索引
-聚簇索引和非聚簇索引(开始也不知道就之前看面试题记了这一点,不清楚原理和定义,只知道有这么个东西)

面试官:讲一下索引是怎么实现的
-我不太了解,我大概只知道索引是为了加速数据查询速度,然后在字段上加一个B/B+树来加速查询速度这样子

面试官:好,下面我发一道算法题给你做吧
-好
leetcode 5 最长回文子串
最开始10分钟一直在想动态规划怎么写,没想出来,就写了一个判断字符串是否回文的函数在上面
然后就开始另一种思路:遍历字符串每一个字符,然后对它和周围的字符进行切片,再判断是否是回文串,然后进行记录

过了20分钟
面试官:还在吗?怎么样了
-在呢,还在想
面试官:你的思路是怎么样的?
-这道题我之前大一的时候在计算机学院算法课上旁听过,大概是用动态规划,我刚刚一直在想动规该怎么写,没想出来
现在就是想先写一个判断是否回文的函数,然后遍历字符串的每一个字符,然后对它和周围的字符进行切片,再判断回文,记录是否最大这样子,
不过它有两种情况,我一直在考虑另一种情况怎么写(就是奇数对称和偶数对称的情况)
面试官:嗯,你继续写,再给你5分钟
....
面试官:写出来了吗
-没,确实是不会写,有些情况不懂怎么写

面试官:好,这还有一点点时间 ,你有什么想问的吗
-没,这次算法题准备的不太充分,希望下次能再接再厉吧

面试官:行,那就这样了
-嗯,谢谢您

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值