16.成员变量和静态?法可以被重写么?重写的规则是怎样的?
17.内部类访问局部变量的时候,为什么变量必须加上fifinal修饰符?
18.什么情况会造成内存泄漏?
19.什么是线程死锁,如何解决?
20.十亿条淘宝购买记录,怎么获取出现最多的前十个 ?
- 这是一道典型的有限内存的海量数据处理的题目。一般这类题目的解答无非是以下几种:
- 分治,hash映射,堆排序,双层桶划分,Bloom Filter,bitmap,数据库索引,mapreduce等。
- 具体情形都有很多不同的方案。这类题目可以到网上搜索一下,了解下套路,后面就基本都会了。
21.说一下Innodb和MySIAM的区别
22.说一下jvm内存模型,介绍一下你了解的垃圾收集器
- 其实并没有jvm内存模型的概念。应该是Java内存模型或者jvm内存结构,这里面试者一定要听清楚问的是哪个,再回答。
23.如何访问链表中间节点
- 对于这个问题,我们首先能够想到的就是先遍历一遍整个的链表,然后计算出链表的长度,进而遍历第二遍找出中间位置的数据。这种方式非常简单。
- 若题目要求只能遍历一次链表,那又当如何解决问题?
- 可以采取建立两个指针,一个指针一次遍历两个节点,另一个节点一次遍历一个节点,当快指针遍历到空节点时,慢指针指向的位置为链表的中间位置,这种解决问题的方法称为快慢指针方法。
23.HR问
- 从技术角度来说,你觉得你跟前同事比怎么样?
- 说一下自己的个人优势。
- 工作中觉得哪方面欠缺?
- 为什么想来阿里?阿里的什么方面吸引了你?
[面试题戳戳戳此处领取word文档版(含详细答案解析)](
)
面试总结及建议
每一次Java面试,其实都是一次学习机会,是对自己技术知识栈的梳理、考核、复盘。我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺学习巩固。对于面试来说,其实也没有太多的技巧可言,面试官主要看重的就是个人能力,无非就是两个方面:
外包CRUD屌丝,是怎样逆袭的?
外包出身的我,究竟有多么菜,多么屌丝呢?还在外包的我,面试时被问到什么是成员变量,我是什么都不知道,相信这种程度大家应该有所感受了。
那作为一个外包CRUD屌丝,我是怎么做到逆袭的呢?
注意:下文主要是我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,[有需要的可以戳戳戳这里免费分享给你。](
)
01 梳理知识体系,学会查漏补缺
关于知识体系的梳理,我个人主要分为以下5个部分,有针对性的,将这5个部分逐步击破,那么搞定面试是基本没什么问题了。
- 并发编程:多线程,高并发,CAS,锁,容器,线程池底层
- 性能调优:Mysql,IO及网络调优,算法调优,JVM
- Spring全家桶:Spring,SpringMVC,MyBatis,IOC,AOP
- 缓存数据库:Redis,mongoDB,MySQL
- 分布式&微服务:SpringBoot,SpringCloud,docker,maven
02 根据要点,逐个击破(根据大纲内容来进行复习)
1.并发编程(核心技术笔记)
- Java多线程技能
- 对象及变量的并发访问
- 线程间通信
- Lock的使用
- 定时器Timer
- 单例模式与多线程
- 拾遇增补
2.性能调优(Java性能调优+MySQL调优+JVM调优)
3.Spring全家桶(Spring全家桶学习脑图+SpringBoot使用笔记+源码深度解析)
最后
分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](
)
网盘:pan.baidu.com/s/1MtPP4d9Xy3qb7zrF4N8Qpg 提取码:2p8n **
《Java高级面试》
《Java高级架构知识》
《算法知识》
[外链图片转存中…(img-f6u8SljF-1631366644408)]
《Java高级架构知识》
[外链图片转存中…(img-1XeGRDxN-1631366644409)]
《算法知识》
|