面了5家大厂,拼多多开的工资最高,考虑要不要去...

今年中旬的时候从原来的公司离职了,不是工作不好,而是公司发展速度太慢,自己干了几年,也没有太大的成长。以我目前的工作经验和实力,我认为准备一两个月,进大厂不是什么问题。

从10月到11月,总共面了5家公司,阿里,美团,拼多多...!最后收获了美团和拼多多offer,其中拼多多开出了32K,14薪,但是听说PDD的工作强度挺大的,到底要不要去呢。不管怎么说,待遇还是相当不错的,应该会去了。

面了5家大厂,拼多多开的工资最高,考虑要不要去..._第1张图片

这里分享一下面试经验总结吧,以及文末的一些学习笔记分享!

一、项目方面

  1. 首先上来简单做一下自我介绍。然后让介绍简历里的项目。
  2. 说下项目里的难点,技术架构。
  3. 平时开发过程中都遇到过哪些难题?
  4. 平时都这么和同事沟通?

二、java基础方面

  1. 首先还是老生常谈的hashmap。hashmap的set和get的时间复杂度是多少?
  2. 为什么是O(1), hashmap 在jdk1.8是线程安全的吗?
  3. 为什么是线程安全的?
  4. concureenthashmap了解吗?他是如何实现线程安全的?
  5. 说说java泛型,为什么称java泛型为伪泛型?
  6. 泛型的好处有哪些?int可以作为泛型类型吗?
  7. 说一说静态代理和动态代理的区别?
  8. 动态代理的底层是怎么实现的?

三、多线程方面

  1. 线程run和start的区别?
  2. 两次start同一个线程会怎么样?
  3. 说一下java的线程模型?
  4. 说一下violate关键字?他的原理是什么?violate是线程安全的吗?
  5. 说一下violate和synchronized这两个关键字的区别?
  6. 说下线程池的原理?有没有在项目中用过线程池?怎么用的?
  7. 核心线程和非核心线程有什么区别?你在项目里怎么确定核心线程数的。
  8. 对concureent包了解吗?
  9. 什么是cas?cas怎么解决ABA问题?
  10. 讲一下CountDownLatch和cyclicBarrier的区别?
  11. 说一下java类加载器的工作机制?
  12. 讲一下JVM相关。有没有做货GC调优,讲一下这么做的?

四、spring框架

  1. 说一下springboot的启动过程?
  2. 平时开发中都用哪些注解?
  3. IOC和AOP原理讲一下

五、数据库与java中间件

  1. redis常用的数据结构有哪几种,在你的项目中用过哪几种,以及在业务中使用的场景?
  2. redis cluster有没有了解过,怎么做到高可用的?
  3. redis集群和哨兵机制有什么区别?
  4. redis的持久化机制了解吗?你们在项目中是怎么做持久化的?
  5. 遇到过redis的hotkey吗?怎么处理的?
  6. redis是单线程的吗?单线程为什么还这么快?
  7. redis实现分布式锁以及和zk实现的性能和稳定性的对比?
  8. kafka的原理?怎么保证消息不丢失?
  9. 索引的常见实现方式有哪些,有哪些区别?
  10. MySQL的存储引擎有哪些,有哪些区别?
  11. InnoDB使用的是什么方式实现索引,怎么实现的?
  12. 说下聚簇索引和非聚簇索引的区别?

六、手写算法方面

  1. 一面手写的题是leetcode 106. 从中序与后序遍历序列构造二叉树
  2. 根据一棵树的中序遍历与后序遍历构造二叉树。

注意:

你可以假设树中没有重复的元素。

例如,给出

中序遍历 inorder = [9,3,15,20,7]

后序遍历 postorder = [9,15,7,20,3]

返回如下的二叉树:

二面手写的题是 leetcode 86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。

你应当保留两个分区中每个节点的初始相对位置。

示例:

输入: head = 1->4->3->2->5->2, x = 3

输出: 1->2->2->4->3->5

最后

整理总结了这些Java进阶学习笔记和面试题,在这也是免费分享给那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

Dubbo面试题

  • Dubbo的整体架构设计有哪些分层?
  • 默认使用的是什么序列化框架?你知道的还有那些?
  • 说说核心的配置有哪些?
  • ......

MySQL面试题

  • MySQL中有哪几种锁?
  • CHAR和VARCHAR的区别是什么?
  • MySQL数据库作发布系统的储存,一天五万条以上的增量,预计运维三年,怎么优化?
  • .......

Java并发编程面试题

  • Java中用到的线程调度算法是什么?
  • 为什么在Java中不推荐使用线程组?
  • 什么是原子操作?在Java Concurrency API中有哪些原子类?
  • ......

Spring面试题

  • 不同版本的Spring Framework有哪些主要功能?
  • 列举Spring Framework的优点?
  • 那种依赖注入方式你建议使用?构造器注入还是Steesr方法注入?
  • ......

Linux面试题

  • 建立软链接以及硬链接的命令是什么?
  • Grep命令有什么用?如何忽略大小写?如何找不含该串的行?
  • 使用说明命令查看ip地址及接口信息?
  • ......

因为篇幅有限先展示到这里,有需要点下面的名片就能免费领取了!整理这份文件花费了很多时间,觉得有用的话请点赞转发!!

你可能感兴趣的:(程序人生,资料分享,面试,java,后端)