毕业找工作准备
基本已经确定毕业了,目前已经拿到两个上海的offer,但是因为疫情加上毕业这段时间思想的变换,发现还是工作离家近的地方合适,于是乎就重新找北京和天津的工作,此博客用于记录找北京计算机的工作,毕竟北京消费高,还是找一个计算机的工作可以养活自己。
java
1.接口与抽象类的区别?
一个类只能继承一个抽象类,但可以实现多个接口
抽象类可以有构造器,但接口不能有构造器
抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的
抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的
抽象类中的变量的访问类型可以任意,但接口中定义的变量只能是public static final类型
2.重写和重载的区别
重载方法名相同,参数不同,个数,类型都可以不同,方法返回值也可以不一样,发生在编译时
重写子类重写父类 方法名和参数都需要相同 返回值范围可以小于等于父类 抛出异常时,子类小于等于父类 访问修饰符需要大于父类 如果父类是private,则子类不能重写。
3.多态是什么
接口的多种实现方法即多态。
4.全局变量和局部变量的区别
5.http和https的区别
https是在http上添加了SSL加密,对浏览器和服务器之间的通信进行了加密 https比http更安全
区别 https加密传输,http明文传输 端口不同,http端口80 https443 http是无状态的链接 https是由http和ssl构成的,可加密。
6.post和get的区别
7.TCP和UDP的区别
8.String 是不可变的,Stringbuilder线程不安全 String buffer 线程安全的
9.equal 与== equal是比较值是否相等,而==是比较内存地址,引用是否相同
10.排序
//冒泡排序 for(int i=1;i<length;i++) { for(int j=0;j<lenght-i;j++) { if(arr[j]>arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=arr[j]; } } }
//选择排序 int min=0; for(int i=0;i<length-1;i++) {
min=i;
for(int j=i+1;j<lenght;j++) {
if(arr[j]<arr[min]) {
min=j;
}
}
if(min!=i)
{ int temp=arr[i]; arr[i]=arr[min]; arr[min]=arr[i];
}
}
//快速排序
public static void sort( int arr[];int begin;int end) { while(begin<end) { int low=begin; int i=begin; int j=end; while(i<j) { while(i<j&&arr[j]>arr[low]) { j--; } arr[i]=arr[j]; while(arr[i]<=arr[low]) { i++; } arr[j]=arr[i]; } arr[i]=arr[low]; sort(arr,begin,i-1); sort(arr,i+1,end); } }
总结:不稳定的排序:堆排序,快速排序,希尔排序,选择排序。
稳定的排序:冒泡排序,插入排序,归并排序,基数排序。