java开发面试项目经验
前言
可以说掌握这个pdf上的知识,面试问的基础知识无处左右,我凭借这个pdf拿下了OPPO/百度,京东,华为,美团,蚂蚁金服等互联网公司的offer。
下文中截图来源于朋友一个pdf版本的面经,把所以知识点的答案整理了下来,耗费他至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有他的知识点的答案,如下图示例,非常详细(文末有领取方式)!!!
蚂蚁金服一面:
下午杭州的电话,问有没有空,果断有空,虽然感觉略显紧张,有点懵逼。
面试的题目:
- HashMap和Hashtable的区别
- 实现一个保证迭代顺序的HashMap
- 说一说排序算法,稳定性,复杂度
- 说一说GC
- 可以保证的实习时长
- 职业规划
整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。
蚂蚁金服二面
二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全不同,面试官很希望我言简意赅的说完答案,所以面的不算很好,当时完了又以为GG了,好在最后还是幸运的过了,面试问题如下:
- 自我介绍。
- JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
- HashMap如何实现的?
- HashMap和Concurrent HashMap区别, Concurrent HashMap 线程安全吗, Concurrent HashMap如何保证 线程安全?
- HashMap和HashTable 区别,HashTable线程安全吗?
- 进程间通信有哪几种方式?
- JVM分为哪些区,每一个区干吗的?
- JVM如何GC,新生代,老年代,持久代,都存储哪些东西?
- GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象?
- 快速排序,过程,复杂度?
- 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
- TCP如何保证可靠传输?三次握手过程?
- TCP和UDP区别?
- 滑动窗口算法?
- Linux下如何进行进程调度的?
- Linux下你常用的命令有哪些?
- 操作系统什么情况下会死锁?
- 常用的hash算法有哪些?
- 什么是一致性哈希?
- 如何理解分布式锁?
- 数据库中的范式有哪些?
- 数据库中的索引的结构?什么情况下适合建索引?
- Java中的NIO,BIO,AIO分别是什么?
- 用什么工具调试程序?JConsole,用过吗?
- 现在JVM中有一个线程挂起了,如何用工具查出原因?
- 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?
- 同步和异步有什么区别?
- 线程池用过吗?
- 如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建一个线程安全的单例?
- concurrent包下面,都用过什么?
- 常用的数据库有哪些?redis用过吗?
- 了解hadoop吗?说说hadoop的组件有哪些?hdfs,hive,hbase,zookeeper。说下mapreduce编程模型。
- 你知道的开源协议有哪些?
- 你知道的开源软件有哪些?
- 你最近在看的书有哪些?
- 你有什么问题要问我吗?
- 了解哪些设计模式?说说都用过哪些设计模式
- 如何判断一个单链表是否有环?
- 操作系统如何进行分页调度?
- 匿名内部类是什么?如何访问在其外面定义的变量?
二面面试官问的很急,我答的也快,所以有两个问题答的不好,但是面试官让我觉得有一种肃然起敬的感觉,因为他说话比较快,但是都能说到点子上,最关键的说的话非常让人容易接受。
二面过了,当天晚上我就接到了三面的电话(阿里的效率真的让我瞠目结舌)
蚂蚁金服三面
三面已经是交叉面试了,基本都围绕我的项目展开,我经过前面几次的面试之后,这个时候已经拥有了很高的面试经验值了,所以三面的时候我一点不慌了,回答问题非常稳重,三面的问题如下:
- 自我介绍,做过什么项目。
- java虚拟机的区域如何划分,每一个区的动能,这一块自由发挥。
- 双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类?
- 有没有可能父类加载器和子类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?
- HashMap的结构,get(),put()是如何实现的?HashMap有哪些问题?
- ConcurrentHashMap的get(),put(),又是如何实现的?ConcurrentHashMap有哪些问题? ConcurrentHashMap的锁是读锁还是写锁?
- HashMap与HashTable的区别
- sleep()和wait()分别是哪个类的方法,有什么区别?synchronized底层如何实现的?用在代码块和方法上有什么区别?
- 什么是线程池?如果让你设计一个动态大小的线程池,如何设计,应该有哪些方法?
- 什么是死锁?JVM线程死锁,你该如何判断是因为什么?如果用VisualVM,dump线程信息出来,会有哪些信息?这一块问的很多…问的我懵了. 因为并没有实际操作过 = =
- 查看jvm虚拟机里面堆、线程的信息,你用过什么命令?我只用过图形界面VisualVM。。。
- 垃圾回收算法有哪些?CMS知道吗?如何工作的?
- 数据库中什么是事务?事务的隔离级别?事务的四个特性?什么是脏读,幻读,不可重复读?
- 数据库索引的结构有哪些?我说B树和B+树,他说只有这两个吗。我又说全文倒排索引。然后介绍B+树的结构。
- 数据库中的分页查询语句怎么写?
- 什么是一致性哈希?用来解决什么问题?
- Redis的存储结构,或者说如何工作的,与mysql的区别?有哪些数据类型?
- 项目中用到redis,为什么选用redis,了解其他NoSQL数据库吗?在你的项目中是如何运用redis的?key是什么,value是什么?
- 归并排序的过程?时间复杂度?空间复杂度?
- 你平常用什么排序?快速排序。说说在那些场景下适用,哪些场景下不适用。
- 你在项目中做什么?因为我用到Solr,他就问我Solr是如何工作的?
总目录展示
该笔记共八个节点(由浅入深),分为三大模块。
高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。该笔记将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这4个方面重点介绍。
一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,将用一个节点来专门讲解如何设计秒杀减库存方案。
高可用。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。笔记的最后,将带你思考可以从哪些环节来设计兜底方案。
篇幅有限,无法一个模块一个模块详细的展示(这些要点都收集在了这份《高并发秒杀顶级教程》里),觉得有需要的码友们,麻烦各位转发一下(可以帮助更多的人看到哟!)点这里,即可获得免费下载的方式!!
由于内容太多,这里只截取部分的内容。需要这份《高并发秒杀顶级教程》的小伙伴,麻烦各位帮忙点赞分享支持一下(可以帮助更多的人看到哟!)
84415245)]
[外链图片转存中…(img-D9EvYCdM-1624084415246)]
由于内容太多,这里只截取部分的内容。需要这份《高并发秒杀顶级教程》的小伙伴,麻烦各位帮忙点赞分享支持一下(可以帮助更多的人看到哟!)
java开发面试项目经验相关推荐
- java开发项目实例_学java开发,项目经验最重要
不想做将军的士兵不是好士兵! 相信没有人一开始学java,就是为了将来一直做一名初级java开发工程师.只需掌握一些简单代码技巧,别人告诉想要实现的效果,然后自己能用代码堆砌来实现. 更何况,现在企业 ...
- 2019年初Java开发面试经验(南京)
背景:16年6月份本科毕业,两份工作经验,第一份半年,第二份两年. 个人技术栈:熟悉常用js和jquery编程,熟悉Maven,svn等工具的使用,熟练掌握web前后端交互,掌握javaSE编程,掌握 ...
- Java开发面试经验
Java开发面试两年经验 一.反射是什么? 二.Java如何遍历Map集合? 一.反射是什么? 很多人会说我直接new一个对象不就完了么,干嘛还用反射来获取对象.因为new属于静态编译,而反射属于动态 ...
- Java开发面试简历这么写,命中率达70%
上篇文章我们了解到,想要有面试机会,首先要完成一份好的简历.但是在撰写简历的时候,往往有一些细节很容易被忽视,导致面试机会远远不如自己的期望值.一份经过优化的简历,面试的命中率可以达到70%.那我们就 ...
- 2023字节、腾讯、阿里等6家大厂Java开发面试真题+高频面试题总结
又是一年求职面试旺季,不管你是新进职场小白还是职场老鸟,这些关于java程序员面试应准备的东西你都应该知道. 面试前需要准备 1. Java 八股文:了解常考的题型和回答思路: 2. 算法:刷100- ...
- Java开发面试高频考点学习笔记(每日更新)
Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...
- 顺丰java面试题_顺丰java开发面试分享,顺丰java面试经面试题
今天要给大家分享的是一个小伙伴的顺丰java开发面试过程,其中包括了面试流程,面试题目,和回答,感兴趣的朋友可以来了解一下哈. 一.面试流程 是中午进行的面试,首先是做自我介绍,之后就是讲一下项目,然 ...
- 博学谷java题库判断_博学谷Java开发面试基础笔试题及答案分享
博学谷Java开发面试基础笔试题分享:char 型变量中能不能存贮一个中文汉字?为什么?"=="和 equals 方法究竟有什么区别?静态变量和实例变量的区别?是否可以从一个 st ...
- 2021最新版JAVA开发面试那些事儿~(结尾有字节、华为面试内容)
现在有越来越多的人进入互联网行业,但是各公司的面试花样也是越来越多,这里为大家整理了一些面试内容,供大家参考!(结尾有字节.华为面试内容) 一.北京神州新桥科技有限公司Java开发岗位 面试公司:北京 ...
- 初级Java开发面试必问项!!! 标识符、字面值、变量、数据类型,该学学了!
最近事情太多,没太时间写博客.今天抽空再整理整理面试中的那点事吧,帮助那些正在找工作或想跳槽找工作的学弟学妹们. 前面我己写过多篇推文,相信看过我文章的伙伴们已经了解掌握了不少.从目前流行的开发技术. ...
最新文章
- Linux中iptraf命令详解(IP局域网监控工具)
- Objective-C:MRC(引用计数器)获得对象所有权的方式(init、retain、copy等)
- Retrofit2.0+ .Net MVC4(WebApi) 上传多张图片
- 十道常见的MyBatis 面试题
- 【ARM】ARM汇编程序设计(五) str和ldr
- 调用百度API写了一个js翻译小工具
- CSharp设计模式读书笔记(10):装饰模式(学习难度:★★★☆☆,使用频率:★★★☆☆)...
- 第 20 章 权限管理的基本概念
- 电商优秀设计作品展示
- VBA 提取 Office 2016 工具栏图标
- nginx_lua vs nginx+php 应用场景
- matlab三相系统电阻折算,基于MATLAB三相异步电动机调压调速系统方案.doc
- 百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量
- 【重点】commons-dbutils
- 如果忘记了学信网手机号可以试着这样找回
- 解决 Access denied for user'root'@'IP地址'
- 程序员的“我爱你”表达方式
- pytoch 安装为Gpu版本
- 什么是 5G CPE
- MySQL之TPC压缩