java基础和面向对象面试题_01

简介: java基础和面向对象面试题_01=============================================================================逻辑思考题:1:矿泉水1元钱1瓶,每2个空瓶换一瓶矿泉水,现有20元钱,请问可以买多少瓶矿泉水? ...

java基础和面向对象面试题_01

=============================================================================
逻辑思考题:

1:矿泉水1元钱1瓶,每2个空瓶换一瓶矿泉水,现有20元钱,请问可以买多少瓶矿泉水?

    20    (虽然感觉有道理,但是肯定不是这个)
    39    程序员
    40    销售 – 管理岗位

    逻辑思维能力是没有问题的:
    39=20+10+5+2+1+1和1个空瓶子

    如何能达到40呢?
    (请问可以买多少瓶矿泉水?应改为:你可以喝到多少瓶矿区水?40瓶才能成立)
    借一个。
    如何借?考验交流沟通能力。
    1个空瓶子先给商店,再向别人借一个,喝完水,再把瓶子还给别人。
-----------------------------------------------------------------------------
2:下面这个表达式,你移动一个数字或者符号就可以把这个表达式变成正确的。请试试:
    62-63=1
    
    把6移动到2的次方位置。2的6次方是64。
    2的10次幂以内的值要非常的敏感。
-----------------------------------------------------------------------------
3: 一栋房子需要一个工匠七天建成,这个工匠的工钱是一份金条,假如现在你需要盖一栋房子,
而你只有一根完整的金条,怎么能把金条分三份的情况下每天都付给工匠工资,最后一天刚好付完?

    1/7,2/7,4/7
=============================================================================
面试题:

1:谈谈final、finallyfinalize的区别
    final:最终的意思,可以修饰类,方法和变量。
        它修饰的类,不能被继承
        它修饰的方法,不能被重写
        它修饰的变量,不能被改变
    finally:是异常处理的一部分,用于释放资源的。它控制的代码永远会执行。
        特殊情况:在执行到finally之前,JVM退出了。
    finalize:是Object类的一个方法,用于垃圾回收。
-----------------------------------------------------------------------------
2: &和&&的区别
    A:作为逻辑运算符,&&具有短路效果。
    B:&还可以做为位运算符。
-----------------------------------------------------------------------------
3: Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
    Math类的成员方法:
        public static int round(float a)   四舍五入(参数为double的自学)
            要深刻理解四舍五入的具体含义:
                满足五入的条件后,得到的值要比原来的值大;
                满足四舍的条件后,得到的值要比原来的值小;
                不管是正数还是负数。
    12
    -11
-----------------------------------------------------------------------------
4: short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
    前者有错,s1会自动提升为int类型,结果赋值给short类型,所以报错。
    后者无错,+=这种赋值运算符隐含了强制类型转换。其实变量s1的值未被使用。
    
示例代码如下:
public class Test {
    public static void main(String[] args) {
        System.out.println(Math.round(11.5));    // 12
        System.out.println(Math.round(-11.5));    // -11
        
        // short s1 = 1; 
        // s1 = s1 + 1; // Type mismatch: cannot convert from int to short 类型不匹配:不能从int转换为short
        
        short s1 = 1; // The value of the local variable s1 is not used 局部变量s1的值未被使用    出现了警告
        s1 += 1;
    }
}
-----------------------------------------------------------------------------
5:数组有没有length()这个方法? String有没有length()这个方法?
    没有。特别注意:因为数组求长度是:数组名.length,而不是:数组名.length()
    有。
-----------------------------------------------------------------------------
6: Overload和Override的区别。Overload的方法是否可以改变返回值的类型?
    Overload:重载
    Override:重写

    重载:
        同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    重写:
        存在于子父类,或者子父接口中,方法声明相同。

    Overload的方法可以改变返回值的类型,因为它与返回值类型无关。
-----------------------------------------------------------------------------
7:给我写出JDK提供的5个常用类名、5个常用接口名、5个常用包名。
    5个常用类名
        String
        StringBuilder
        Integer
        集合类(ArrayList,LinkedList,HashSet,HashMap)
        IO流(FileReader,FileWriter,FileInputStream,FileOutputStream)
        (BufferedXxx系列)
--------------------------------------
    5个常用接口名
        Collection
        List
        Set
        Map
        Iterator
        Comparable
        Comparator
        跟数据库相关的接口:Connection,Statement,PreparedStatement,CallableStatement,ResultSet
--------------------------------------
    5个常用包名
        java.lang
        java.util
        java.io
        java.net
        java.sql
        java.math
        java.awt
-----------------------------------------------------------------------------
8:构造方法是否可被override?
    不可以。
-----------------------------------------------------------------------------
9: try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
  会
  前
----------------------------------------------------------------------------- 10: 编程题: 用最有效率的方法算出2乘以8等於几? 2<<3  左移 ----------------------------------------------------------------------------- 11: 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性吗? 引用传递对象,可以。 ----------------------------------------------------------------------------- 12: switch是否能作用在byte上,是否能作用在long上,是否能作用在String上? 可以 不可以 JDK7以后可以 可以是byte,short,int,charJDK5以后表达式可以是枚举JDK7以后表达式可以是字符串=============================================================================

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
4月前
|
缓存 Java 关系型数据库
2025 年最新华为 Java 面试题及答案,全方位打造面试宝典
Java面试高频考点与实践指南(150字摘要) 本文系统梳理了Java面试核心考点,包括Java基础(数据类型、面向对象特性、常用类使用)、并发编程(线程机制、锁原理、并发容器)、JVM(内存模型、GC算法、类加载机制)、Spring框架(IoC/AOP、Bean生命周期、事务管理)、数据库(MySQL引擎、事务隔离、索引优化)及分布式(CAP理论、ID生成、Redis缓存)。同时提供华为级实战代码,涵盖Spring Cloud Alibaba微服务、Sentinel限流、Seata分布式事务,以及完整的D
195 1
|
3月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
331 0
|
4月前
|
存储 安全 Java
常见 JAVA 集合面试题整理 自用版持续更新
这是一份详尽的Java集合面试题总结,涵盖ArrayList与LinkedList、HashMap与HashTable、HashSet与TreeSet的区别,以及ConcurrentHashMap的实现原理。内容从底层数据结构、性能特点到应用场景逐一剖析,并提供代码示例便于理解。此外,还介绍了如何遍历HashMap和HashTable。无论是初学者还是进阶开发者,都能从中受益。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
209 3
|
13天前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
36 0
|
4月前
|
存储 安全 Java
2025 最新史上最全 Java 面试题独家整理带详细答案及解析
本文从Java基础、面向对象、多线程与并发等方面详细解析常见面试题及答案,并结合实际应用帮助理解。内容涵盖基本数据类型、自动装箱拆箱、String类区别,面向对象三大特性(封装、继承、多态),线程创建与安全问题解决方法,以及集合框架如ArrayList与LinkedList的对比和HashMap工作原理。适合准备面试或深入学习Java的开发者参考。附代码获取链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
1353 48
|
2月前
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
3月前
|
存储 Java 测试技术
Java基础 - 面向对象
面向对象编程是Java的核心,包含封装、继承、多态三大特性。封装隐藏实现细节,提升代码可维护性与安全性;继承实现类间IS-A关系,支持代码复用;多态通过继承、重写与向上转型,实现运行时方法动态绑定,提升系统扩展性与灵活性。
|
4月前
|
算法 架构师 Java
Java 开发岗及 java 架构师百度校招历年经典面试题汇总
以下是百度校招Java岗位面试题精选摘要(150字): Java开发岗重点关注集合类、并发和系统设计。HashMap线程安全可通过Collections.synchronizedMap()或ConcurrentHashMap实现,后者采用分段锁提升并发性能。负载均衡算法包括轮询、加权轮询和最少连接数,一致性哈希可均匀分布请求。Redis持久化有RDB(快照恢复快)和AOF(日志更安全)两种方式。架构师岗涉及JMM内存模型、happens-before原则和无锁数据结构(基于CAS)。
107 5
|
4月前
|
Java API 微服务
2025 年 Java 校招面试全攻略:从面试心得看 Java 岗位求职技巧
《2025年Java校招最新技术要点与实操指南》 本文梳理了2025年Java校招的核心技术栈,并提供了可直接运行的代码实例。重点技术包括: Java 17+新特性(Record类、Sealed类等) Spring Boot 3+WebFlux响应式编程 微服务架构与Spring Cloud组件 Docker容器化部署 Redis缓存集成 OpenAI API调用 通过实际代码演示了如何应用这些技术,如Java 17的Record类简化POJO、WebFlux构建响应式API、Docker容器化部署。
141 5
|
4月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
193 6

热门文章

最新文章