面试题-面经及知识重点

2023-11-09

1、葵花宝典:https://blog.csdn.net/jackfrued/article/details/44921941

1、面试整理:http://www.jfox.info/gao-shou-zheng-zheng-li-java-cheng-xu-yuan-mian-shi-zong-jie.html

2、高级面试题1:https://www.cnblogs.com/java1024/p/8594784.html

3、这可能不只是一篇面经(BAT面试)https://blog.csdn.net/djy1992/article/details/76087532

4、Java面试题集:https://www.cnblogs.com/java1024/category/1180332.html

5、Java并发编程的艺术:http://ifeve.com/the-art-of-java-concurrency-program-1/

6、最近五年Java的面试题:http://www.importnew.com/17232.html

7、Java面试题汇总1:https://blog.csdn.net/sinat_35512245/article/details/70214553

8、Java面试清单:https://blog.csdn.net/he90227/article/details/64904928

9、面试题Java基础:https://blog.csdn.net/crazymakercircle/article/details/82555359

10、面试题:https://www.cnblogs.com/goody9807/p/6425399.html

11、面试题:https://blog.csdn.net/qq_37283570/article/details/80026117

12、面试题https://blog.csdn.net/weixin_38399962/article/details/80358168

13、阿里java高级工程师面试100题:https://blog.csdn.net/zhanjianshinian/article/details/77073723

14、最近5年183个Java面试问题列表及答案:https://www.cnblogs.com/goody9807/p/6425399.html

15、Dubbo 面试题:https://juejin.im/post/5c86fb99e51d4557a74b98bc

16、Java 最常见的 200+ 面试题汇总:https://www.cnblogs.com/over/p/10468747.html

17、

一、基础知识:

  • 算法和数据结构
    1. 数组、链表、二叉树、队列、栈的各种操作(性能,场景)
    2. 二分查找和各种变种的二分查找
    3. 各类排序算法以及复杂度分析(快排、归并、堆
    4. 各类算法题(手写)
    5. 理解并可以分析时间和空间复杂度。
    6. 动态规划(笔试回回有。。)、贪心。
    7. 红黑树、AVL树、Hash树、Tire树、B树、B 树。
    8. 图算法(比较少,也就两个最短路径算法理解吧)
  • 计算机网络
    1. OSI7层模型(TCP4层)
      • 每层的协议
      • url到页面的过程
    2. HTTP
      • http/https 1.0、1.1、2.0
      • get/post 以及幂等性
      • http 协议头相关
      • 网络攻击(CSRF、XSS)
    3. TCP/IP
      • 三次握手、四次挥手
      • 拥塞控制(过程、阈值)
      • 流量控制与滑动窗口
      • TCP与UDP比较
      • 子网划分(一般只有笔试有)
      • DDos攻击
    4. (B)IO/NIO/AIO
      • 三者原理,各个语言是怎么实现的
      • Netty
      • Linux内核select poll epoll
  • 数据库(最多的还是mysql,Nosql有redis)
    1. 索引(包括分类及优化方式,失效条件,底层结构)
    2. sql语法(join,union,子查询,having,group by)
    3. 引擎对比(InnoDB,MyISAM)
    4. 数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)
    5. 隔离级别,依次解决的问题(脏读、不可重复读、幻读)
    6. 事务的ACID
    7. B树、B 树
    8. 优化(explain,慢查询,show profile)
    9. 数据库的范式。
    10. 分库分表,主从复制,读写分离。
    11. Nosql相关(redis和memcached区别之类的,如果你熟悉redis,redis还有一堆要问的)
  • 操作系统:
    1. 进程通信IPC(几种方式),与线程区别
    2. OS的几种策略(页面置换,进程调度等,每个里面有几种算法)
    3. 互斥与死锁相关的
    4. linux常用命令(问的时候都会给具体某一个场景)
    5. Linux内核相关(select、poll、epoll)
  1. 编程语言(这里只说Java):
    1. 把我之后的面经过一遍,Java感觉覆盖的就差不多了,不过下面还是分个类。
    2. Java基础(面向对象、四个特性、重载重写、static和final等等很多东西)
    3. 集合(HashMap、ConcurrentHashMap、各种List,最好结合源码看)
    4. 并发和多线程(线程池、SYNC和Lock锁机制、线程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)
    5. JVM(内存模型、GC垃圾回收,包括分代,GC算法,收集器、类加载和双亲委派、JVM调优,内存泄漏和内存溢出)
    6. IO/NIO相关
    7. 反射和代理、异常、Java8相关、序列化
    8. 设计模式(常用的,jdk中有的)
    9. Web相关(servlet、cookie/session、Spring<AOP、IOC、MVC、事务、动态代理>、Mybatis、Tomcat、Hibernate等)
    10. 看jdk源码

二、项目经历

  • 这个每个人的项目不同,覆盖的技术也不一样,所以不能统一去说。
  • 这里的技巧呢,在下面也会详细说明。
  • 无非是找到自己项目中的亮点,简历上叙述的简练并且吸引眼球,同时自己要很熟悉这个点(毕竟可以提前准备)
  • 最好自己多练,就像有个剧本或者稿子一样,保证面试中可以很熟练通俗地讲出,并且让人听着很舒服。

三、实习经历

  • 这个很抱歉,因为我是找实习的经历,所以也没有实习经历的讲述经验。
  • 但我想如果你有实习经历,那面试过程的重点也会在实习做了什么上面,所以大家最好对实习所做的工作做一个总结,并且同样抓出亮点,搞懂内部原理,提前锻炼讲述的过程。

四、其他扩展技能(这个方方面面太多了,全部掌握基本上不可能,只是作为大家其他时间扩充技能的参考)

  • 分布式架构:(了解原理就行,如果真的有实践经验更好)
    • CAP原理和BASE理论。
    • Nosql与KV存储(redis,hbase,mongodb,memcached等)
    • 服务化理论(包括服务发现、治理等,zookeeper、etcd、springcloud微服务、)
    • 负载均衡(原理、cdn、一致性hash)
    • RPC框架(包括整体的一些框架理论,通信的netty,序列化协议thrift,protobuff等)
    • 消息队列(原理、kafka,activeMQ,rocketMQ)
    • 分布式存储系统(GFS、HDFS、fastDFS)、存储模型(skipList、LSM等)
    • 分布式事务、分布式锁等
  • 脚本语言:(只是作为横向扩充,一般问到linux也会问问shell脚本)
    • python
    • php
    • shell
    • golang
    • ...
  • 大数据与数据分析:
    • hadoop生态圈(hive、hbase、hdfs、zookeeper、storm、kafka)
    • spark体系
    • 语言:python、R、scala
    • 搜索引擎与技术
  • 机器学习算法:
    • 模型和算法很多。不细说了,如果很熟练就去投算法,国内很多公司都算法岗都很稀缺,其他岗可以大概了解下理论。
  • 其他工具的理论和使用:
    • 这个更多了,问的多的比如git、docker、maven/gradle、Jenkins等等,自己需要的话选择性地去学。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试题-面经及知识重点 的相关文章

  • 面试过程中应注意的问题与禁忌

    面试过程中应注意的问题与禁忌 一 面试中应注意的问题 应试者要想在面试答辩中获得成功 必须注意以下几个问题 一 淡化面试的成败意识 一位面试者在面试前自认为各方面都比别人优秀 因此 他认为自己可以高枕无忧了 谁知主考官在面试中出其不意 提了
  • 前端面试必备知识点总结(持续更新)

    这篇博客是对前端面试所必须掌握的知识点的总结 并且这篇博客正在持续更新中 面试复习 1 JavaScript 基础 1 执行上下文 作用域 闭包 1 什么是执行上下文 执行上下文是评估和执行JavaScript代码环境的抽象概念 每当Jav
  • 今日面试题-2022-2-7

    Java序列化 反序列化 Java序列化就是指将对象转换为字节序列的过程 反序列化是指将字节序列转换成目标对象的过程 什么情况需要Java序列化 当Java对象需要在网络上传输或者持久化存储到文件中时 序列化的实现 让类实现Serializ
  • 2021-07-19PHP面试笔试题记录

    1 执行以下代码 输出结果是 正确结果为 echo class b something 2 执行以下代码 输出结果是
  • Java面试题--shiro

    Shiro可以做哪些工作 Shiro可以帮助我们完成 认证 授权 加密 会话管理 与Web集成 缓存等 shiro有哪些组件 Authentication 身份认证 登录 验证用户是不是拥有相应的身份 Authorization 授权 即权
  • H5中写一个下拉框,点击下拉框内容会出现在文本域中

    朋友出去面试做的面试题 分享了下 我就拿来做做 原题 HTML中有个下拉框 包含 风 雨 雷 电 添加事件 当选择风时 文本域内出现选择
  • iOS面试题(2.类变量的@protected,@private,@public,@package声明各有什么含义)拓展:常用框架和第三方框架

    2 类变量的 protected private public package声明各有什么含义 private 作用范围只能在自身类 protected 作用范围在自身类和继承自己的子类 默认 public 作用范围最大 可以在任何地方被访
  • C——指针与数组名的区别

    昨天晚上做了一套企业面试题 第一题便是 数组名与指针的区别 做了才知道自己知之甚少 学长说像这样的题纸上那点地方是不够用的 而我们能写出来的仅仅是两三行而已 所以特地在网上搜了一下 指针和数组名的共同特点是都是用来指代一个地址的 不同的是
  • 多益视频面试

    多益面试 有一种怀疑人生的感觉 向老师 我对不起你 去年刚学的网络安全 我竟然没说出来加密算法的名字 也并不是题很难 而是简单的就是说不出来 写不出来 而难的也就是听过而已 问题 1 说一下什么是线程安全 线程安全的场景 线程安全就是确保程
  • uniapp部分面试题汇总

    1 谈谈你对uni app的理解 uni app是一个使用Vue js开发所有前端应用的框架 开发者编写一套代码 可以发布到IOS Android Web 响应式 以及各种小程序 快应用等多个平台 uniapp真正做到一套代码多端发行 支持
  • 为什么db是先写日志,而redis是后写日志

    预写式日志 Write Ahead Logging WAL 基本上所有的数据库都实现了这个WAL技术 来保证原子性和持久性 WAL的核心思想是 在数据写入到数据库之前 先写入到日志 这一定程度上也可以提高效率 因为不需要每次都和磁盘交互 可
  • Go语言面试题--基础语法(15)

    文章目录 1 下面代码中 x 已声明 y 没有声明 判断每条语句的对错 2 下面代码输出什么 3 下面代码输出什么 1 下面代码中 x 已声明 y 没有声明 判断每条语句的对错 x f x f x y f x y f 参考答案及解析 错 对
  • 2024年java面试--mysql(4)

    系列文章目录 2024年java面试 一 spring篇 2024年java面试 二 spring篇 2024年java面试 三 spring篇 2024年java面试 四 spring篇 2024年java面试 集合篇 2024年java
  • 程序员面试智力题集锦

    1 你让工人为你工作7天 给工人的回报是一根金条 金条平分成相连的7段 你必须在每天结束时给他们一段金条 如果只许你两次把金条弄断 你如何给你 的工人付费 参考答案 day1 给1 段 day2 让工人把1 段归还给2 段 day3 给1
  • 2021.11.30 面试题

    1 请你介绍一下map的分类和常见的情况 java为数据结构中的映射定义了一个接口java util Map 它有四个实现类 分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对
  • Vue中props组件和slot标签的区别

    在 Vue 中 props 和 slot 都是组件之间进行通信的机制 它们的作用和应用场景有一些区别 props 是一种组件的数据传递机制 通过在父组件中以属性的形式向子组件传递数据 子组件接收这些数据 并可以进行相应的处理和渲染 prop
  • 《剑指offer》系列---2

    1 求斐波那契数列的第N项 这个题目很简单 讲递归的书上都是用这个来讲的 但是面试的时候 如果你写个递归 那估计会让人失望的 因为递归的效率真是一个问题 你可以测试一下 输入50 基本上得到结果的时间 够你去喝杯茶了 include
  • 微信小程序面试题大全

    1 简述微信小程序的相关文件类型 WXML 搭建页面的结构 WXSS 页面样式文件 js 逻辑处理 网络请求 json 配置当前页面标题和引入组件等 app js 可以在里边监听生命周期函数 声明全局变量 app json 小程序的全局配置
  • 面试题:偏向锁的十连问,你能接住几个?

    文章目录 前言 名词解释 问题解析 问题1 如何判断当前锁对象为偏向锁 问题2 偏向锁如何判断锁重入 问题3 符合什么条件才会尝试获取偏向锁 问题4 线程进入偏向锁后 会不会创建lock record 问题5 偏向锁膨胀后
  • 面试题:偏向锁的十连问,你能接住几个?

    文章目录 前言 名词解释 问题解析 问题1 如何判断当前锁对象为偏向锁 问题2 偏向锁如何判断锁重入 问题3 符合什么条件才会尝试获取偏向锁 问题4 线程进入偏向锁后 会不会创建lock record 问题5 偏向锁膨胀后

随机推荐

  • vue路由监听失效

    场景 vue 2 6 10 vue router 3 0 2 写法一 watch route to from debugger 亲测 监听失效 写法二 watch route handler function val oldVal cons
  • 前、中、后缀表达式及其转换

    文章目录 一 前缀表达式 1 1 定义 1 2 求值 二 中缀表达式 2 1 定义 2 2 求值 三 后缀表达式 3 1 定义 3 2 求值 四 转换 4 1 中缀表达式转后缀表达式 4 2 中缀表达式转前缀表达式 一 前缀表达式 1 1
  • 多种子区域生长的图像分割

    基于多种子区域生长的图像分割 区域生长原理 步骤 理论基础 matlab代码 区域生长原理 步骤 1 选取区域生长的起始点 种子 2 确定区域生长的规则 3 确定结束生长的条件 4 寻找符合生长条件的点 纳入生长区域 5 以新纳入的点作为种
  • 前端--HTML

    文章目录 HTML结构 快速生成代码框架 HTML常见标签 表格标签 编写简历信息 填写简历信息 Emmet 快捷键 HTML 特殊字符 一 HTML结构 1 认识HTML标签 HTML 代码是由 标签 构成的 形如 hello 标签名 b
  • idea:spring框架的@Resource注解爆红解决方法

    idea spring框架的 Resource注解爆红的解决方法 如图所示 只需在pom xml中加入以下依赖 maven的中央仓库该依赖
  • sqlserver中分区函数 partition by的用法

    partition by关键字是分析性函数的一部分 它和聚合函数不同的地方在于它能返回一个分组中的多条记录 而聚合函数一般只有一条反映统计值的记录 partition by用于给结果集分组 如果没有指定那么它把整个结果集作为一个分组 cre
  • vue-pure-admin项目的学习

    前言 感谢作者的开源 让我们有机会学习 项目地址 vue pure admin 只是记录自己的学习 有问题地方感谢指正 只会记录一些自己目前感觉有用的知识点 代码demo都是基于vue3 ts element plus 目录结构 src a
  • 初步判断,学ue4的捷径就是先学好unity

    这两天 看Unity 发现和ue4都是组件式编程 基本上如出一辙 只是Unity更简单些 资料丰富些 学Ue4 是c 的问题么 我认为是游戏理念的问题 不懂游戏 更不会用组件式引擎写游戏 即 不懂业务 只能写slate 好比 学会c 了就会
  • 【翻译ver】LesaNet论文阅读(CVPR2019)——医学影像

    Holistic and Comprehensive Annotation of Clinically Signi cant Findings on Diverse CT Images Learning from Radiology Rep
  • getchar函数输入与缓冲区

    文章目录 目录 文章目录 前言 一 1 缓冲区是什么 2 为什么要有缓冲区 二 1 getchar函数与缓冲区 2 getchar清理缓存区 总结 前言 介绍了解getchar函数及其在缓冲区中的应用 一 1 缓冲区是什么 缓冲区又称为缓存
  • react+vite+ts+antdesign项目搭建-20220802

    react vite ts antdesign项目搭建 可同时参考vue3 vite ts Elementplus项目搭建 20220802 目录 react vite ts antdesign项目搭建 可同时参考vue3 vite ts
  • unity创建脚本生成头部注释( 作 者,文件路径,创建日期,功能描述)

    像这样 region HeadComments Copyright C YEAR DEVELOPERS 作 者 AUTHOR 文件路径 FILEPATH 创建日期 CREATIONDATE 功能描述 endregion using Unit
  • Linux下删除文件名中包含特殊字符的文件

    Linux下删除文件名中包含特殊字符的文件 在windows下不管什么文件名的文件delete一下全废掉 再顽固的用第三方软件粉碎一下就ok 在linux命令行下就不一样了 rm命令时常删除不掉拥有千奇百怪的文件名 特殊字符 超长字符 各种
  • 结合promise与websocket的发布/订阅模式实践

    结合promise与websocket的发布 订阅模式实践 本文初衷 最近恰好在公司做了一个聊天室系统 所以在系统中做了一下对websocket进行的promise化改造 所以想写篇文章总结一下 如果大家有什么更好的方法或者心得感悟 欢迎交
  • 鸿蒙3.0怎么升级,升级鸿蒙OS3.0机型曝光!大哥,你是认真的吗?

    鸿蒙OS系统 可真是 千呼万唤始出来 啊 自2017年华为开始研发鸿蒙内核1 0 2018年进展至鸿蒙内核2 0 2019年正式推出了鸿蒙OS1 0系统 并在发布会上预计2021年发布鸿蒙OS3 0系统 虽然在开发者大会上 华为宣布在智能手
  • notepad++ 如何以16进制比较两个文件

    Notepad 不支持直接以十六进制比较两个文件 但你可以通过使用插件来实现这个功能 以下是使用 Compare Plugin 插件进行文件比较的步骤 安装 Compare Plugin 插件 打开 Notepad 点击菜单栏的 插件 Pl
  • 如何在Java中使用protobufjava进行protobuf生成器编写

    作者 禅与计算机程序设计艺术 最近随着微服务架构的流行 越来越多的人选择了基于RPC框架 比如dubbo springcloud 实现服务之间的通信 而这些RPC框架默认使用的协议则是基于Google的Protocol Buffers 简称
  • 几种优化(求最优解)算法的比较

    遗传算法 优点是能很好的处理约束 能很好的跳出局部最优 最终得到全局最优解 全局搜索能力强 缺点是收敛较慢 局部搜索能力较弱 运行时间长 且容易受参数的影响 遗传算法适合求解离散问题 具备数学理论支持 但是存在着汉明悬崖等问题 模拟退火 优
  • ChatGPT与人类情感理解的挑战:解读复杂的情绪和态度

    导言 人类情感是复杂而多变的 涉及各种情绪 态度和情感表达方式 对于机器来说 理解和解读人类情感是一项具有挑战性的任务 然而 随着自然语言处理技术的进步 像ChatGPT这样的模型逐渐能够参与人类情感的解读和理解 本文将探讨ChatGPT在
  • 面试题-面经及知识重点

    1 葵花宝典 https blog csdn net jackfrued article details 44921941 1 面试整理 http www jfox info gao shou zheng zheng li java che