2019年,我的互联网技术岗(Java)面经合辑

本文摘自我的印象笔记
平时比较喜欢用印象笔记做记录,如果有什么值得分享的内容,我会不定期的整理成博客发布出来,敬请期待吧~

3月


3.5 腾讯上海一面,忘了哪个部门,他们是做c++和计算机视觉的,没问java知识(电话)

  • 进程通信方式
  • 死锁避免的算法
  • TCP三次握手
  • TCP拥塞控制
  • Linux命令 查看内存,cup消耗情况,还了解哪些命令
  • 一万个数中选最小的100个
  • 二叉树遍历方式
  • 快排时间复杂度

3.14 腾讯上海,还是一面。cdg企业发展事业群(电话)

  • TCP与UDP的区别
  • Hashmap与Hashtable区别
  • Java多线程操作时,如何处理并发问题(这里不太懂他的意思)
  • 二分查找过程
  • 快速排序的时间复杂度
  • 线程与进程
  • cookie与session,如果浏览器禁用了cookie,session还能建立吗?
  • 你的项目(课程共享平台)为什么不用springboot,而使用ssm?

4月


4.11 vivo 一面,主要问Java基础和项目(现场)

  • 线程和进程区别
  • 进程间通信
  • 线程出现异常会如何,程序会崩溃吗
  • try catch finally中的return情况
  • 口述算法思路: 剑指offer - 链表中环的入口节点
  • 聊项目,介绍项目,遇到哪些困难
  • 聊本科,因为读研专业跨度大
    回去等通知吧~

4.20 华为面试(现场)

  • 聊项目(重头戏)
  • Jvm垃圾回收机制(只回答了4种引用)
  • 内存泄漏
  • 分布式的优点(后来感觉面试官给我的提示更像是集群的优点)

4.28 海康威视面试

技术面(远程视频)

  • 聊项目
  • Spring中的单例
  • 线程安全的几种方法

HR面(远程视频)

  • 描述一个自己参与过的项目
  • 大学期间最成功的的事
  • 为什么跨专业
  • 你学习的动力(这个回答的有装X嫌疑,估计死在这了。我回答不需要动力,很自然的每天学到10点半...HR听完愣了)

5月


5.10 恒生轮流群面(现场)

  • 聊项目
  • 数据库常见索引
  • 使用索引的坏处
  • 数据库范式(你用到哪一种范式)

6月


美团一面(电话)

  • 说一种树的遍历算法
  • 哈希查找原理
  • 二分查找
  • Java基本变量(8种)
  • HashMap和HashSet的区别
  • 操作系统的进程调度(第二次不会了,要重视)

美团二面(电话)

面试时我已经半个多月没复习了,完全死马当活马医... 面试官语速很快,我因为慢慢吞吞答不上来,他语速更快了...

  • HashMap数据结构
  • 红黑树与AVL树的区别
  • HashMap中为何用红黑树而不用AVL树
  • 如何得到一个线程安全的HashMap
  • ConcurrentHashMap如何保证线程安全
  • JVM常用垃圾回收器
  • 说一说CMS
  • CMS如何进行标记
  • 哪些作为GCRoot
  • Redis了解多少?(说了5种数据结构)
  • Redis分布式锁
  • Linux查进程 ps -ef
  • Linux查看内存使用情况
  • 描述项目
  • 项目的亮点
  • 你设计的数据库遵循的范式

哈啰一面(电话)

  • 项目难点
  • MySQL InnoDB 为什么比其他引擎更好?
  • MyBatis了解吗?

接二连三的电话,再次打断了我安稳学习的状态。为了大厂offer,我开始了新一轮的面试准备!


猫眼一面(远程视频)

猫眼是我面过的所有企业中,考察最详细的!面试官很有耐心,态度很好。因为准备的比较久,加上面试多了有经验了,自认为除了手撕算法比较卡之外,其他都答得OK。虽然最后没有获得二面,但是经过这次面试,我也终于找到感觉了,也知道一个面试真理:要学就学难的,学原理看源码才是王道。

  • TCP/IP协议栈
  • TCP三次握手,改为两次行不行
  • TCP与UDP的区别
  • HTTP状态码了解哪些
  • 进程、线程和协程的区别
  • 操作系统的多级缓存(有疑问,不知答对没)
  • Linux怎么查看日志、项目运行状态(CPU、内存)
  • 项目中有遇到过JVM溢出的问题吗?
  • 遇到数据库慢查询,如何解决?
  • 数据库常见索引
  • 有没有使用Explain分析数据库性能?
  • Java的JDK、JRE、JVM的区别?
  • String存在jvm运行时数据区的哪里?
  • HashMap源码
  • 讲讲红黑树
  • ConcurrentHashMap源码
  • ConcurrentHashMap为何线程安全?
  • 线程池了解不
  • volatile关键字
  • 讲讲hashCode()
  • JVM频繁的FULL GC是什么原因?
  • HotSpot虚拟机的体系(讲了讲运行时数据区)
  • 垃圾回收算法(4种)
  • 什么情况下,对象会在方法区中(只答了大对象/class对象)
  • 讲讲Java内存模型,它的作用
  • 手撕算法:改造栈,O(1)时间内完成pop()、push()、getMin()

7月


涂鸦一面(电话)

一面的面试官听起来不像是专业面试官,说话语速偏慢。当时自己半桶水叮咚响,面试前以为拿offer应该妥妥的,殊不知面试过程中又暴露出许多问题。所幸获得了2面的机会。

  • 聊项目
  • 课程的搜索功能
  • 电商项目的秒杀系统如何设计
  • 如何保证项目的线程安全
  • 常见的加锁机制
  • ArrayList和CopyOnWriteArrayList线程安全对比
  • 了解哪些集合
  • 对涂鸦公司的了解
  • Java架构的了解(不太明白什么意思)
  • 分布式的好处(第二次了)
  • 描述运行时数据区(被点破:方法里的局部变量其实是线程安全的哈哈哈,因为在虚拟机栈。但好像局部变量的线程安全。。没意义吧~)
  • Object a = new Object() 过程(新建类的过程) - 没答上第一步 - 判断类加载
  • 说说类加载
  • 双亲委派
  • 双亲委派的好处

涂鸦二面(现场)

因为比较自信,一面通过后二话不说就订高铁去了杭州现场。以为能拿个offer回来然后拍拍屁股离职,被面试官怼得找不着北后,才知道自己太naive了。

  • 聊项目(随便挑一个讲讲,反正没一个看的上眼
  • 作为产品负责人,你怎么设计你的项目(靠抄)
  • 如何使用git进行团队协作(手工复制粘贴)
  • aqs锁(劝退开始)
  • jvm类加载(要求说全说细)
  • 哪些可以作为gcroot(给我说全)
  • 联合索引的问题(我会)
  • 数据库的三大范式(我也会)

面试官OS:我原本不想录你的,结果你还是会一些。那我还是别问了,万一你答上来太多我不录你...

虽然面试完很气,除了手撕代码还想手撕面试官,但也知道自己有很多不足,短时间内先别面试好好积累吧。特别是项目这块,真没一个拿得出手的。

9月


京东一面

【待填坑】

你可能感兴趣的:(2019年,我的互联网技术岗(Java)面经合辑)