写点什么

2021 春招总结,面了阿里,腾讯,做 Java 程序员真的没有春天吗

作者:Java高工P7
  • 2021 年 11 月 09 日
  • 本文字数:1992 字

    阅读完需:约 7 分钟

海外渣硕,从七月份开始准备秋招,历时四个月,陆陆续续投了 30 多家公司,数不清顶着时差做了多少笔试,无数个不眠的夜都在不断地怀疑自己中度过(菜鸡本鸡没跑了),收到的面试却仍然屈指可数,主要以大厂为主,结局虽不圆满但能看到自己的付出所带来的成长。


以下面经已过滤项目相关问题,参考意义不大


=======================================================================================



一、阿里 - 业务平台事业部(会员中台)- Java 开发(一面挂)


====================================================================================================


1. Java


  • 重写 hashcode()是否需要重写 equals(),不重写会有什么后果


2. 并发


  • 自旋锁和阻塞锁的区别

  • 公平锁和非公平锁的区别

  • jdk 中哪种数据结构或工具可以实现当多个线程到达某个状态时执行一段代码

  • 栅栏和闭锁的区别

  • 如何使用信号量实现上述情况


3. JVM


  • 新生代和年老代的 GC 算法分别是什么

  • 标记清除和标记整理的区别

  • 了解过 CMS 收集器吗


4. 网络


  • 解释 HTTPs

  • HTTPs 为什么要用对称加密+非对称加密,相对于只使用非对称加密有什么好处


5. 数据库


  • 给定一个表,其中有三列(员工名称,工资,部门号),找出每个部门工资最高的员工


6. 代码


  • LeetCode 863 二叉树中所有距离为 K 的结点


二、阿里 - 新零售技术事业群(业务平台事业部)- Java 开发(一面挂)


========================================================================================================


1. 框架


  • 用过哪些 Java 开源框架

  • 讲一讲对 Spring 的理解

  • 看过 IOC 和 AOP 的源码吗

  • 它们底层是如何实现的

  • 用过其他什么框架

  • 了解过分布式或者微


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


服务的开源框架吗


  • 讲一讲对分布式系统模型的理解

  • 分布式系统中有一个节点宕机怎么办

  • 分布式系统如何实现负载均衡


2. 数据库


  • MySQL 和 Oracle 数据库有哪些不同

  • 数据库有哪些锁

  • 表锁和行锁的区别

  • 哪些场景需要加表锁

  • 插入一条数据需要加什么锁

  • 分布式数据库如何保证数据可靠性

  • 了解过 MySQL 的主从复制吗



三、腾讯 - TEG - 后端开发(一面挂)


=========================================================================================


1. 数据结构


  • B+树与红黑树的区别


2. Java


  • HashMap 的底层数据结构,局限性与线程安全

  • 如何实现线程安全的 HashMap

  • Collections.sychronizedMap 与 ConcurrentHashMap 的区别

  • HashMap 与 ConcurrentHashMap 的性能比较


3. JVM


  • 类的编译过程

  • 类的加载过程

  • JVM 的内存空间

  • JVM 的 GC 机制


4. 操作系统


  • 进程与线程的区别

  • 进程间如何通信

  • 共享内存与 Socket 的优缺点与性能比较

  • 子进程从父进程继承了什么

  • 什么是僵尸进程

  • 线程与协程的区别


5. 网络


  • TCP 的四次挥手

  • TIME_WAIT 状态处在哪一方以及为什么需要它

  • TCP 与 UDP 的区别与可靠性

  • 如何实现 UDP 的可靠传输


6. 数据库


  • 解释 ACID 四大特性

  • 原子性的底层实现

  • 数据库宕机后恢复的过程

  • 如何保证事务的 ACID 特性

  • MySQL 日志类型


7. 分布式


  • 谈谈对分布式系统的理解

  • 分布式数据库的实现

  • 如何保证不同数据库之间的数据一致性

  • 如何实现主从数据库间的同步


四、腾讯 - FIT - 后端开发(一面挂)


=========================================================================================


1. 网络


  • TCP 三次握手/四次挥手

  • TIME_WAIT 状态

  • 网络延迟大的情况怎么处理

  • HTTP 请求到响应全过程(服务端)

  • HTTP 请求头及其作用

  • HTTP 和 HTTPs

  • HTTPs 的握手过程



五、字节 - 头条 - 后端开发(二面挂)


========================================================================================


1. 一面


  • 操作系统

  • 讲一讲进程和线程

  • 讲一讲多线程和线程池

  • Linux 的最大进程数限制


①. WEB


  • 输入 URL 到页面加载的过程

  • 后端怎么处理前端传过来的文件


②. JVM


  • GC 机制(GC 算法,分代收集,收集器,STW)


③. 代码


  • 给定一个数组 a[N]和一个整数 P,求 a[i] + a[j] + a[k] =P,保证 i<j<k


2. 二面


①. 数据库


  • 身份证如何有效建立索引

  • Innodb 索引类型

  • 聚簇索引和非聚簇索引的区别

  • 索引失效的情况

  • 写一个分页查询


②. Java


  • JMM 内存模型

  • Classloader 双亲委派机制

  • 讲一下 ThreadLocal

  • 线程间如何通信


六、字节 - 头条 - 客户端开发(已拿 offer)


=============================================================================================


1. 一面


①. 操作系统


  • 讲一下进程和线程

  • 讲一下线程安全


②. 智力题


  • 两个人抛硬币,先抛的人赢的概率


③. 代码


  • 单链表排序,奇数位升序,偶数位降序


2. 二面


①. WEB


  • HTML,JS,CSS 的区别

  • 输入 URL 到页面加载的过程

  • HTTP 的长连接和实现原理


②. Java


  • 创建和终止一个线程

  • 讲一下熟悉的容器类

  • ArrayList 中如何删除某个元素的所有相同元素

  • 讲一下迭代器的实现原理


③. SQL


  • 学生表 Student (S#,Sname,Sage,Ssex),课程表 Course (C#,Cname),成绩表 SC (S#,C#,score),查询平均成绩大于 60 分的同学的学号和平均成绩


④. 代码


Leetcode 283 移动零


3. 三面


①. 智力题+数据结构+代码


  • 扑克牌的移动


②. 并发

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
2021春招总结,面了阿里,腾讯,做Java程序员真的没有春天吗