zoukankan      html  css  js  c++  java
  • 面试题目

    1、用最有效的方法计算2乘以8

    2<<3

    2乘以8等价于2左移3位,因为cpu对于位运算是最支持,最有效的。

    2、设计一个一百亿级别的计算器

    考察点:

    java中基本类型是有范围的,byte:-128到127 如果不考虑类型提升,以8位的二进制形式进行计算,进位超出的部分将会被舍去

    short:-2的15次方到2的15次方-1

    int:-2的31次方到2的31次方-1

    long:-2的63次方到2的63次方-1

    所以不考虑long类型的话 如果运用常规的方式进行加减乘以 是很难的

    可以设计一个类来表示大数(一百亿级别的数),两个属性:一个int 类型表示符号 一个byte[]数组类型来表示数值的二进制数 构造方法是根据传入的字符串 输出对应的大数类对象 再添加关于大数类对象加减乘除的函数和重写toString方法输出换算成10进制的数的字符串

    3、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

    引用变量被final修饰之后,虽然不能再指向其他对象,但是它指向的对象的内容是可变的。

    4、== 和.equal有什么区别

    ==是用于判断两个变量是否相等 也是比较变量所对应的内存中所对应存储的值是否相等 如果要比较基本类型是否相等 或者 两个引用变量是否相等只能用==

    如果当前变量指向的数据是对象类型 那么变量的内存地址 和 对象本身的内存地址是不一样的 变量保存的是指向对象的内存首地址

    .equal是比较对象内存中存储的内容是否相同 注意Object的类中的euqal方法等价于== 所以有时候要根据需求进行重写

    5、静态变量和实例变量的区别

      调用区别:类名.变量名 对象名.变量名

      程序运行区别:静态变量属于类 实例变量属于对象 所以静态变量 在程序运行时进行类加载的时候就将静态变量分配了空间 而实例变量要等到对象实例化才可以分配空间

    6是否可以从一个static方法内部发出对非static方法的调用?

    不能。因为非static方法属于对象,必须通过创建对象后,才能在该对象上进行方法调用。而static不需要调用时候不需要创建对象,可以直接调用。也就是说当static的方法被调用时候可能还没有创建任何实例对象,如果从static方法中调用非static的方法,无法确定当前关联对象,逻辑上是不合理的。

    7、int是java提供的8种基本数据类型 Integer是对应的封装类 int的默认值为0 Integer的默认是为null Integer适合WEB层的表单数据类型 因为null时候显示空白字符串 可以区别没有赋值和赋值为0的情况

    8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?12 -11

    ceil天花板表示 接近于参数的最小整数

    floor地板 表示最接近于参数的最大整数

    round大约 对于参数进行四舍五入 算法Math.floor(x+0.5)

    9、做出当前作用域public private protected 以及不写时的区别 

    10、Overload和Override的区别。Overload是否可以改变返回的类型

     Override时重写 重写是对父类的扩充 在继承父类的同时 也添加了自己的方法 增强了代码的复用性。

        语法:子类中出现与父类中方法参数列表 名称相同的方法

            

    11、构造器Constructor是否可以被覆盖

    12、接口是否可以继承接口 抽象类是否可以实现接口 抽象类是否可继承具体类 抽象类种是否可以有静态的main方法

    13

    12、

      

  • 相关阅读:
    Bootstrap
    格式化字符串
    闭包函数与装饰器
    正则表达式
    jQuery
    分布式-锁-1.1 多线程锁无法满足的场景
    effective python 读书笔记-第22条: 尽量用辅助类来维护程序的状态,而不要用字典
    effective python 读书笔记:第21条-用只能以关键字形式指定的参数来确保代码明晰
    effective python 读书笔记:第20条-用None和文档字符串来描述具有动态默认值的参数
    git如何将上游(upstream)新建分支(origin没有)导入到origin中?
  • 原文地址:https://www.cnblogs.com/YangJM/p/7644585.html
Copyright © 2011-2022 走看看