如何创建servlet文件【社招Java】腾讯、阿⾥,疯狂java讲义第五版pdf百度云
通常问法是:
在上次⼯作中,哪些项⽬最有成就感,最有挑战?
最有挑战的⼀个⼯作,遇到的困难,采取了什么⽅式,取得了什么结果
遇到的最难的项⽬?难在哪⾥?怎么解决的?得到了什么收获?
基础的⼀点的技术接触过什么?感觉枯燥么?碰到什么困难?举⼀个最难的例⼦
举例两个做的⽐较好的项⽬
这⼀块因为每个⼈都不⼀样,所以不细写了,但是很重要。社招项⽬问得是⽐较细的,事前好好准备⼀下吧,不要像我⼀样说到⾃⼰做的项⽬,因为时间⽐较久了,有些细节都忘了。⾯试前将⾃⼰做过的项⽬再熟悉熟悉。
3 基础知识
基础知识这块是跟你简历上提到的技术栈相关的,每个⼈不⼀定相同,但 Redis 和 Kafka 都是没有被错
过的。这⼀块就是考察你掌握是深度了,不⼀定全都要了解到底层,每家要求不⼀样。
3.1 Java
1)基础
int float short double long char 占字节数?
int 范围?float 范围?
hashcode 和 equals 的关系
深拷贝、浅拷贝区别
java 异常体系?RuntimeException Exception Error 的区别,举常见的例⼦
lambda 表达式中使⽤外部变量,为什么要 final?
2)集合
集合这块关注⼀下 1.8 的实现吧,和 1.7 相⽐变化了很多
Collection 有什么⼦接⼝、有哪些具体的实现
简单介绍下 ArrayList 怎么实现,加操作、取值操作,什么时候扩容?
讲⼀下 hashMap 原理。hashMap 可以并发读么?并发写会有什么问题?
讲⼀下 concurrentHashMap 原理。头插法还是尾插法?扩容怎么做?
堆是怎么存储的,插⼊是在哪⾥?
集合在迭代的过程中,插⼊或删除数据会怎样?
3)并发
线程 进程和线程的区别?并⾏和并发的区别?了解协程么? 进程间如何通信:进程 A 想读取进程 B 的主存怎么办?线程间通信? 线程的⽣命周期有哪些状态?怎么转换? wait 和 sleep 有什么区别?什么情况下会⽤到 sleep? 怎么停⽌线程? 怎么控制多个线程按序执⾏?
线程池 会⽤到线程池么?怎么使⽤的?⽤什么实现的? 常⽤的线程池有哪些?⽤的哪个线程池?什么情况下怎么选择?ThreadPoolExecutor 有什么参数?各有什么作⽤?拒绝策略? ⼀个任务从被提交到被执⾏,线程池做了哪些⼯作?
锁 讲⼀下锁,有哪些锁,有什么区别,怎么实现的? ReentrantLock 应⽤场景 死锁条件
AQS 了解 AQS 么?讲讲底层实现原理 AQS 有那些实现? 讲讲 AtomicInteger 的底层实现
volatile 关键字有什么⽤?怎么理解可见性,⼀般什么场景去⽤可见性
讲⼀下 threadLocal 原理,threadLocal 是存在 jvm 内存哪⼀块的
4)IO
IO 这块我不熟,没有多讲
【⼀线⼤⼚Java⾯试题解析+后端开发学习笔记+最新架构讲解视频+实战项⽬源码讲义】了解 NIO 么?讲讲
NIO 与 BIO 有什么区别?
了解 Netty 原理么
3.2 JVM
1)内存与 GC
jvm 内存区域分布?gc 发⽣在哪些部分?
介绍⼀下垃圾回收过程。
垃圾回收算法的了解。现在⽤的什么回收算法?
现在使⽤的什么垃圾回收器?知道哪些?讲讲 G1
容器的内存和 jvm 的内存有什么关系?参数怎么配置?
2)异常与调优
线上有什么 jvm 参数调整?
oom 问题排查思路reactions to the online manage
线上问题排查,突然长时间未响应,怎么排查,oom
cpu 使⽤率特别⾼,怎么排查?通⽤⽅法?定位代码?cpu⾼的原因?
频繁 GC 原因?什么时候触发 FGC?
怎么获取 dump ⽂件?怎么分析?
3)类加载器
怎么实现⾃⼰的类加载器?
类加载过程?
初始化顺序?
3.3 Spring
spring 介绍⼀下
讲⼀下 ioc、aop
ioc 怎么防⽌循环依赖
aop 的实现原理、动态代理过程
tomcat 与 spring、controller 的关系
spring boot starter ⾃加载是怎么实现的?在⽣命周期哪个阶段?
Spring 处理请求的过程?
3.4 MySQL
数据仓库与 mysql 区别?hive 和 mysql 有什么区别?spark 和 hadoop 区别?mapreduce 互相等待,怎么解决?
acid 含义?事务隔离级别?幻读怎么解决的?
web前端开发模板⽤过 mysql 的锁么?有哪些锁?
MyISAM、InnoDB 区别?为什么不⽤ MyISAM?
mvcc 原理?多版本数据存放在哪?
mysql 脏页?
mysql面试题集合redo log,undo log?
索引 innodb 的索引结构是什么?什么是聚簇索引? b+ 树与 b 树的区别? b+ 树与⼆叉树区别,优点?为什么不⽤红⿊树? 多列索引的结构 字符串类型和数字类型索引的效率?数据类型隐式转换 主键与普通索引的联系?存储上的区别?
sql join 和 in 怎么选择?有什么区别? union 和 union all 有什么区别?怎么选择? 怎么处理 sql 慢查询? 索引⽤得不太正常怎么处理?同时有(a,b)和(a,c)的索引,查询 a 的时候,会选哪个索引?
跨库分页的实现?
分库分表有哪些策略?怎么保证 id 唯⼀?
partialinitial对 uuid 的理解?知道哪些 GUID、Random 算法?
主键选随机 id、uuid 还是⾃增 id?为什么?主键有序⽆序对数据库的影响?
主从复制的过程?复制原理?怎么保证强⼀致性?
3.5 ⽹络
tcp tcp 有哪些机制确保可靠性?拥塞控制怎么实现? close_wait 太多怎么处理?为什么会出现这种情况? 讲讲三次握⼿,四次挥⼿
http http 2 有了解过么,新增了哪些功能,现在⽤的什么版本?1.1? http 缓存机制都有哪些?什么是 cdn?header 中涉及到缓存的字段有哪些? cookie session 介绍⼀下 html 页⾯,怎么与后端交互?流程是什么?涉及到哪些组件? http 协议,报⽂格式? keepalive 有什么⽤? Https 原理? 知道哪些 http 状态码有哪些? http 有哪些请求⽅法?put、post 实现上有什么区别?
前后端分离与不分离的区别?各有什么优缺点?
常见 web 攻击有哪些?了解 csrf 攻击么?
restful 的作⽤?有哪些优点和缺点?
nginx 达到上限了怎么办?怎么对 nginx 负载均衡?dns?
nginx 负载均衡有哪些算法?各⾃有什么优缺点?
3.6 Redis
Redis 数据结构、对象,使⽤场景
Redis 内存淘汰策略
缓存的热点 Key 怎么处理?redis 缓存穿透,怎么避免?
redis keys 命令有什么缺点
主从同步原理,新加从库的过程
RDB 和 AOF 怎么选择,什么场景使⽤?
redis 的 zset 的使⽤场景?底层实现?为什么要⽤跳表?
怎么实现 redis 分布式锁?
3.7 Kafka
⽤ kafka 做了什么功能?
kafka 内部原理?⼯作流程?
Kafka 怎么保证数据可靠性?
mysql驱动
怎么实现 Exactly-Once?
3.8 分布式
有哪些分布式组件是你最熟悉的,简单聊⼀聊。
cap 是指什么?mysql 满⾜ cap 中哪些?
分布式锁有哪些⽅式可以实现?各有什么优缺点?
什么是⼀致性 hash?⾃⼰实现⼀致性 hash,会⽤什么数据结构?
3.9 微服务
微服务⽤的什么体系?
讲⼀下熔断概念?熔断原理?令牌桶?熔断三个状态关系?
熔断会影响性能么?有遇到过线上发⽣熔断么?不加会怎样?
什么是 RPC?怎么实现幂等性?
微服务有什么优缺点?
配置中⼼有哪些选项?apollo 的架构?怎么⽆感实现已加载数据更新?
3.10 设计模式
⼯⼚⽅法和抽象⼯⼚的区别
装饰器和代理区别
单例 对于单例,你知道哪些实现⽅法? 实现⼀个懒加载单例 双重校验锁为什么需要双重校验?
4 算法题
基本都会问时间复杂度
有哪些常⽤排序算法?
⼿写快排,快排时间复杂度是多少?
快排算法是不是稳定的?什么是稳定性?
给定⼀个字母组成的字符串,出不含有重复字符的最长⼦串的长度。
9 个硬币中有⼀个劣币,⽤天平秤,最坏⼏次?
深度优先,⼴度优先
数字转中⽂
括号匹配,时间复杂度,空间复杂度
单向链表的归并排序
链表做加法
1g ⼤⼩⽂件,⾥⾯每⾏是最⼤ 16k 的单词,限制内存 1m,统计单词频率最多的 100 个单词⼿写 100 位带⼩数的⼤数字的减法
全排列。进阶:给数组长度 n,求第 k ⾏的排列
5 系统设计
⼀天爬⼀千万条⽂章,怎么做设计?怎么并⾏协调?100 台服务器怎么尽可能负载均衡?
怎么设计⼀个秒杀系统?怎么解决⼤并发?
设计⼀个抢红包系统,要注意哪些点
设计⼀个微博社交系统,怎么更⾼效,索引怎么设计、提⾼效率,查询扫描⾏数,缓存设计
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论