面试常问的事情与题目

2023-05-16

随便给份工作我吧
提示:面试多总结一下经验,抓重点,而不是什么都想准备好
其实自己就是一个菜狗,备考了半年,什么鸡儿都忘记了,从零开始


文章目录

  • 前言
  • 一、基本流程大概
  • 二、待定
    • 1.设计模式
    • 2.读入数据
  • 总结


前言

写给自己看当笔记

一、基本流程大概

1、自我介绍:
说话是淡定点,看着HR,管他一脸严肃还是面带笑容。

2、设定好自己的经历

3、表诚信,诚心,当然技术不行并没有什么乱用。

可能被问到的问题

1、软件开发的基本流程

非软件公司
需求分析-概要设计-程序编码-程序测试-软件交付-客户验收-码农维护

软件公司
需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护
后续可以项目重开 如ssH -> springboot
需求分析
一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计
参考:详细链接
2、一些常用的算法
折半查找:

//1、要查找,那就要有范围 int[] arr,和查找的目标 key
//2、左中右3个指针 low high middle  先判断一下
//3、搞个循环 一直的换middle这个指针作比较  注意一下返回
public static int commonBinarySearch(int[] arr,int key){
		int low = 0;
		int high = arr.length - 1;
		int middle = 0;			//定义middle
		
		if(key < arr[low] || key > arr[high] || low > high){
			return -1;				
		}
		
		while(low <= high){
			middle = (low + high) / 2;
			if(arr[middle] > key){
				//比关键字大则关键字在左区域
				high = middle - 1;
			}else if(arr[middle] < key){
				//比关键字小则关键字在右区域
				low = middle + 1;
			}else{
				return middle;
			}
		}
		
		return -1;		//最后仍然没有找到,则返回-1
	}

递归的:
public static int binSearch(int[] arr, int start, int end, int key) {
 
		if (start > end || arr[start] > key || arr[end] < key)
			return -1;
 
		//求两个int数的和防止溢出  就是字面的 与 异或 位移
		int midIndex = (start & end) + ((start ^ end) >> 1);
 
		if (arr[midIndex] == key)
			return midIndex;
 
		if (arr[midIndex] > key) {
			return binSearch(arr, 0, midIndex - 1, key);
		}
 
		return binSearch(arr, midIndex + 1, end, key);
	}

冒泡排序:
每次右边(上限)预留 0 ,1,2,3.。。n-1 完结 j不断变少

public static myBubbleSort(int arr[]){
    int temp=0;   
    for(int i=0;i<arr.lenght-1;i++){
        //点解 -i 排完一次上面就占了一个位置指针左移
        for(int j=0;j<arr.lenght-1-i;j++){//没i 的事
           if(arr[j]>arr[j+1]){
             temp=arr[j];
             arr[j]=arr[j+1];
             arr[j+1]=temp;
           }          
        }
    } 
}

快速排序:

/*
 * 快速排序
 * 思路:
 * 1.需要形参有开头start和结尾end
 * 2.如果start < end就递归自己
 * 3.把下标为0(也可以是其他下标)的值设为标准值 
 * 把开头和结束分别设置为低位(low)和高位(high)
 * 4.当low<high时循环执行
 *  1.(low<high时)高位的值大于标准值,把高位减一位,直到小于时把当前高位的值赋值给低位
 *  2.(low<high时)低位的值小于标准值,把低位减一位,直到大于时把当前低位的值赋值给高位
 * 5.执行完后此时的高位和低位相等,把标准值赋值给低位or高位的值   
 * (low<high时)保证高位一定等于低位出循环
 * 6.此时的数组分为(low右边)大于标准值和(low左边)小于标准值    
 * 然后分两边递归调用自己  
 * 7.直到start >= end(low >= high)不会递归下去
 */
public class QuickSort {
    public static void main(String[] args) {
        int arr[]={9,9,3,5,3,1,2,7,8,3,6};
        System.out.println(Arrays.toString(arr));     
        quickSort(arr,0,arr.length-1);
        System.out.println(Arrays.toString(arr));
    }
    public static void quickSort(int arr[],int start,int end){
        if(start < end){
            int low = start;
            int high = end;
            int standard = arr[low];//标志  副本
            while(low < high){
                while(low < high && standard <= arr[high])
                    high--;
                if(low < high){
                    arr[low++] = arr[high];
                }
                while(low < high && standard >= arr[low])
                    low++;
                if(low < high) {
                    arr[high--] = arr[low];
                }
            }
            //排序后会有两个相同值出现 然后下一步
            arr[low] = standard;   //最后再次待入 副本   low指针和high指针重叠
            quickSort(arr, start, low - 1);  //递归切块  将原数组再次拆分成 一个个小的数组  start<end为递归借宿条件
            quickSort(arr, low + 1, end);
        }
    }
}

二、待定

1.设计模式

单例模式:写个双重检验吧!

public Class Singleton{
   public static volatile Singleton instance=null;
   public singleton(){}
   public static Singleton getInstacnce(){
      if(single==null){
         synchroniced (Singleton.class){
             if(single==null){
                instance=new Singleton();
             }
          }
      }
      return instance;
   }
   }

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试常问的事情与题目 的相关文章

随机推荐