【2019春招准备:总目录】

面向岗位及其优先级:java后端>大数据开发>前端

项目 链接
A1 学院二手交易市场
A2 sprintboot博客系统
A3 springcloud微服务治理
B1 storm热力统计
5 文本搜索引擎
6 视频数据库
java后台 考点 链接 备注(公司、年份)
0 什么是面试——google校招命题组成员
1 线程池、线程池参数 https://blog.csdn.net/qq_33907408/article/details/84479261 滴滴java开发实习-2018.11
2 final关键字 见下 百度一面(基础面)-2018.11
3 equals && hashcode 见下
4 jvm - java编译器 - java解释器 https://blog.csdn.net/qq_33907408/article/details/84492321
5 集合框架之map https://blog.csdn.net/qq_33907408/article/details/84501557
6 集合框架之list https://blog.csdn.net/qq_33907408/article/details/84529769
7 集合框架之set
8 排序 https://blog.csdn.net/qq_33907408/article/details/84529714
9 算法进阶 https://blog.csdn.net/qq_33907408/article/details/84539696
10 数据库综合 https://blog.csdn.net/qq_33907408/article/details/84578578 索引:招银2018.11(java1面)
11 24个常见设计模式 https://blog.csdn.net/qq_33907408/article/details/84670640
12 atomic原子类操作 https://blog.csdn.net/qq_33907408/article/details/84712530
13 线程安全的Collection底层实现 https://blog.csdn.net/qq_33907408/article/details/84781546 2018.12 百度1面
14 synchronized和lock的底层实现 https://blog.csdn.net/qq_33907408/article/details/84797056 百度2018.12
15 redis相关 https://blog.csdn.net/qq_33907408/article/details/84798649
16 tcp https://blog.csdn.net/qq_33907408/article/details/84845546 苏宁java后台补招1面 2018.12
17 sql https://blog.csdn.net/qq_33907408/article/details/84900008
18 字符串 https://mp.csdn.net/mdeditor/84899018
19 linux操作 https://blog.csdn.net/qq_33907408/article/details/84932705
20 spring https://blog.csdn.net/qq_33907408/article/details/84979718 百度java
21 http https://blog.csdn.net/qq_33907408/article/details/85209672
22 线程生命周期 https://blog.csdn.net/qq_33907408/article/details/85223544
23 并发编程和高并发总结 https://blog.csdn.net/qq_33907408/article/details/85338922
24 测试test https://blog.csdn.net/qq_33907408/article/details/85563984
25 分布式 https://blog.csdn.net/qq_33907408/article/details/86524856
26 object九大方法
27 枚举类型Enum https://blog.csdn.net/qq_33907408/article/details/87900022
28 反射 https://blog.csdn.net/qq_33907408/article/details/86775079
大数据开发 考点 链接 备注(公司、年份)
101 scala闭包
102 hadoop集群搭建配置,常见参数含义 https://blog.csdn.net/qq_33907408/article/details/85157931
103 高可用集群搭建HA https://blog.csdn.net/qq_33907408/article/details/85163637
104 Zookeeper(和keepAlived) https://blog.csdn.net/qq_33907408/article/details/85171275
105 Kafka https://blog.csdn.net/qq_33907408/article/details/85202666
106 storm(1) https://blog.csdn.net/qq_33907408/article/details/85239121
107 storm(2) https://blog.csdn.net/qq_33907408/article/details/85239900
108 storm(3) https://blog.csdn.net/qq_33907408/article/details/85260888
108 数据倾斜
【常考的面试算法题】 考点 链接 备注
201 topK
202 青蛙跳台阶
203 二叉树的非递归遍历
204 生产者和消费者问题
205 DP动态规划
  1. final关键字:(jdk5)
  • final修饰的常量,通常全体大写,可以通过类名直接调用。因为是final常量,除了调用的时候需要书写类名,其他时候和类没有关系,即就算类里面有静态代码块,也不会执行。这是因为在编译的时候已经处理好的。
  • final修饰的变量:
    如果是基本数据类型(byte short int long float double char boolean)一旦创建不能修改;
    如果是引用数据类型(除了该8种以外的所有)引用不可以改变,就是说引用的对象不能指向新的对象,但是已经指向的对象内容可以修改;
  • final修饰的方法:不可以被修改重写或者覆盖。子类不能重写但是可以重载,将父类的final方法定义为private,在子类的时候没有这个方法,重新定义一个同名的方法就可以了。很多inline函数往往都是final修饰。
  • final修饰的类:不可以被继承。
  • 好处:能够提高JVM性能,多线程安全。(保证安全创建,因为有可能在创建的时候其它线程已经用到这个引用)
  1. equals hashcode
    java所有的对象都有equals,hashcode方法:
    object:初始的时候和==完全一样,如果要实现具体不同类的equals,需要重写。
    而最原始的 ==:基本类型直接比较大小,引用类型比较地址。
public boolean equals(Object obj) {
        return (this == obj);
    }

String的equals可以作为重写的典范:

public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }//先判别地址是否相同
        if (anObject instanceof String) {//比较类别
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {//比较长度
            		//转换成字符数组,逐个比较
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

hashcode:int
object:其中的native关键字表示,这个函数的实现并不是java写的(c++这一套都放在了dll里面):

“A native method is a Java method whose implementation is provided by non-java code.”

   public native int hashCode();

你可能感兴趣的:(面试,Java)