面试题总结3

1.integer 和 int 的区别

1.integer是int提供的封装类,而int是java的基本数据类型;
	
2.integer默认值是null,而int默认值是0
	
3.声明integer的变量需要实例化,而声明为int的变量不需要实例化
	
4.integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值

2.Strings = new String('xyz');创建了几个字符串对象?  

这个产生了2个对象,一个是new关键字创建的new Sring();另一个是'xyz'对象,abc在一个字符串池中s这个对象指向这个串池 

3.举例说明同步和异步? 

	同步执行:一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行
	
	异步执行:一个进程在执行某个任务时,另外一个进程无需等待其执行完毕,就可以继续执行,当有消息返回时,系统会通知后者进行处理,这样可以提高执行效率
	
	eg:打电话就是同步通信,发短信就是异步通信

4.阐述JDBC操作数据库的步骤?  

1.加载(注册)数据库驱动(到JVM)
2.建立(获取)数据库连接
3.创建(获取)数据库操作对象
4.定义操作的sql语句
5.执行数据库操作
6.获取并操作结果集
7.关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接)

5.用java写一个冒泡程序 

import java.util.Arrays;

public class BubbleSort{
    public static void BubbleSort(int[]arr){
        int temp; //定义一个临时变量
        for (int i=0;i<arr.length-1;i++){//冒泡趟数
            for(int j=0;j<arr.length-i-1;j++){
                if(arr[j+1]<arr[j]){
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        
        }
    }
    public static void main(String[]args){
        int arr[] = new int[]{1,6,2,2,5};
        BubbleSort.BubbleSort(arr);
System.out.println(Arrays.toString(arr));
    }
}
import random

def bubble_sort(li):
    for i in range(len(li) - 1):                # i 趟
        for j in range(len(li) - i -1):         # j 指针
            if li[j] > li[j+1]:
                li[j],li[j+1] = li[j+1],li[j]
    return li

li = list(range(10))
random.shuffle(li)
obj = bubble_sort(li)
print(obj)
python实现冒泡排序

 

6.如何解决跨域问题?(至少写出一种)

        1.同源策略
	2.jsonp
	3.动态创建JavaScript    

7.前端优化方案有那些(至少写出三条)  

常用的优化有两部分:
	第一:面向内容的优化
	1.减少http的请求
	2.减少DNS查找
	3.避免重定向
	4.使用Ajax缓存
	5.延迟载入组件
	6.预先载入组件
	7.减少DOM元素数量
	8.切分组件到多个域
	9.最小化iframe的数量
	10.不要出现http 404错误
	
	第二:面向seever
	1.缩小Cookie
	2.针对Web组件使用域名无关性

8.是否接触过Vue,Ng,React这些框架,为什么这些框架会变成目前的主流,可选择其中一种阐述其优势,如无了解则阐述一个你使用过得框架 

这些框架的变成现在的主流得益于现在手机设备的普及和性能的提升,移动端的web需求量大大增加
	
	Vue通过简单的API(应用程序编程接口)提供高效的数据源绑定很灵活的组件系统
	Vue的特性:
		1.轻量级的框架
		2.双向数据绑定
		3.指令
		4.插件化
	Vue的优点:
		1.简单:官方文档很清晰,要比Angular简单易学
		2.快速:异步批处理方式更新DOM
		3.组合:用解耦的,可服用的组件组合你的应用程序
		4.紧凑:~18kb min+gzip,且无依赖
		5.强大:表达式 & 无需声明依赖的可推导属性
		6.对安装模块较友好
		
	Vue的缺点:
		1.vue.js是一个新项目,没有angular那么成熟
		2.影响度暂时不是很大
		3.不支持IE8

9.js调试代码的方式有哪些?如何调用HTML?  

        1.在chrome中打开开发者工具,也可以f12打开
	2.找到一个叫'Sources'点击它
	3.可以在左侧策兰的序号那些位置点击一下就设置成断点,当你执行某个函数的时候浏览器会自动进入调试模式    

  

 

 

 

 

posted @ 2018-02-25 17:08  NeitherCandidate  阅读(293)  评论(0)    收藏  举报