HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

    • 【中级】12k-26k档

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

      • 42场面试得出的结论
      • 三个面试中遇到的问题
      • 我个人遇到的一些高质量面试题
      • 最近面试一些厂的面经整理(阿里,腾讯,字节等)
      • 知乎-一些质量很高的面试题
      • 知乎-七彩云霞的回答
      • 腾讯后端Java岗社招面经
  • LearnJavaToFindAJob
  • 面经
码农阿雨
2022-06-02
目录

最近面试一些厂的面经整理(阿里,腾讯,字节等)

原文链接:https://blog.csdn.net/l8947943/article/details/105447559

2020-04-11 10:11:46

经历了一个半月的时间学习,已拿到阿里,腾讯,字节,美团,oppo,(360剩下hr)的实习offer,总结一些面试内容,希望能对后来的面试人起到帮助

# 2. 阿里(已通过)

# 一面

1.两道算法题:

  1. 卖酒瓶问题,五瓶啤酒瓶子可以兑换一瓶,三个瓶盖可以兑换一瓶,n个酒瓶,可以喝多少次
  2. map村成String和String存成map
  3. synchronized和volatile
  4. Hashmap和Hashtable和concurrentHashmap的区别

# 二面

  1. 简答Spring与Springboot之间的问题
  2. 回答JVM上的问题
  3. 回答Java中锁机制
  4. 回答Java中的数据库问题

# 三面

  1. 回答Java中的数据索引问题
  2. 回答Spring中一些注解问题
  3. 项目中遇到的问题及其解决方案

# 交叉面

  1. 两道算法题 1)英文题目,回文串的判断,包含各种字符 2)假如允许你对字符串进行如下操作,每次花费“1”的代价把任意字符挪到字符串末端.现在给定两个长度相等的字符串 S1 和 S2,问至少需要多少开销将S1变为S2,比如输入:S1:acdk,S2:ckad, output:2
  2. cookie和session之间的区别,如何防止cookie泄露
  3. 什么是JDBC,它有什么用
  4. JDK和JRE是什么,他们之间有什么联系
  5. Java中的值传递问题
  6. final和finalize之间的区别

# HR面:这个因人而异,感觉没啥发的,需要的话再发吧

# 3. 腾讯pcg(已通过)

# 一面

  1. 两道算法题 a. 已知整数数组A ,找到一个具有最大和的连续子数组,并返回和。 如 { -2, 8, -4, 6, -1},其最大连续子序列为{ 8, -4, 6 },最大和为10 b. 计算二叉树从根节点到叶子节点的路径和,打印和为定值的所有路径
  2. 项目中并发的部署情况及其高并发问题

# 二面

  1. 来小伙子跟俺聊聊你的项目,有哪些问题,进行过那些优化,为什么
  2. 如果让你设计一个网盘,你从那些角度进行设计,保证网盘的传输速度尽可能快
  3. 牛逼是吧,来整几个算法题 1)中序和后续遍历后的结果,给整成正常的树结构,并按照先根顺序输出出来 2)注意,给你一堆数范围在0-1000且以集合的形式进行存放,请设计一个结构,能够迅速进行存取,删除,进行查找,遍历

# 三面

  1. 如何保证UDP的可靠传输?怎么实现? 2.Mysql索引?覆盖索引?什么时候使用B+树,什么时候使用哈希表?
  2. 操作系统多进程和多线程?linux底层中进程中存储成什么形式,包含哪些内容?
  3. python和java的区别?python如何实现多线程?python字典如何实现遍历?两种遍历的区别是什么
  4. 讲讲网络中的洪范攻击,会出现什么问题?如何去应对和解决?
  5. 什么是僵尸进程? 7.java中的hashmap?Table?ConcurrentHashMap之间的关系区别? 8.多线程如何创建?里面的参数分别表示什么? 9.Socket用过吗?底层了解嘛?如何让你实现一个socket服务端,你会注意什么?另外select,poll,epoll之间的区别是什么? 10.MTU知道吗?不知道!那它的大小是多少?我都不知道怎么知道大小?。。。

# 四面

  1. 如何用命令查看慢查询 ?Mysql如何进行优化?Mysql底层的数据结构是什么样子?为什么使用b+树?
  2. redis缓存底层怎么实现的?redis如何保证主从一致性问题?
  3. 如何理解多进程和多线程?了解过协线程?什么场景下使用多线程,什么场景下使用多进程?
  4. Hashmap和TreeMap的底层原理
  5. 计算机网络中的四次挥手过程,最后的timewait为什么等待2msl?
  6. 手写代码,以空格分隔的一串字符串,求排序后的顺序
  7. redis中了解过分布式锁吗?其中的list数据结构是什么?

# HR面:懒得打字,略

# 4. 字节(已通过,宣传一波,真的效率很高,温柔)

# 一面

  1. 基础问题,hashMap及一些并发包的使用
  2. 网络中常常出现的一些响应代码如200OK等
  3. 如何保证多线程安全
  4. sychronized与volatile关键字的区别
  5. 用过线程池嘛?那就开心的聊聊线程池原理,顺便讲讲里面的参数。
  6. 排序算法,找出K个大的数,尽可能耗时少
  7. 二叉树进行从上到下输出出来,按层次遍历
  8. 单例模式,顺便手写一下,不要用脚丫

# 二面

  1. 手撕代码,在一堆数组中找到首次出现频次大于n的数字
  2. 手撕代码,数组循环右移k位
  3. TCP三次握手
  4. TCP如何保障可靠传输
  5. 进程之间通信方式,那种最快?
  6. 进程和线程之间的区别,线程之间的同步方式
  7. 让你设计一个锁子,如何实现线程安全?不允许使用锁关键字
  8. 泛型中T怎么实现?extends和super之间的区别?

# 三面

  1. 进程之间的通信模式
  2. java中的IO,BIO,NIO之间的区别和联系
  3. java中的多线程了解么,如何创建线程?差点答到了线程池上。
  4. 即然了解线程池,那么来写个代码,最外层定义i,定义一个void函数里面新建个线程,对i进行+1操作,最后打印i,请问i的值是多少?为什么?如何保证i之后的值为thread运行后的值?(提示使用wait和notify,或者是join来实现,后想到了countdownLock)
  5. 了解md5么?https?
  6. 手撕算法,写两个数相加,数字范围是大于Integer
  7. LRU的应用场景?(如网页最近浏览记录),那如何实现LRU呢?

# HR:略

# 5. 美团(等HR中)

# 一面

  1. 计算机网络,如何保证可靠传输
  2. 聊聊mysql底层索引
  3. java种的锁机制,说说sychronized底层与原理,说说volatile
  4. redis种的分布式
  5. 手写一个树,并进行递归和非递归中序遍历
  6. 网络中的三次握手,TCP和UDP中的差异,简述一下http和https的区别,并讲讲https的过程,那DNS查找过程讲讲
  7. mysql的索引失效?聚集和非聚集索引,采用的底层数据结构,为什么不用b树
  8. 操作系统中的死锁是什么,如何解决?讲讲你理解的页面调度算法,手写一下LRU。进程和线程的区别是啥,那sleep和wait的区别呢
  9. 来,手写快排
  10. java中的hashmap?arraylist了解过吗?底层原理?java中的反射机制了解过嘛?反射可以操作私有变量不?
  11. 简述一下jvm中强引用,虚引用,弱引用,软引用,简述jvm内存缓冲区
  12. 计算机七层结构,每层功能和使用的协议,ping属于哪层?
  13. 进程之间的通信如何进行?

# 二面

  1. 项目中为什么使用redis,有什么优点?
  2. String,StringBuilder,StringBuffer区别
  3. Object种包含哪些方法?一般用在哪个场合
  4. Object种finalized()和finally和final之间的区别
  5. Mysql中使用的索引。为什么使用B+树?
  6. 一个方法被private和static修饰,能被override吗?为什么
  7. HashTable和concurrentHashMap区别,源码中哪些地方使用锁?为什么?
  8. 在数据类型中为什么会有包装类型和基本数据类型?
  9. jvm中的垃圾回收机制
  10. 项目中使用的垃圾回收器?项目中怎么进行JVM调优?如何查看服务器日志?
  11. 做题,美团笔试题类型,贼复杂
  12. java中的内存泄露问题,如何出现?如何解决?

# 三面

  1. 聊聊HashMap呗,源码一些问题,put过程,resize过程,什么时候会出现resize,你知道底层的数据结构吗?里面有些关键变量分别是什么?
  2. HashMap中你key存放过哪些东西?尝试过放对象么?需要实现两个东西,是什么东西
  3. 怼项目20分钟
  4. 写个代码,链表反转,有没有其他的好方法 5.java内存堆,栈分别放什么东西?String str = "abc"和String str1 = new String(“abc”);之间的区别?==和equal的区别?你平时重写过equal没?hashcode有没有重写过,为什么要用hashcode?
  5. 操作系统中,进程都存一些啥东西?
阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式