华为JAVA校招面试问题收集整理(含研发+OD)

八股

  1. 接口和抽象类的区别;
  2. TCP\UDP区别;
  3. 查询语句,where和having有什么不同
  4. 连表查询时“where”+“=”与“join”的区别
  5. ssl过程;
  6. 三次握手四次挥手;
  7. 多进程与多线程;
  8. xss攻击如何防止;
  9. SQL注入;
  10. CSRF:跨站请求伪造
  11. Linux查看端口命令
  • 查看所有正在使用中的端口: netstat -anp
  • 查看某个特定端口是否被占用: netstat -anp | grep :端口号
  • 查看某个特定端口的占用情况: lsof -i :端口号
  1. Linux如何查看当前目录最后修改的文件
    ——find命令,比如单位mmin(分钟),+号表示多少分钟前,-号表示多少分钟内,如:
    find /home/ -type f -mmin -1 一分钟内
    find /home/ -type f -mmin +1 一分钟前
  2. 值传递会不会改变原来的变量(深、浅、引用拷贝);
  3. socket的具体步骤;
  4. 说一下MVCC
  5. 说一下AQS,有哪些类
  6. JVM:类加载机制、双亲委派、栈溢出异常和OOM产生的情况;
  7. 对GPT模型有没有了解;
  8. 锁的原理
  9. springboot自动装配过程

算法题

  1. 算法基础:常见的排序算法、bfs、dfs遍历;
  2. 算法题-并查集;