1关于语言,主要java,node,python,c++只是了解
2面向对象的理解,说下他的思想,分析设计,说下面向对象存在的问题,与面向过程相比,面向对象有哪些优点
面向过程
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低
3java中访问修饰关键字以及修饰范围
4类的实例化过程、要求说仔细
类的加载----分配内存-----对象初始化----父类static,子类static,父类普通变量----子类普通变量,,父类构造函数,,子类构造函数
5http的过程,服务端会返回给客户端什么信息,http1和http2的区别
建立一次链接,处理的请求的个数,安全性
二进制传输
http2采用二进制传输,相较于文本传输的http1来说更加安全可靠。
多路复用
http1一个连接只能提交一个请求,而http2可以同时处理无数个请求,可以降低连接的占用数量,进一步提升网络的吞吐量
状态行http 500 no,状态头:,响应体
6算法题:两个单链表交叉在一起,形成y字形,求相交的第一个节点
同时遍历两个链表到尾部,同时记录两个链表的长度。若两个链表最后的一个节点相同,则两个链表相交。
有两个链表的长度后,我们就可以知道哪个链表长,设较长的链表长度为len1,短的链表长度为len2。
则先让较长的链表向后移动(len1-len2)个长度。然后开始从当前位置同时遍历两个链表,当遍历到的链表的节点相同时,则这个节点就是第一个相交的节点。