开发三年,支付宝Java研发四面(技术3面),分享他的心得和面经


面试心得
技术方面,结合自己的体会,总结下面几点:
基础知识必须要扎实,包括语言基础,计算机基础,算法和基本的Linux运维等
设计模式,造轮子的能力,各种缓存和数据库应用,缓存,中间件技术,高并发和高可用的分布式系统设计
软性指标,包括快速学习,良好的沟通能力,以及对相关行业的了解!
面试题如下
支付宝一面(基础面)
1.介绍一下自己。
2.项目参与的核心设计有哪些
3.ArrayList和LinkedList底层
4.HashMap及线程安全的ConcurrentHashMap,以及各自优劣势
5.Java如何实现线程安全
6.Synchronized和Lock哪个更好?
7.HashMap中的get()方法是如何实现的?
8.HashMap可以用在哪些场景?
9.JVM,垃圾回收机制,内存划分等
10.SQL优化,常用的索引?
11.还有什么问题需要问的。
支付宝二面(问了死锁,线程,项目入手)
1.没有自我介绍,直接问做过哪些Java开发相关的项目。
2.对哪些技术比较熟悉?
3.多线程状态图,状态如何流转?
4.死锁,死锁原因
5.乐观锁、悲观锁?
6.乐观锁如何保证线程安全?
7.用过线程池吗,对应的好处,如何用?
8.0两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
9.1000个多并发线程,10台机器,每台机器4核的,设计线程池大小。
10.说一下自己的优点。
支付宝三面(现场面,主要从解决问题,分布式问起)
1.jvm性能调优都做了什么
2.数据库性能调优如何做
3.分布式系统原理:CAP,最终一致性,幂等操作等
4.高并发情况下,我们系统是如何支撑大量的请求的
5.集群如何同步会话状态
6.常用NOSQL,有做过比较?
7.什么情况会出现雪崩,以及如何应对?
8.负载均衡的原理
9.负载均衡算法有哪些?了解Nginx的分流?
10.如何解决高并发?
11.数据库事务属性
12.问了redis、分布式缓存、中间件,项目的使用场景里的细节。
13.带领的有技术挑战的项目,挑战在哪里,怎么设计来解决?
HR面
1.与同事沟通的时候,如果遇到冲突了如何解决?
2.工作中觉得哪方面欠缺?
3.有问题要问么?
4.期望薪水?
面试总结:

  1. java的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap的数据结果,以及如何扩容、以及ConcurrentHashMap相关的多线程安全等。
  2. JVM的内存分配、几个常见的垃圾回收算法以及原理、还有对应的JVM优化参数需要牢记。
  3. 网络:TCP的三次握手等网络都必问,重点掌握网络协议。
  4. Redis:作为分布式缓存的主力,基本也是BAT每次必考,重点是Redis的数据结构、内存、算法、持久化,以及与别的缓存memcached的优劣势。
  5. 多线程:状态流转、多线程的实现,以及与高并发的区别等。
  6. Spring框架问得是最多的,BAT非常喜欢问,重点掌握。
  7. 最后就是分布式架构设计
  • 常用的分布式架构设计方案:单点登录、分布式缓存、存储、消息的选型,还有就是数据库端的优化方案(需要提前了解)。
  • 最好能提前了解深入一个类似秒杀这样的项目,如果面试官问到类似的项目,你能把设计思路讲出来,这对你的面试结果是很大的加分项。

以上就是他的支付宝Java面经,以下最新总结的阿里等大厂Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案以及Java面试核心知识点笔记和一份Java中高级面试高频考点文档,用于学习参考

Java中高级面试高频考点整理
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。


更多学习笔记及视频分享

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值