面试别人或被面试的时候都会问些什么呢?

本贴最后更新于 3021 天前,其中的信息可能已经水流花落
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • sweat89

    3,4 年的 java 面试感觉都是, 多线程 高并发 jvm jmm ,然后数据库就是分库分表,sql 优化还有 nosql。 再就是 rpc 、mq。然后聊项目

  • 其他回帖
  • 88250

    @mainlove 一般会说使用锁,然后就问什么类型的锁

    • 数据行锁:如何降低资源消耗(比如通过超时控制)
    • 分布式锁:如何实现
    • 乐观锁原理,基于数据库的实现方式
  • sweat89 3 3 赞同

    基础与框架:

    String 类能被继承吗,为什么

    String,Stringbuffer,StringBuilder 的区别?

    ArrayList 和 LinkedList 有什么区别

    类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序

    用过哪些 Map,都有什么区别,HashMap 是线程安全的吗,并发下使用的 Map 是什么,他们内部原理分别是什么,比如 hashcode,扩容等

    抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么

    什么情况下会发生栈内存溢出

    什么是 nio,原理

    反射中,Class.forName 和 ClassLoader 区别

    tomcat 结构,类加载器流程

    讲讲 Spring 事务的传播属性,AOP 原理,动态代理与 cglib 实现的区别,

    Spring 加载流程

    Spring 如何管理事务的

    多线程:

    多线程的几种实现方式,什么是线程安全,什么是重排序

    volatile 的原理,作用,能代替锁么

    sleep 和 wait 的区别,以及 wait 的实现原理

    Lock 与 synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁

    用过哪些原子类,用过哪些线程池,他们的参数以及原理是什么

    有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有 10 个线程同时调用它,如何做到。

    spring 的 controller 是单例还是多例,怎么保证并发的安全

    用三个线程按顺序循环打印 abc 三个字母,比如 abcabcabc

    ThreadLocal 用过么,原理是什么,用的时候要注意什么

    如果让你实现一个并发安全的链表,你会怎么做

    JVM 相关:

    jvm 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的,重点讲讲对象如何晋升到老年代,几种主要的 jvm 参数等

    你知道哪几种垃圾收集器,各自的优缺点,重点讲下 cms

    当出现了内存溢出,你怎么排错

    JVM 内存模型的相关知识了解多少

    简单说说你了解的类加载器

    JAVA 的反射机制

    网络:

    http1.0 和 http1.1 有什么区别

    TCP 三次握手和四次挥手的流程,为什么断开连接要 4 次,如果握手只有两次,会出现什么

    TIME_WAIT 和 CLOSE_WAIT 的区别

    说说你知道的几种 HTTP 响应码

    当你用浏览器打开一个链接的时候,计算机做了哪些工作步骤

    Linux 下 IO 模型有几种,各自的含义是什么

    TCP/IP 如何保证可靠性,数据包有哪些数据组成

    架构设计与分布式:

    tomcat 如何调优,各种参数的意义

    常见的缓存策略有哪些,你们项目中用到了什么缓存系统,如何设计的,Redis 的使用要注意什么,持久化方式,内存设置,集群等

    用 java 自己实现一个 LRU

    分布式集群下如何做到唯一序列号

    设计一个秒杀系统,30 分钟没付款就自动关闭交易

    如何做一个分布式锁

    用过哪些 MQ,怎么用的,和其他 mq 比较有什么优缺点,MQ 的连接是线程安全的吗

    MQ 系统的数据如何保证不丢失

    分布式事务的原理,如何使用分布式事务

    什么是一致性 hash

    什么是 restful,讲讲你理解的 restful

    如何设计建立和保持 100w 的长连接?

    解释什么是 MESI 协议(缓存一致性)

    说说你知道的几种 HASH 算法,简单的也可以

    什么是 paxos 算法

    redis 和 memcached 的内存管理的区别

    一个在线文档系统,文档可以被编辑,如何防止多人同时对同一份文档进行编辑更新

    算法:

    10 亿个数字里里面找最小的 10 个

    有 1 亿个数字,其中有 2 个是重复的,快速找到它,时间和空间要最优

    2 亿个随机生成的无序整数,找出中间大小的值

    遍历二叉树

    数据库:

    数据库隔离级别有哪些,各自的含义是什么,MYsql 默认的隔离级别是是什么,各个存储引擎优缺点

    高并发下,如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB 的行级锁有哪 2 种,解释其含义

    SQL 优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义,索引的原理?

    数据库会死锁吗,举一个死锁的例子,mysql 怎么解决死锁

    聚集索引和非聚集索引的区别

    数据库中 BTREE 和 B+tree 区别

  • yangyujiao

    妈妈咪呀,你们说的我都不知道。。。通常问我我不知道的就会说不知道。省的说多了都是错,而且越说问的越多越不知道。。。

  • 查看全部回帖

推荐标签 标签

  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 58 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 67 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 407 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 51 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    179 引用 • 995 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • OnlyOffice
    4 引用 • 3 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 16 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖 • 1 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 31 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 1 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 490 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 283 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 664 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 362 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 463 关注