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

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锁,两个线程之间陷入僵持状态

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意:不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友,直接戳这里即可免费下载

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题**。

字节跳动算法工程师总结:java资料文件相关推荐

  1. java大数据分析技术栈,字节跳动算法工程师面试总

    前言 假如你去面试,面试官让你聊一下对索引的理解,然而你对索引的理解仅限于,检索数据就是快,是一种数据结构这个层面,那你就只能回家等通知了. 为了避免这种尴尬的事情发生,咔咔用时两天将索引的内容在自己 ...

  2. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day28,字节跳动算法工程师面试

    车票 面试题1:说一下你对聚集索引与非聚集索引的理解,以及他们的区别? 追问1:为什么聚集索引可以创建在任何一列上,如果此表没有主键约束,即有可能存在重复行数据呢? 追问2:聚集索引一定比非聚集索引性 ...

  3. 字节跳动算法工程师总结:java接口实验报告总结

    本文框架如下 第一部分,主要是在阅读代码过程中的日志和笔记: 第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起: 第三部分,主要介绍 Red ...

  4. 字节跳动算法工程师总结:java自学路线及推荐书籍

    分享第一份Java基础-中级-高级面试集合 Java基础(对象+线程+字符+接口+变量+异常+方法) Java中级开发(底层+Spring相关+Redis+分布式+设计模式+MySQL+高并发+锁+线 ...

  5. 字节跳动算法工程师总结:java抽象类和接口实验报告

    本文框架如下 第一部分,主要是在阅读代码过程中的日志和笔记: 第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起: 第三部分,主要介绍 Red ...

  6. 字节跳动算法工程师总结:中高级java开发面试题

    缓存雪崩 我们首先看下这个正常的缓存流程是怎样的?如下图所示: 可以看到,首先这个用户访问这个某东,然后这个某东去访问这个 Redis,如果 Redis 有该访问数据,就会直接返回查缓存拿到的数据:如 ...

  7. 字节跳动算法工程师总结:单片机用java语言编程

    Git是什么 在回忆Git是什么的话,我们先来复习这几个概念哈~ 什么是版本控制? 百度百科定义是酱紫的~ 版本控制是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理 ...

  8. 字节跳动算法工程师总结:腾讯+字节+阿里面经真题汇总,含面试题+答案

    前言 周末花了2天时间学习了额RabbitMQ,总结了最核心的知识点,带大家快速掌握RabbitMQ,整理不易希望帮忙点赞,转发,分享下,谢谢 一.SpringCloud 1.服务发现 Eureka ...

  9. mongodb分片原理,字节跳动算法工程师面试总

    前言 volatile是Java程序员必备的基础,也是面试官非常喜欢问的一个话题,本文跟大家一起开启vlatile学习之旅,如果有不正确的地方,也麻烦大家指出哈,一起相互学习~ 1.volatile的 ...

最新文章

  1. iPhone开发之 ARC是什么
  2. hdu2363 枚举最短路
  3. BQ24296充电管理芯片使用过程中的注意事项
  4. hdu 1560 DNA sequence(迭代加深搜索)
  5. 疫情期间用掉了1400亿个!二维码会被人类扫完吗?
  6. oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
  7. 分享 ASP.NET WebForm 另外一种开发方式,逃离服务器控件
  8. Dart基础第13篇: 泛型、泛型方法 、泛型类、泛型接口
  9. java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出
  10. 彼得·林奇的25条黄金规则
  11. 数据分析案例-大数据相关招聘岗位可视化分析
  12. oracle诉讼_Oracle诉Google:Aaaaand诉讼又回来了! [更新]
  13. 微信小程序-打开地图选择位置
  14. 阿里云服务器 云监控 API 调用示例
  15. 自己当笔记写着玩吧--leetcode- 001
  16. 超详细如何配置将WAN接入
  17. sql中limit后参数有引号_mySql limit 函数后的参数是什么意思
  18. Facebook员工跳楼轻生——没有任何工作比生命重要
  19. caffe层解读系列——Data以及ImageData层用法
  20. mysql binlog 记录_MYSQL binlog 日志内容查看

热门文章

  1. 中国聚乙烯醇缩丁醛(PVB)树脂市场趋势报告、技术动态创新及市场预测
  2. 冷光牙齿美白仪行业调研报告 - 市场现状分析与发展前景预测
  3. 2021年中国船用燃气发动机市场趋势报告、技术动态创新及2027年市场预测
  4. 直接拿来用的 CTO 创业技术栈指南!
  5. 火山引擎智能容器云 veCompass v3.0 重磅发布!
  6. 1.6 万亿参数你怕了吗?谷歌大脑语言模型速度是 T5 速度的 7 倍
  7. 一男子蒙冤入狱10天,竟是 AI 认错了!
  8. 干货:18 张思维导图,后端技术学习路线长这样!
  9. GitHub 上 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库
  10. 《原力计划【第二季】》第 6 周周榜揭晓!!!