Java面试随笔(1

本文介绍了Java相关的基础知识,包括正则表达式、基本数据类型、自动拆装箱、大O符号等,还对比了Array与ArrayList、值传递与引用传递,解释了小数计算误差现象。此外,提及Java新特性、字符串类区别、线程状态,以及http请求过程。
  1. 正则表达式: 查找符合某些复杂规则的字符串,正则表达式就是记录文本规则的代码。
  2. 基本数据类型: byte,int,char,long,float,double,boolean和short。
  3. 自动拆装箱: 自动装箱就是Java编译器在基本数据类型和对应的 对象包装类型 之间做的一个转化。(如int——>Integer,double——>Double)反之就是自动拆箱。
  4. 大O符号: 数据结构里元素增加时,算法的规模或是性能在最坏的场景下有多好;内存消耗;一个程序运行时所需要的渐进时间复杂度上界。
  5. Array VS ArrayList
    • Array:包含基本类型和对象类型、大小固定。
    • ArrayList:只包含对象类型、大小动态变化。
  6. 值传递和引用传递
    • 值传递(基本变量):传递的是变量副本,改变副本不影响原变量;
    • 引用传递(对象型变量):传递的是对象地址副本,对引用对象操作会同时改变原对象。
  7. 为什么会有4.0-3.6=0.40000001这种现象?
    2进制小数无法精确的表达10进制小数。计算10进制小数要先转换为2进制计算,这个过程中出现了误差。
  8. Java新特性
    • Lamda表达式——允许把函数作为参考传递进方法中
    • 方法引用——可以直接引用已有Java类或对象的方法或构造器
    • 默认方法——默认方法就是一个在接口里面有了一个实现方法
    • optional类——解决空指针异常
  9. String、StringBuffer、StringBuilder的区别
    • String是final类型,不可修改,不可继承;
      由于它的不可变性,类似拼接,裁剪字符串等动作都会产生大量无用的中间对象。
    • StringBuffer主要还是用来拼接字符串的,长度可以定义
    • StringBuilder功能同StringBuffer,只是没有处理线程安全,减少了开销。

变量不经常变动优先使用String;
拼接频繁使用StringBuffer(多线程)和StringBuilder(单线程)

  1. Java线程状态: 创建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。
  2. http请求过程
    • DNS解析
    • 建立TCP连接
    • 发送HTTP请求
    • 服务器处理请求返回HTTP报文
    • 浏览器解析渲染页面
建议阅读本文档的方式 本文档提供详细的目录,建议大家使用电脑阅读。如果大家用手机阅读的话,可以下载一个不错的PDF阅读器,比如 很多人常用的福昕PDF阅读器。 本文档提供详细的目录,大家可以根据自己的实际需要选择自己薄弱的知识章节阅读。 前言 不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有 章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。 运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试: 1. 自我介绍。(你可千万这样介绍:“我叫某某,性别,来自哪里,学校是那个,自己爱干什么”,记住:多说点简 历上没有的,多说点自己哪里比别人强!) 2. 自己面试中可能涉及哪些知识点、那些知识点是重点。 3. 面试中哪些问题会被经常问到、面试中自己改如何回答。(强烈不推荐背题,第一:通过背这种方式你能记住多 少?能记住多久?第二:背题的方式的学习很难坚持下去!) 4. 自己的简历该如何写。 “80%的offer掌握在20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部 分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万 不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来 越强大。 另外,大家要明确的很重要的几点是: 1. 写在简历上的东西一定要慎重,这可能是面试官大量提问的地方; 2. 大部分应届生找工作的硬伤是没有工作经验或实习经历; 3. 将自己的项目经历完美的展示出来非常重要。 笔主能力有限,如果有不对的地方或者和你想法不同的地方,敬请雅正、不舍赐教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值