关注
java面试基本题型 多线程,io,集合,数据库,算法,网络,虚拟机,框架,设计模式 多线程基本问题 线程进程区别,线程间怎么通信,进程间怎么通信, 线程状态,以及转变,wait,sleep区别,Object有什么方法 实现线程的四种方式? 继承Thread,实现Runnable接口,线程池(线程池参数必须知道corePoolSize,maximumPoolSize,任务队列,等待时间这),Callable接口(Future设计模式理解),造成死锁的四个必要条件,如何实现同步,回答Lock,Synchronized,原子类,CAS机制,volatile,分析区别优势,最好可以自己实现一个锁,通过分析AQS(Lock顶层抽象对列同步器), 基本的生产者,消费者问题解决。 集合 说出集合架构,分析arraylist,hashset(实现原理怎么保证元素有序(TreeSet底层红黑树)),linkedlist,hashmap,hashset,concurrenthashmap,linkedhashmap实现原理,比如hashmap,加载因子,怎么扩容,1.8为什么链表长度为8就要进行调整结构为红黑树(分析红黑树优点最好从二叉树不平衡,进而回答avl平衡树但是平衡要求高需要旋转次数多,红黑树引出(时间负责度log(n))),hashcode,equals区别具体体现在哪里,hashmap怎么解决冲突,是否线程安全等等必须弄清楚。每个数据结构都弄清楚。 网络 基本的五层,四层,三层,七层模型必须知道 http,https区别 ,http状态码,www.baidu.com访问这个网站的具体流程。 tcp,udp 三次握手,四次挥手。 数据库 left,right,inner join区别 如何实现一对多设计,多对多设计 数据库存储引擎 myisam,innodb分析区别 数据库怎么优化 为甚么要建立索引,索引什么情况会失效。基本的索引hash索引,b树索引 分析优缺点 ,为甚么用B+树索引,分析与B树的区别。 io io 和 nio区别 nio怎么使用 算法 基本的排序时间复杂度分析 快排(n(log(n)))要求可以写出递归分析以及怎么优化快速排序分析为什么可以?什么时候时间复杂度为N*N,分析为什么(树退化),各种排序时间复杂度基本写法,大数据排序,topK问题 虚拟机 堆栈方法区 内存溢出是指没有内存去分配 内存泄漏是指分配对象 不适用依然占用内存 哪些会内存溢出 堆 栈 方法区 本地方法栈 分析 堆溢出 不断new对象 分析查看gcroot链 用eclips -Xmx -Xms 虚拟机栈 本地方法栈溢出 如果线程请求栈的深度大于虚拟机允许的最大深度 -Xss减小栈大小 虚拟机栈容量小或者栈帧太大 还有递归太深 方法区和运行时常量池溢出 -XX:PermSize 和 -XX : MaxPermSize限制方法区大小 本机直接内存溢出-XX:MaxDirectMemorySize指定,不指定默认堆得最大值-Xms unsafe,allocateMenory(); 垃圾回收算法 引用 强软弱虚引用分析 强引用 比如Object o=new Object(); 只要强引用还存在,垃圾回收器永远不会回收被引用的对象 软引用 有用但是并非必要的对象 对于软引用关联的对象,在系统将要发生内存之前,将会把这些对象列进入回收范围内,如果这次回收依然失败,那么引起内存溢出异常 弱引用 描述并非必须的对象,但是强度比软引用弱,被弱引用关联的对象只能生存到下一次垃圾回收发生之前,当垃圾回收器工作,无论当前内存是否够都会回收之被弱引用引用的对象用WweakReference 虚引用 PhantomReference 随时有可能被回收 垃圾回收方法 标记清除 标记整理 复制算法 垃圾收集器 Seial 单线程处理 ParNew 多线程处理 但是都要停止所有用户线 程 Parallel Scavenge 收集器 快速 因为牺牲了吞吐量和新生代空间 导致垃圾收集频繁 CMS(Concurrent Mark Sweep)获取最短回收停顿时间 基于标记清除 基本算法 初始标记(Stop the word) 并发标记 重新标记(Stop the word) 并发清除 缺点会产生内存碎片 参数-UseCmsCompactAtFullCollection 还有-XX:CMSFullGcrootBeforeCompaction 默认0 每次进入full gc 进行碎片整理 1.7 G1(Garbage-First)特点 并行与并发 分代收集 空间整合 可预测停顿 基本工具:jinfo java配置信息工具 jmap java内存映像工具 linux用Kill -3 实现 -dump -heap Jstack java堆栈跟踪工具 Jconsole java性能监视与管理控制台 可达性分析 Gcroot 全局性的引用(常量或者类静态属性) 执行上下文(栈帧中的本地变表) 类加载机制分析(双亲加载模型)分析为什么这么设计 框架 SpringMVC流程,ioc,aop怎么自己实现,mybatis流程,怎么防止sql注入。 设计模式 最好全部会,分析在jdk源码的使用,比如装饰者设计模式 (io经常使用),适配器模式 (OutputStreamWriter)
查看原帖
点赞 5
相关推荐
点赞 评论 收藏
转发
投递英伟达等公司10个岗位 >
点赞 评论 收藏
转发
牛客热帖
- 1... 想来字节技术实习,看我这篇就够了!——保姆级面经大放送1.8W
- 2... 毕业1.2W
- 3... 25届第一份实习怎么找?1.1W
- 4... 【0429快问快答】99%牛油的疑惑解答(更新至38个问题1.1W
- 5... 0实习经验上岸字节,分享一下过程经验9433
- 6... 【奖】休息放松or学习提升,五一假期和牛牛一起“充充电”🔋7860
- 7... 准备去参加自己的婚礼6129
- 8... 美团后端日常实习一二面(已oc)5646
- 9... 为什么我不建议你学C++后端5204
- 10... 【薪资计算】SS Is All You Need4716
正在热议
# 牛友的五一计划 #
25347次浏览 458人参与
# 市场营销面经 #
1664次浏览 79人参与
# 牛客帮帮团来啦!有问必答 #
414528次浏览 7979人参与
# 晒一晒我的offer #
2855232次浏览 50169人参与
# 互联网公司评价 #
63574次浏览 904人参与
# 市场营销人求职交流聚集地 #
25458次浏览 577人参与
# 许愿池 #
67030次浏览 1485人参与
# 我的上岸简历长这样 #
142658次浏览 2863人参与
# 提前批真的不会影响正式批吗 #
18186次浏览 229人参与
# 如何看待offer收割机的行为 #
197440次浏览 3030人参与
# 国企和大厂硬件兄弟怎么选? #
28598次浏览 551人参与
# 非技术岗薪资爆料 #
10372次浏览 204人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
24757次浏览 244人参与
# 产品实习,你更倾向大公司or小公司 #
31526次浏览 495人参与
# 在国企工作的人,躺平了吗? #
74174次浏览 907人参与
# 浅聊一下我实习的辛苦费 #
71498次浏览 649人参与
# 简历中的项目经历要怎么写 #
383639次浏览 6434人参与
# 没有实习经历,还有机会进大厂吗 #
260597次浏览 4909人参与
# 机械制造薪资爆料 #
262873次浏览 3204人参与
# 双非本科求职如何逆袭 #
174701次浏览 2626人参与