写点什么

“穷苦乡村”小伙就得安于现状,你掌握了多少?

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

    阅读完需:约 8 分钟

我知道其实这样的话本没有错,也没有恶意,因为这也是一种选择一种生活,只是我自己不甘就这样了罢了。同选择的朋友希望可以耐心往下看。



自我阐述


====


坐标湖南邵阳某个贫穷的小乡村里,砍柴、放牛、做家务对我们来说是常态,也是该做的,因为没有接触过大城市,甚至连城镇都是难得见到几次的,而且身边的人都是这样活的。直到有一次爸妈带我到他们打工的地方呆了几天,这是对我产生影响的导火索,这让我真真切切的感受到了大城市与山村的差距感。


直到我到了上高中的年纪,虽然穷,但是好在我爸妈对我的教育还是蛮看重的,就把我送到了镇里的高中读寄宿,我自己也很渴望学习,也算争气,考上了湖南的一家一本院校,选择了软件工程专业,至此开始走上了 Java 的不归路。


后续


==


毕业后我在一家普通互联网公司做后端开发,其实当时的工作和薪资对我来说已经很不错啦,如标题所述,我的目标不单单如此,我一直都是很想进入号称是“中国程序员技术天花板”的阿里巴巴从事 Java 相关的岗位。


我的室友劝我不要野心那么大,现在工作稳定、收入稳定就已经很不错啦,但我最终还是不管不顾的辞掉了工作去了阿里面试,但因自己技术不精连连被面试官吊打,当时有段时间非常低迷,甚至怀疑自己是不是错啦,最终还是我爸妈给了我勇气和鼓励(爸妈的爱是无私的)。


![“穷苦乡村”小伙就得安于现状?(终获阿里 Java 开发 P7 岗)](https://img-blog.csdnimg.cn/img_convert/2a0124d0587640e818a73


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


871e1c25aab.png)


不甘平凡,砥砺前行


=========


我给了自己两个月的时间,狂补技术,当然过程是非常难熬的,我也是靠着自己的梦想和不负爸妈的期望熬了过来,最终斩获了阿里 Java 开发 p7 岗,面试前自然也是做过不少的面试准备,这份真的超全的阿里面经对我是帮助最大的:


当然我期间也搜集过很多面试资料:



有需要这份超全的阿里面经的朋友,私信口令“不甘平凡”即可免费领取!以上的面试资料都是可以分享给大家的。


超全的阿里面经到底有多全?


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


(1)Java 面试的必有基本流程


  • 自我介绍

  • 做过的项目


(2)Java 基础


  • Java 基本的四个特性,对多态的理解以及在项目中的应用

  • 面向对象和面向过程的区别?用面向过程可以实现面向对象吗?那是不是不能面向对象?

  • 重载和重写,如何确定调用哪个函数

  • 面向对象开发的六个基本原则(单一职责、开放封闭、里氏替换、依赖倒置、合成聚合复用、接口隔离),迪米特法则。在项目中用过哪些原则

  • static 和 final 的区别和用途

  • Hash Map 和 Hash Table 的区别,Hash Map 中的 key 可以是任何对象或数据类型吗? HashTable 是线程安全的么?

  • HashMap 和 Concurrent HashMap 区别,Concurrent HashMap 线程安全吗,ConcurrentHashMap 如何保证线程安全?

  • 因为别人知道源码怎么实现的,故意构造相同的 hash 的字符串进行攻击,怎么处理?那 jdk7 怎么办?

  • String.StringBuffer、StringBuilder 以及对 String 不变性的理解

  • String 有重写 Object 的 hashcode 和 toString 吗?如果重写 equals 不重写 hashcode 会出现什么问题?

  • Java 序列化,如何实现序列化和反序列化,常见的序列化协议有哪些

  • Java 实现多线程的方式及三种方式的区别

  • 线程安全

  • 多线程如何进行信息交互

  • 多线程共用一个数据变量需要注意什么?

  • 什么是线程池?如果让你设计一个动态大小的线程池,如何设计,应该有哪些方法?

  • Java 是否有内存泄露和内存溢出

  • concurrent 包下面,都用过什么?

  • volatile 关键字的如何保证内存可见性

  • sleep 和 wait 分别是那个类的方法。有什么区别

  • synchronized 与 lock 的区别,使用场景。看过 synchronized 的源码没?

  • synchronized 底层如何实现的?用在代码块和方法上有什么区别?

  • 常见异常分为那两种(Exception,Error),常见异常的基类以及常见的异常

  • Java 中的 NIO, Bl0, AI0 分别是什么?

  • 所了解的设计模式,单例模式的注意事项,jdk 源码哪些用到了你说的设计模式

  • 匿名内部类是什么?如何访问在其外面定义的变量?

  • 如果你定义一个类,包括学号,姓名,分数,如何把这个对象作为 key?要重写 equals 和 hashcode 吗

  • 为什么要实现内存模型?


(3)数据库


  • 常用的数据库有哪些?redis 用过吗?

  • 数据库索引的优缺点以及什么时候数据库索引失效

  • 事务隔离级别

  • 数据库中的范式有哪些?

  • 数据库中的索引的结构?什么情况下适合建索引?

  • Redis 的存储结构,或者说如何工作的,与 mysql 的区别?有哪些数据类型?

  • 数据库中的分页查询语句怎么写?

  • 数据库 ACID

  • 脏读、不可重复读和幻读

  • MyISAM 和 InnoDB 引擎的区别


(4)JAVA 虚拟机


  • JVM 垃圾处理方法(标记清除、复制、标记整理)

  • JVM 如何 GC,新生代,老年代,持久代,都存储哪些东西,以及各个区的作用?

  • GC 用的引用可达性分析算法中,哪些对象可作为 GC Roots 对象?

  • 什么时候进行 MinGC,FullGc

  • 各个垃圾收集器是怎么工作的

  • Java 虚拟机内存的划分,每个区域的功能

  • 用什么工具可以查出内存泄漏

  • JVM 如何加载一个类的过程,双亲委派模型中有哪些方法有没有可能父类加载器和子类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?

  • JVM 线程死锁,你该如何判断是因为什么?如果用 VisualvM,dump 线程信息出来,会有哪些信息

  • Java 是如何进行对象实例化的

  • 用什么工具调试程序?JConsole,用过吗?

  • 了解过 JVM 调优没,基本思路是什么

  • Servlet 的生存周期

  • Jsp 和 Servlet 的区别

  • 保存会话状态,有哪些方式、区别如何

  • cookie 和 session 的区别


(5)Spring&Hibernate


  • Spring iOC、AOP 的理解以及实现的原理

  • loc 容器的加载过程

  • 动态代理与 cglib 实现的区别

  • 代理的实现原理呗

  • Hlbernate—级缓存与二级缓存之间的区别

  • Spring MVC 的原理

  • 简述 Hibernate 常见优化策略。


(6)操作系统


  • 操作系统什么情况下会死锁?

  • 如何理解分布式锁?

  • 进程间通信有哪几种方式?

  • 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?

  • 操作系统如何进行分页调度?


(7)Linux


  • Linux 是如何进行进程调度的?

  • Linux 下你常用的命令有哪些?

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
“穷苦乡村”小伙就得安于现状,你掌握了多少?