java多线程、集合和IO面试题_02

java多线程、集合和IO面试题_02

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

1:你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
    4个
-----------------------------------------------------------------------------
2:如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
    5-3+5-3
    3+3+3-5
-----------------------------------------------------------------------------
3:有8个颜色,大小一样的小球,其中的一个质量和比其他的重,给你一个天平,你最少几次就可以称出那个重的球。(不要想着自己用手拿)
    2次
    
    先分成三份3个、3个、2个,
    称3个、3个,
    若重的在其中一份,再分成三份1个、1个、1个;
    称1个、1个,若重的在其中一份,就称出了。
    若重的不在其中,那剩余的1个就是重的。
    若称的3个相等,说明在2个里面。
    
    思想:更多可能的利用推理。
=============================================================================
面试题:

1:请介绍一下自己(2-3分钟)
    姓名、家乡。
    经验(项目经验)和能力(自学能力)。
    态度:对编程有兴趣
    兴趣爱好:可提可不提
-----------------------------------------------------------------------------
2:你有男/女朋友吗?你结婚了吗?
    稳定性
    精力,加班,出差。
    你家庭和睦吗?
-----------------------------------------------------------------------------
3:你有什么要问的吗?
    对公司一定要有了解。(太偏僻的公司女同学就不要去了)
    公司的前景、业务方向。
    谈钱不伤感情。(心里有个底线6000,开口7000)
=============================================================================
面试题:

多线程:

1:多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
    两种。
    
    继承Thread类
    实现Runnable接口
    
    两种。
  
    同步代码块
    同步方法(静态同步方法)
-----------------------------------------------------------------------------
2:启动一个线程是用run()还是start()?
    start();
    
    run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用。
    start():启动线程,并由JVM自动调用run()方法。
-----------------------------------------------------------------------------
3:sleep() 和 wait() 有什么区别?
    sleep():必须指定时间,不释放锁。
            是Thread类中的一个方法,用于线程休眠,休眠时间结束后,该线程可以自动唤醒。
    wait():可以不指定时间,也可以指定时间,并立即释放锁。
            是Object类中的一个方法,用于线程等待,如果想要唤醒,必须使用notify()或notifyAll()(不能自动唤醒)。
-----------------------------------------------------------------------------
4:线程的基本概念及线程的生命周期
    线程:是进程(程序)的执行单元,执行路径。
    
    新建-->就绪-->运行-->死亡
    新建-->就绪-->运行-->阻塞-->就绪-->运行-->死亡
-----------------------------------------------------------------------------

集合:

1: HashMap和Hashtable的区别。
    历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现。
    同步性:Hashtable是线程安全的,也就是说是同步的;而HashMap是线程序不安全的,不是同步的。
    值:只有HashMap可以让你将空值作为一个表的条目的key或value。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

如何用JavaScript实现2+2=5?

我大学毕业找工作时,经常做一些稀奇古怪的面试题。这不,给大家分享一道整蛊的面试题,它其实不能算一道正式的面试题,大家可以用它来捉弄你们那些程序员朋友。

971
来自专栏海天一树

NOIP 2010普及组初赛C/C++答案详解

1 D 2E + 03 = 2 * 103 = 2000 2E - 03 = 2 * 1 / (2 * 103) = 2 * 0.001 = 0.002

881
来自专栏java一日一条

编写难于测试的代码的5种方式

有一次,我在一个讲座上听到主持人问听众如何故意编写难于测试的代码。在场的小伙伴都惊呆了,因为没有任何人会故意写这种糟糕的代码。我记得他们甚至给不出一个好的答案。

1142
来自专栏Pythonista

Python之路,Day1 - Python基础1

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解...

1785
来自专栏LanceToBigData

Hadoop(十二)MapReduce概述

前言   前面以前把关于HDFS集群的所有知识给讲解完了,接下来给大家分享的是MapReduce这个Hadoop的并行计算框架。 一、背景 1)爆炸性增长的We...

2307
来自专栏极客猴

基础知识 | 使用 Python 将数据写到 CSV 文件

我们从网上爬取数据,最后一步会考虑如何存储数据。如果数据量不大,往往不会选择存储到数据库,而是选择存储到文件中,例如文本文件、CSV 文件、xls 文件等。因为...

992
来自专栏恰同学骚年

《你必须知道的.NET》读书笔记:从Hello World认识IL

  IL是.NET框架中间语言(Intermediate Language)的缩写。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但...

1052
来自专栏Golang语言社区

Go语言是彻底的面向组合的并发语言

面向组合编程从AOP的Mixin,然后到Ruby的Traits,直至DCI设计,包括Scala的trait的组合设计,这些都有一个共同特点,组合特性是显式的,也...

3316
来自专栏大数据挖掘DT机器学习

Python]新手写爬虫全过程(已完成)

今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x。数...

3899
来自专栏大内老A

ASP.NET MVC下的四种验证编程方式

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性...

2347

扫码关注云+社区

领取腾讯云代金券