通常问法是:

在上次工作中,哪些项目最有成就感,最有挑战?

最有挑战的一个工作,遇到的困难,采取了什么方式,取得了什么结果

遇到的最难的项目?难在哪里?怎么解决的?得到了什么收获?

基础的一点的技术接触过什么?感觉枯燥么?碰到什么困难?举一个最难的例子

举例两个做的比较好的项目

这一块因为每个人都不一样,所以不细写了,但是很重要。社招项目问得是比较细的,事前好好准备一下吧,不要像我一样说到自己做的项目,因为时间比较久了,有些细节都忘了。面试前将自己做过的项目再熟悉熟悉。

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 问题排查思路

线上问题排查,突然长时间未响应,怎么排查,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 含义?事务隔离级别?幻读怎么解决的?

用过 mysql 的锁么?有哪些锁?

MyISAM、InnoDB 区别?为什么不用 MyISAM?

mvcc 原理?多版本数据存放在哪?

mysql 脏页?

redo log,undo log?

索引 innodb 的索引结构是什么?什么是聚簇索引? b+ 树与 b 树的区别? b+ 树与二叉树区别,优点?为什么不用红黑树? 多列索引的结构 字符串类型和数字类型索引的效率?数据类型隐式转换 主键与普通索引的联系?存储上的区别?

sql join 和 in 怎么选择?有什么区别? union 和 union all 有什么区别?怎么选择? 怎么处理 sql 慢查询? 索引用得不太正常怎么处理?同时有(a,b)和(a,c)的索引,查询 a 的时候,会选哪个索引?

跨库分页的实现?

分库分表有哪些策略?怎么保证 id 唯一?

对 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 怎么保证数据可靠性?

怎么实现 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 台服务器怎么尽可能负载均衡?

怎么设计一个秒杀系统?怎么解决大并发?

设计一个抢红包系统,要注意哪些点

设计一个微博社交系统,怎么更高效,索引怎么设计、提高效率,查询扫描行数,缓存设计

【社招Java】腾讯、阿里,疯狂java讲义第五版pdf百度云相关推荐

  1. 《Spring实战》读书笔记-第6章 渲染Web视图,java基础入门第二版pdf百度云

    Spring提供了两种支持JSP视图的方式: InternalResourceViewResolver会将视图名解析为JSP文件.另外,如果在你的JSP页面中使用了JSP标准标签库(JavaServe ...

  2. Quartz简介,java编程思想第四版pdf百度云

    Quartz是免费使用的,并根据Apache 2.0许可获得许可. Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 年被 ...

  3. 记录一位社招面试腾讯成功拿到offer的面试内容及收集的答案(上)

    //   以下记录 是为了 以后如果有机会面试大厂 起码了解一些 作为合格前端应该掌握的知识点  勉励自己 //   对了 还有平时 对用到的专有名词及缩写 请查清全称及读音 否则面试的时候 真的画面 ...

  4. 疯狂Android讲义(第2版)

    <疯狂Android讲义(第2版)> 基本信息 作者: 李刚 [作译者介绍] 出版社:电子工业出版社 ISBN:9787121194856 上架时间:2013-3-5 出版日期:2013 ...

  5. 疯狂Android讲义第三版完整带目录

    疯狂Android讲义第三版完整带目录 下载地址: https://pan.baidu.com/s/1TBgJqJ5gpyg8UXIKxk2UMA 扫码下面二维码关注公众号回复100014 获取分享码 ...

  6. 疯狂安卓讲义第三版安卓源码(最新版的)

    其实写这个主要是因为上传的源码比较大,但是又想给大家提供最新的疯狂安卓讲义第三版的安卓源代码,以便于大家对安卓更好的学习. 第三版与前两版的不同之处包括:编译器全部用了android studio来进 ...

  7. 刚从阿里、头条面试回来,疯狂java讲义第五版百度网盘

    Netty实战 无论是想要学习Spring 5 .Spark.Cassandra等这样的系统,还是通过学习Netty来构建自己的基于Java的高性能网络框架,或者是更加具体的高性能Web或者游戏服务器 ...

  8. 阿里2019社招内推!阿里云高级专家(P8)帮内推!投递简历邮箱看正文!

    阿里云项目组社招,有大量职位空缺!欢迎大家投递简历到chao.wang@alibaba-inc.com,可内推! 优秀的在校同学也欢迎投递简历,参加实习和校招!内推面试机会很大,请大家把握机会! 岗位 ...

  9. 广州Java培训,疯狂Java如何?谈谈疯狂Java,谈谈李刚

    蛇年已经过了快一个月了,本以为年后好找工作,没想到面试了几家企业才发现,自己尽然连一些框架的原理都没学到,基础不扎实不说,项目经验更是少得可怜,没办法,这几天只好又找了其它培训机构的一些项目视频重新学 ...

  10. Java后端实现安卓/IOS移动端消息推送(百度云推送)

    本文主要介绍Java服务器端如何借助第三方推送平台(百度云推送)推送给移动端消息. 使用案例介绍: 根据客户的需求,需要做一个类似淘宝消息推送的功能,客户下订单.订单付款.订单商品已发货,以及客户完成 ...

最新文章

  1. MacApp开发Error Domain=NSURLErrorDomain Code=-1003 A server with the specified hostname could not be
  2. Deep Learning(深度学习)学习笔记整理系列之(二)
  3. vue中如何使用mockjs摸拟接口的各种数据
  4. Android系统编译so库提示error undefined reference to '__android_log_print问题的解决
  5. 中国人民大学_《组织行为学》_17.节点人物
  6. RTC 音频质量评价和保障
  7. jvm gc策略_IBM JVM调整– gencon GC策略
  8. 哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理
  9. [零基础学JAVA]Java SE应用部分-34.Java常用API类库
  10. 今日头条Java后台Java研发三面题目
  11. 山东科技大学c语言完全题库,“山东科技大学十大未解之谜”之完全解答
  12. python第七章_Python第七章
  13. Linux学习总结(九)—— CentOS常用软件安装:中文输入法、Chrome
  14. mysql查询4-6_MySQL学习(四)查询
  15. windows7蓝牙怎么打开_英特尔升级Wi-Fi 和蓝牙驱动,Win10 更新5月版稳了
  16. 零极限:创造健康、平静与财富的四句话
  17. 学计算机装机,新手学装机:小白如何从零开始学装机
  18. ubuntu 16.04 桌面修复
  19. 【Spring Boot】使用mockMvc模拟请求以及遇到的问题
  20. Coursera机器学习+deeplearning.ai+斯坦福CS231n

热门文章

  1. 人口logistic模型公式_MATLAB做logistics人口模型,求出值有问题
  2. 矩阵键盘mega16 c语言程序,51单片机对矩阵键盘实现16个按键操作的电路设计
  3. 将ClearCase的客户端编码设置为UTF-8
  4. 中大型企业的固定资产管理办法
  5. 【大牛分享】人机工程简史
  6. 求偏微分方程的数值解(有限差分法、配置法、Galerkin方法)
  7. 用python做股票因子分析_什么是多因子量化选股模型?
  8. java如何编写屏幕保护程序_屏幕保护程序的编写
  9. mysql+语句+when_MySQL的CASEWHEN语句
  10. Blazeds文档(二)-------Blazeds体系结构(一)【转载】