腾讯、阿里、字节暑期实习面经

背景:

控制专业,无实习经历,无论问,无比赛,无java项目经历(菜鸡本鸡),做过一个cv的项目,很清楚以我的水平找cv的工作一定失业😂,于是就转开发了
百度携程笔试挂
蘑菇街简历挂
京东网易笔试过了但是到现在都没啥反应,估计简历也挂了

腾讯:

csig一面

  1. 问了问项目
  2. String a = "abc", String b = "abc"   问a==b?   回答是true。
  3. int a = 1 , Integer b = new Integer(1)  问a==b?当时回答false,面试官问我知不知道自动装箱和自动拆箱😂
  4. 接着问我java里面问什么要存在包装类,有什么用。我说泛型会用
  5. linkedlist和arraylist的区别,插入查找等,如何解决arraylist遍历慢的问题。回答跳表
  6. hashmap说一下,linkedhashmap和hashmap区别,口述如何实现LRU
  7. 线程同步方式,lock和synchronized区别
  8. 口述实现一个生产者消费者模型
  9. 死锁说一下,怎么解决这个问题
  10. 运行时jvm内存结构,一个final修饰的常亮会存放在哪里
  11. 垃圾回收算法,如何判断对象死亡,哪些对象可以当做GCroot?
  12. 快排思想说一下,时间复杂度,什么时候时间复杂度最高,什么时候时间复杂度最低
  13. 有100w条数据,数据会实时更新,如何获取最大的前100个值,面试官提示用堆
  14. tcp三次握手四次挥手,timewait作用,第三次握手没发会怎么样?我答会占用资源,面试官问我占用啥资源。。我说不知道。

csig二面

一个小时,六道题,包括很简单的三道算法题和一道sql还有俩前后端交互的题目,完全没学过,面完秒挂

之后被teg连着捞了两次,他们也不咋用java,第一次被捞问了一堆cv深度学习相关的东西,第二次被捞问了问计网操作系统数据库的东西,都答得不咋样,比如三次握手四次挥手之后各处于什么状态,面试官让我做了一道leetcode44,当时代码写的不好,程序出了问题把面试官都绕晕了。。两面都是秒挂。

阿里菜鸟一面

  1. arraylist扩容过程,细节也没记住,大致说了说扩容的过程
  2. 链表 双向链表 红黑树 b树 b+树说一下,为什么hashmap用红黑树不用b+树
  3. hashmap多线程什么情况下会出问题
  4. object类有哪些方法?重写equals的还需要重写什么?我当时回答不一定要重写hashcode,后面看了看应该是重写hashcode和equals应该是一起的。
  5. clone方法是浅拷贝还是深拷贝?说一下什么是浅拷贝什么是深拷贝。怎么实现深拷贝
  6. 一开始还问了问项目
  7. 之后开始聊人生,怎么学的,平常有没有做什么输出?
一共面了不到30min,面完之后,两分钟就流程终止了🤣

阿里一面


  1. 问了问项目,问我为什么不投算法
  2. hashmap讲一下,链表红黑树是啥,平衡二叉树是啥,hashmap扩容说一下,扩容时put会发生什么?多线程情况下还要使用hashmap怎么办?怎么理解concurrenthashmap分段锁
  3. synchronized怎么使用,有什么区别
  4. i++是原子操作吗?底层有几部,不知道,面试官让我看看编译原理
  5. volatile关键字说一下,有序性可见性如何保证
  6. 三个对象互相引用会被垃圾回收吗,当时回答如果引用计数法不会但是可达性分析***,面试官就问我什么时候用引用计数法什么时候用可达性分析法?GCroot有哪些
  7. 发送http请求会建立tcp连接吗?tcp三次握手过程
  8. 一个进程包含100个线程,一个cpu有四个核心,这四个核心都会被使用吗?我回答可以,因为线程是cpu调度基本单位,也不知道对不对
  9. 虚拟内存有什么用   怎么实现
  10. 写一道题,类似约瑟夫环,我用的模拟

二面

忘记录音了,大致就是一开始问了问项目,面试官懂cv就多问了点东西,然后问了一些类似synchronized这些八股文
最后做了俩题,第一题手写单例模式,第二道也比较简单,就是写的时候忘记string不能用==了
已经四五天了还不知道现在过没过

字节跳动一面


  1. 问了问项目
  2. 线程池参数,执行顺序,让你设计一个线程池如何设计,newfixedexcuter特点(一紧张忘了),有什么拒绝策略
  3. wait和sleep
  4. 锁升级过程 怎么判断偏向锁偏向自己?markword有什么?升级到重量级锁的时候怎么知道有多个线程竞争?这里直接回答不会。。
  5. aqs说一下
  6. volatile关键字,如何保证有序性和可见性
  7. tcp连接可靠性是如何保证的
  8. 拥塞控制是干嘛的,说一下都有什么
  9. 三次握手过程
  10. 数据库事务特性,隔离级别,解决什么问题
  11. 说一下mvcc
  12. tcp长连接短连接
  13. http请求过程
  14. 操作系统NIO和javaNIO有啥区别
  15. 接雨水leetcode原题


字节跳动二面

当时面完一面就溜了,hr小姐姐突然给我打电话说一二面连在一起的,于是匆忙打开电脑,忘记录音了,大致也是一些java八卦文,之后写了一道最长不重复子串长度,也是leetcode原题

字节跳动三面

也忘记录音了,问了问我python和java哪个掌握的好,于是就开始问java八股
之后做了两个题
第一题是一个圆环,0点出发,走n步能回到0点的路线有几个
第二题是一个标准的回溯,这两个都不是leetcode原题

最后,求个offer啊
#实习##阿里巴巴##腾讯##字节跳动##Java工程师##面经#
全部评论
约瑟夫环!
点赞 回复 分享
发布于 2021-09-12 04:07
字节三面那个题是这个吧,https://mp.weixin.qq.com/s/VnGFEWHeD3nh1n9JSDkVUg
点赞 回复 分享
发布于 2021-04-17 06:56
同跨行,请问老哥看的Java八股文是哪个?
点赞 回复 分享
发布于 2021-04-13 19:15
楼主是大几的呢
点赞 回复 分享
发布于 2021-04-13 02:47
同无java项目,做过cv项目😥我还是从今年三月份才开始准备的
点赞 回复 分享
发布于 2021-04-12 20:01
大部分问基础吗 ?
点赞 回复 分享
发布于 2021-04-12 15:30
什么时候系统地 学JAVA的?
点赞 回复 分享
发布于 2021-04-12 13:14

相关推荐

📍面试公司:字节抖音💻面试岗位:前端暑期❓面试问题:- Linux文件系统 权限分级 操作- Linux有哪些命令- Linux改写文件权限是怎么设计的- 硬连接软连接区别- 硬连接软连接在前端方面的应用- pnpm- pnpm优势 怎么设计的- 幽灵依赖问题是什么- Monorepo优点- Monorepo整体架构- Monorepo项目都有哪些核心目录 每个层级内有哪些包 详细的文件名叫什么- package.json文件放那些内容- package.json有哪些字段- 怎么声明一个本地依赖包 别的项目去使用它- 怎么理解开发环境下的依赖和生产环境下的依赖 怎么区别哪些包应该安装在哪里 他们俩有什么区别- 模块化了解哪些- esModule和CommonJs区别- 怎么理解动态编译静态编译- 树摇是怎么影响的- 引入模块有哪些引入方式- 怎么知道根据路径去寻找他的包的- 如果是包名引入的话查找逻辑是什么- 用户登录是怎么设计的- token存在哪里 怎么判断用户是否登录态- 用户鉴权怎么做的- token和cookie区别- 常见的请求头有哪些- Content-type有哪些常见格式- 缓存有哪些层面- 怎么去定义浏览器缓存的强缓存和协商缓存的- 一些构建的静态资源怎么缓存- js,图片,css怎么缓存 缓存时效- 项目拷打- zustand状态库应该怎么设计- 他应该有哪些功能 怎么定义怎么更新等等- 双向数据流单向数据流- diff算法- 不用第三方工具 不用api怎么实现一个状态管理库- 什么时候开始学前端的 最近在学什么新技术- 人工智能了解过吗 大模型 pytorch transform 有没有做过深度学习的项目- 为什么现在在实习还考虑我们这边的岗- this指向题- 事件循环输出题- ez算法:括号匹配🙌面试感想:好难 全是工程化  
点赞 评论 收藏
分享
评论
11
65
分享

创作者周榜

更多
牛客网
牛客企业服务