一面(个人感觉回答得还不错)

1. 自我介绍
2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目)

2.1 对于自己产于过项目的系统定位是否清楚?
2.2 对于系统的各个模块是否清楚?
2.3 每个接口的tps?
2.4 对于上下游系统的依赖?
2.5 对于使用到的中间件、框架是否清楚?

3. 你觉得你做的项目中最有亮点的事情?
4. memcache redis同类中间的差异、优缺点?使用注意点有哪些?

memcache可以存储的数据类型只有字符串类型,而redis可以存储字符,list,sorted List,hash数据类型的数据;
memcache不支持数据持久化,redis支持RDB,AOF持久化;
memcache不支持集群,redis支持redis-cluster集群

5. redis分布式锁说说

我提到了redis的setnx()方法,以及使用redis的KV结构,lock作为key,key对应的value使用map结构,map中使用请求requestId作为map的key,过期时间作为map的value,获取锁使用cas算法,比较时间是否过期来获取锁和释放锁

6. TCP,UDP
7. 多并发项目的并发量,有没有压测过,以及QPS,请求的消息量太大,使用自己创建的任务队列会不会使内存爆?
8. Redis集群主从数据同步

主从集群实现了数据的读写分离,主服务器负责读写,偏重写,从服务器只负责读。主服务器启动之后向从服务器发送日志文件,从服务器根据日志文件进行数据的更新,之后如果主服务器有写操作,也会向从服务器发送相应的写操作

9. Zookeeper实现选举的原理

zk的选举过程中其起始所有结点的状态为looking,当某个结点的选票超过所有结点数的一半,该结点就会成为leader,结点状态为leading,其他结点会成为followers,结点状态为following。选举的依据是(sid,zxid)数据,sid代表结点的ID,zxid代表事务ID,选举过程中每个结点第一轮选举会选举自己作为leader,将(sid,zxid)发送给其他结点,其他结点收到数据(sid,zxid)与自身的数据做比较,如果zxid比自身zxid的要大,则直接选举当前结点;如果小于,坚持选举自己;如果zxid相等,比较sid哪个大,大者作为leader。

10. 说说分布式(我说的是Dubbo)
11. 数据库事务,分布式数据一致性如何实现?

读者可以了解一下ZAB协议,我大概就是围着ZAB协议说的

12. SpringIOC,SpringAOP

我简单说了说IOC,AOP的原理,以及原理依赖的模式

13. 数据库事务的隔离级别

四大隔离界别:Uncommitted-read Commited-read Repeated-read Serializable分别针对数据库脏读,不可重复读,虚读问题

14. 谈谈RPC

RPC远程调用,说了说原理,使用到的组件,以及RPC主要的任务:序列化,传输数据,方法调用(方法对应的ID)

15. 算法题:笔试题-最短路径问题(这道题是通过的)
某物流派送员p,需要给a、b、c、d4个快递点派送包裹,请问派送员需要选择什么的路线,才能完成最短路程的派送。假设如图派送员的起点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的距离就是4。随机输入n个派送点坐标,求输出最短派送路线值(从起点开始完成n个点派送并回到起始点的距离)。

我的做法是使用排列算法,将所有的情况排列出来,计算最短路径

二面(个人感觉回答的特别垃圾,六道问题回答了两道)

1. 自我介绍
2. 怼项目,各个角度刁难
3. FULL GC问题排查工具

我做项目时其实没有使用什么工具,就是用Linux命令TOP,TOP交互命令 1,H;jsatck,jstat以及JVM的相关参数和JVM日志的查看

4. 从事开发遇到最具有难度的问题
5. Spring事务,嵌套事务

这道题其实我是被问懵了,我回答得相当不好,一直回答事务隔离那一块,面试完我总结了一下有关Spring事务相关知识点

6. 面向接口编程的好处是什么

问的问题太抽象,我回答不好,面试官说不够完善

7. 数据库两个insert同时操作同一张表,第一个线程操作一半,问第二个线程会发生什么?

我回答的稀巴烂,下来查了一下,大概就是说这里涉及到的锁是间歇锁,读者可以看看相关知识

8. 说说死锁

举个例子,两个线程1和2,两个锁a和b,线程1拿到a锁后申请要b锁,而同时线程2已经拿到b锁,要申请a锁,两个线程之间陷入僵持状态

总结

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。

对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。

你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:

需要获取这份学习规划路线以及文章中提到的Java阿里内部Java应届生就业宝典的同学,请转发本文支持一下,关注我,点击此处免费获取

点击此处免费获取**

[外链图片转存中…(img-GSZFclxX-1625831380167)]

字节跳动最新开源!沈阳java培训哪个好相关推荐

  1. 字节跳动最新开源!java界面实现查询功能

    一面 1 自我介绍和项目 2 Java的内存分区 3 Java对象的回收方式,回收算法. 4 CMS和G1了解么,CMS解决什么问题,说一下回收的过程. 5 CMS回收停顿了几次,为什么要停顿两次. ...

  2. 字节跳动最新开源!java语言程序设计进阶篇

    一面: 阿里巴巴面试答案文末可以领取! 1. 触发新生代GC,如果存活对象总量大于survivor区容量,咋办 2. 如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域 3. 栈在堆上吗 4. GC ...

  3. 字节跳动最新开源!java条件运算符判断三个数大小

    头条二面 二轮技术面,17:00~20:25,晚饭时间hr 小姐姐还特贴心的带我体验了一把传说中的头条餐厅,不超过半小时 聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每 ...

  4. 阿里、京东、字节跳动春招,Java岗offer不好拿?一文带你搞定

    前言 以下内容均为二月面试真题整理,面试内容均来自阿里.京东.腾讯.字节跳动等一线大厂,由网友集合反馈整理! 如有雷同,请在评论区提醒,全部内容GitHub可查阅. 由于篇幅原因,内容会比较杂乱,程序 ...

  5. 秋招,2021字节跳动最新面试题拿走不谢!附答案解析

    又到了一年一度的金九银十,互联网行业竞争是一年比一年严峻,作为软件测试工程师的我们唯有不停的学习,不断提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里,字节跳动,腾讯,美团)趁 ...

  6. 腾讯、阿里、百度、字节跳动最新复工时间,最晚3月2日回公司上班

    已经有一些公司正式复工了.因为再不复工,公司可能就没有了. 复工的公司也不是全员复工,而是分批次轮流去公司上班,免得全军覆没.轮流上班还有一个很互联网化的名字,叫灰度复工. 因疫情发展各大厂的复工时间 ...

  7. 2023年最新!北京Java培训机构排行榜新鲜出炉!

    北京作为中国的首都,其人才的需求的体量之大是其他城市不可比的.那么在北京学习Java,到底该怎么选择Java培训机构哪?怎么在众多的机构里面选择出最适合自己的哪?下面是小编根据口碑和实力整理出的北京J ...

  8. 字节跳动最新音乐检索系统ByteCover2,检索速度提高八倍

    翻唱识别(CSI)是音乐信息检索(MIR)领域的一项重要任务,在歌曲搜索,音乐分发,曲库整理,智能推荐等场景下有着重要作用,被誉为下一代音乐识别技术. 近期,字节跳动火山语音团队的最新音乐检索系统By ...

  9. 字节跳动面试官:java架构师培训对比

    目录 Kafka的基本介绍 Kafka的设计原理分析 Kafka数据传输的事务特点 Kafka消息存储格式 副本(replication)策略 Kafka消息分组,消息消费原理 Kafak顺序写入与数 ...

最新文章

  1. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)
  2. 使用gradle构建android项目,Android中使用Gradle来构建App项目的入门指南
  3. hadoop大数据平台架构之DKhadoop详解
  4. 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
  5. java zmq zmsg,zmq 识别多个客户端
  6. vue 后端返回二进制流文件,前端如何实现下载?
  7. C语言中强制转换问题
  8. mysql客户端登录方式
  9. Win7 远程桌面连接不上
  10. 国内外学习游戏的网站
  11. uniapp动态图片加载不出来
  12. [JZOJ4949]仙人球
  13. PythonJava版【LeetCode】简单题答案整理01
  14. 初级C语言之【操作符】
  15. 源发行版 8 需要目标发行版 1.8
  16. 根据经纬度计算指定范围内或者附近的人(java)
  17. SolidWorks快速安装螺栓
  18. android9是最新版本,Android9.0正式版发布,你的手机升级到主流Android8.0系
  19. Python 的七大就业方向,总有一个适合你!
  20. Oracle甲骨文(北京中关村)授权学习中心 简介

热门文章

  1. VSS介绍和备份技巧
  2. pythreejs is needed for plotting with pythreejs backend
  3. 万字长文爆肝Python基础入门【巨详细,一学就会】
  4. CS0122 “AbstractUnpooledSlicedByteBuffer”不可访问,因为它具有一定的保护级别
  5. jquery extend函数
  6. windows10用c++部署libtorch过程中遇到的一些问题
  7. Could not decode a text frame as UTF-8 的解决
  8. method DESCRIBE failed: 401 Unauthorized
  9. win10 server 安装CUDA 9.0
  10. Assertion desc failed at src/libswscale/swscale_internal.h:668