Java面试清单和书籍推荐

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接和本声明。
本文连接: http://www.javashuo.com/article/p-ozwlkfgx-cm.html

前言

面试必备技能清单,这里不会详细论述,更多的是清单列举,罗列一些关键字和连接注释。php

数据结构与算法

Java

  • Java 基础部分

  • Java 集合框架
    • ArrayList 与 LinkedList
    • Hashtable、Hashmap 与 ConcurrentHashmap
  • Java 并发编程
    • 线程状态
      • 新建、可运行(运行和就绪)、阻塞、无限期等待、限期等待、死亡
    • 实现线程三种方式(继承Thread,实现 Runnable 接口,实现 Callable 接口)
    • 并发两个关键问题
      • 线程通讯
      • 线程同步
    • volatile 和 synchronized
    • lock 和 synchronized
    • Java内存模型(JMM),解决并发中的可见性,原子性,有序性问题
  • Java IO
    • 序列化
    • AIO、BIO、NIO
  • Java 虚拟机
    • 运行时数据区
    •  
  • Java 设计模式
    • 单例模式
    • 工厂模式

Java Web

  • Spring
    • IOC
    • AOP
    • DI
  • SpringMVC
    • 执行流程
  • MyBatis

数据库

  • 存储引擎程序员

    • MyISAM(表级锁,不支持事务,全文索引,只读应用)
      • .frm / .myd / .myi
      • 非汇集索引
    • InnoDB(行级锁,最大支持并发,事务,表更新和查询都至关的频繁)
      • .frm / .ibd
      • 汇集索引,以主键为索引来组织数据
  • 索引(衡量标准:IO渐进复杂度)github

    • Hash(冲突,没法作范围查询)
    • FullText(全文搜索,优化:前缀索引)
    • R-Tree(空间索引,附近三千米的数据怎么查询)
    • B+ Tree(B Tree:每一个key、data信息存在结点,B+ Tree存在叶子节点)
  • 哪些状况下不会使用索引面试

    • 全表扫描更快
    • 条件中有or
    • 不是复合索引的第一部分
    • like以%开始
  • 隔离级别正则表达式

    • 串行化
    • 可重复读
    • 读已提交
    • 读未提交
  • Redis 数据类型算法

    • String:字符串
    • Hash:字典
    • List:链表
    • Set:集合
    • Sorted Set:有序集合

操做系统

  • 进程和线程的区别thinkphp

    • 资源、调度、开销、通讯 4个方面来对比
  • 线程间通讯

    • synchronized
    • while轮询
    • wait() / notify()
    • 管道
  • 进程通讯

    • 直接通讯
    • 间接通讯

计算机网络

  • 应用层

    • HTTP请求和响应报文
  • 传输层

    • 为何三次握手,两次不行吗
    • 四次挥手 TimeWait 做用
    • TCP可靠传输

分布式

  • 分布式通讯协议

    • http
    • https
    • RESTful API
  • 分布式锁

项目

  • 扫码登陆原理

  • Cookie 和 Session 的原理

  • 单点登陆

  • 参考资料

 

 

1、数据结构与算法

包含数据结构与算法两部分。

📚阅读清单

📺学习课程

2、Java

包含 Java 核心知识和 Java Web 框架。

📚阅读清单

📺学习课程

  • 【廖雪峰】Java教程
  • 【龙果学院】Java并发编程原理与实战
  • 【龙果学院】深刻理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)
  • 【慕课网】Java零基础入门
  • 【尚学堂】白鹤翔_jvm虚拟机优化
  • 【网易云课堂】Java开发工程师(Web方向)翁凯
  • 【慕课网】Spring Cloud微服务实战_廖师兄
  • 【黑马程序员】SSH框架_王泽
  • 【黑马程序员】SpringMVC+Mybatis
  • 【牛客网】初中高Python+Java项目实战_叶神

3、Web Server

  • 【网易云课堂】thinkphp5开发restful-api接口

4、面向对象

5、数据库

📚阅读清单

  • 《高性能MySQL》
  • 《Redis实战》

📺学习课程

  • 【慕课网】MySQL性能管理及架构设计
  • 【慕课网】Redis从入门到高可用,分布式实践

6、操做系统

📚阅读清单

  • 《Linux+C程序设计大全》
  • 《快乐的Linux命令行》
  • 《深刻理解计算机系统》
  • 《UNIX环境高级编程》
  • 《Linux+高性能服务器编程》

📺学习课程

7、计算机网络

📚阅读清单

  • 《图解HTTP》
  • 《计算机网络原理创新教程》韩立刚主编

📺学习课程

  • 【51CTO】韩老师-计算机网络原理-156讲
  • 【慕课网】HTTP协议原理+实践 Web开发工程师必学

8、系统架构

📚阅读清单

📺学习课程

  • 【慕课网】Nginx从入门到实践
  • 【咕泡学院】架构师系列课程

9、面试

  • 【慕课网】360大牛全面解读PHP面试

  • 【慕课网】Google面试官亲授 升级Java面试

10、机器学习

📚阅读清单

  • 《机器学习实战》

📺学习课程

  • 【慕课网】Python3入门机器学习 经典算法与应用
  • 【莫烦Python】机器学习系列

11、工具

📺学习课程

相关文章
相关标签/搜索