前言:

本文分享面试题给正准备跳槽,准备找工作的你,这次面试字节跳动也是做了很多的准备,还好顺利拿到了offer,特分享一下这次的4面技术面真题,可能有些记不全了,但多少也能够给一些正在面试字节或计划面试字节的朋友提供帮助。

不会做不要着急哦,文末有答案分享

 

Jvm性能优化方面

  • 如何判断一个对象是否存活(或者GC对象的判定方法)
  • 垃圾回收的优点和远离。并考虑2种回收机制
  • 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  • Java中会存在内存泄漏吗,请简单描述
  • 在Java中,对象什么时候可以被垃圾回收
  • 简述Java内存分配与回收策率以及Minor和major GC
  • JVM的永久代中会发生什么垃圾回收

springcloud方面

  • 你什么是springcloud?
  • 使用springcloud有什么优势?
  • 服务注册和发现是什么意思?springcloud如何实现?
  • 载平衡的意义是什么?
  • 什么是Hystrix?它如何实现容错
  • 什么是Hystrix断路器?我们需要它吗?
  • 什么是Netflix Feign?它的优点是什么?
  • 什么是springcloud Bus?我们需要它吗?

分布式方面

  • zookeeper是什么?
  • zookeeper提供了什么?
  • zookeeper是如何保证事务顺序的一致性的?
  • 请解释一下什么是nginx?
  • 请解释nginx如何处理HTTP请求
  • rabbitMQ中的broker是指什么?cluster又指什么?
  • kafka的设计时什么样的呢?
  • kafka判断一个节点是否还活着有那俩个条件?

并发编程方面

  • Synchronized用过吗,其原理是什么?
  • 什么是可重入性,为什么说Synchronized是可重入锁?
  • Jvm对Java的原生锁做了哪些优化?
  • 为什么说Synchronized是非公平锁
  • 什么是锁消除和锁粗化?
  • 为什么说Synchronized是一个悲观锁?乐观锁的实现原理又是什么?
  • 乐观锁就一定是好的吗?
  • 跟Synchronized相比,可重入锁ReentrantLock其实现原理有什么不同?

算法题

(1)这其实是一道变形的链表反转题,大致描述如下

给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序。(不能使用队列或者栈作为辅助)

例如:

链表:1->2->3->4->5->6->7->8->null, K = 3。那么 6->7->8,3->4->5,1->2各位一组。调整后:1->2->5->4->3->8->7->6->null。其中 1,2不调整,因为不够一组。

(2)虚拟十叉树建模问题

题目描述:给定整数 n 和 k ,找到 1 到 n 中字典序第 k 的小数字;注意:1≤ k ≤ n ≤10⁹

(3)一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。

(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

读者福利

面试,其实是一个双向选择的过程,在这个过程里,我们不应该抱着畏惧的心态去对待,这样反而会影响自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。今天给大家分享一份阿里的面试大全,希望大家都能找到适合自己的公司,开开心心的撸代码。

领取方式:关注+转发+私信(面试)获取上述资料

记得一定要转发哦

 

领取方式:关注+转发+私信(面试)获取上述资料

 

领取方式:关注+转发+私信(面试)获取上述资料