一、计算机网络

1.OSI参考五层模型

2.TCP和UDP的区别(UDP和TCP详细结构)

UDP首部(8字节)包含四个部分:源端口、目的端口、长度、校验和

TCP首部(20字节)包含:源端口、目的端口、序号、确认序号、窗口

3.详细介绍一下DNS

3.1域名的层次结构

我的秋招遇见的面试问题整理

3.2DNS域名查询举例

我的秋招遇见的面试问题整理

4.三次握手和四次挥手

5.浏览器输入URL之后到显示主页的整个过程

我的秋招遇见的面试问题整理

 

二、数据库

1.数据库优化

数据库优化的层次:硬件、系统配置、数据库、SQL优化

或IO磁盘读写、网络传输

2.B+数和页分裂

3.一棵B+数可以存储千万行数据的原因

4.数据库索引

5.主从复制原理

 

三、JAVA基础

1.重载和重写区别

2.接口和抽象区别

3.Collection和Collections区别

4.数组和链表的区别

5.HashMap相关问题

6.ConcurrentHashmap

 

四、JAVA多线程

1.Synchronized同步关键字,作用域、实现原理

2.Volatile关键字

3.线程池

4.原子类操作

实现原理:CAS+volatile和native方法来保证原子性操作

5.AQS实现原理

 

五、JVM

1.类加载的过程

2.JVM运行时数据区

我的秋招遇见的面试问题整理

3.自动垃圾回收

4.JVM优化

 

六、JAVA网络编程

1.BIO、NIO、AIO

2.select、poll、epoll

3.socket

 

七、算法

 

链表

1.求链表中倒数第K个节点

public static ListNode  KthTail(ListNode head,int k){
     ListNode fast=head;
     ListNode slow=head;


     if(head==null||k<=0)
         return null;
     for (int i=1;i<k;i++){
         if(fast.getNext()!=null){
             fast=fast.getNext();


         }else{
             return null;
         }
     }


     while(fast.getNext()!=null){
         slow=slow.getNext();
         fast=fast.getNext();
     }


     return slow;

2.链表反转

public static void reverseListNode(ListNode head){
    //链表的反转
    ListNode pre=null;
    ListNode curr=head;


    while(curr!=null){
        //往下走一步
       head=head.getNext();
       curr.setNext(pre);
       pre=curr;
       curr=head;
    }
}

 

 

 

相关文章: