java byte数组初始化_(面试真题总结)帝都,Java,日活跃用户过百万app

6d25d5536320b440ae195e463f65ab66.png

在北京来广营的一家app公司,日均活跃用户过万,还在招人的公司我不会说出公司的名字,招聘完毕的公司我会说出公司的名字,尽量不要给招聘公司带来影响,以下是系列文章

疯狂Java面试系列-北京望京-钢琴教育公司

bcef2cc2cf116c2abddd9eb2550d6d5c.png

Java中byte,short,char,int,float各占几个字节

Java8种基本数据类型(经常被问,要记牢)

整数类型:byte(1字节) short(2字节) int(4字节) long(8字节)

浮点类型:float(4字节) double(8字节)

字符类型:char(2字节)可以存储一个汉字

布尔类型:boolean

(JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,这样我们可以得出boolean类型占了单独使用是4个字节,在数组中是确定的1个字节)

如何将内容为整数的字符串解析为整数

Long.valueof()

关键字volatile的作用

不能保证原子性,只能保证可见性,有序性,我公号上对volatile的作用写的很清楚,绝对值得一看

String能否被继承,原因

不能,String类被final修饰

public final class String implements java.io.Serializable, Comparable, CharSequence {

总结一下final关键字的作用

  1. final修饰类时,表明这个类不能被继承
  2. final修饰方法,表明方法不能被重写
  3. final修饰变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改,如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象

ArrayLIst如何扩容

数组大小变为原来的1.5倍,将原来的内容复制到新数组,上源码

c5b15fa1e4fc9dd61173789ff4e63d31.png

一个servlet被请求10次,会创建几个事例

只会创建一个实例

一般Servlet只初始化一次(只有一个实例)。对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给该方法。如此重复以上的循环,但无需再调用init()方法。

异常处理

最后输出9,很简单的一道题

列举Spring MVC常用注解和含义(常用)

@Controller

@RequestMapping

@Autowired

@ResponseBody

Mybatis中$和#的区别,哪个能防止SQL注入

$底层用的是Statement ,字符串拼接SQL,可能会有SQL注入

#底层用的是PreparedStatement,使用预编译语句,会防止SQL注入

Java线程生命周期图?

这个很重要,一定要多看看

f748a4b4b77fa83f6d56eafe5b627935.png

列举你了解的JDK命令工具和JVM启动参数,并说明其用法

4ac5f330cb2ff0351057b1ffd18eb128.png

-Xmx4550m 最大可用内存为4550m

-Xmx4550m 启动时分配的内存为4550m

-Xss 每个线程分配的内存大小

varchar char的区别

char(10) ,当输入的是“abc”这三个字符时,占用的空间一样是10个字符,包括7个空字符

varchar(10),当输入的是“abc”这三个字符时,占用的空间是3个字符,额外1个或2个字符用来记录字符的长度

varchar省空间,char效率高

char还有的优点如下:

一,存储很短的信息,比如门牌号码101,201……这样很短的信息应该用char,因为varchar还要占个byte用于存储信息长度,本来打算节约存储的现在得不偿失。

二,固定长度的。比如使用uuid作为主键,那用char应该更合适。因为他固定长度,varchar动态根据长度的特性就消失了,而且还要占个长度信息。

三,十分频繁改变的column。因为varchar每次存储都要有额外的计算,得到长度等工作,如果一个非常频繁改变的,那就要有很多的精力用于计算,而这些对于char来说是不需要的。

主键和索引的区别

主键一定是唯一性索引,唯一性索引不一定就是主键

一个表中可以有多个索引,但只能有一个主键

主键列不允许为空值,索引列可以为空值

索引可以提高查询的速度

MySQL行锁和表锁的含义,并说明他们之间的区别

表锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突概率高,并发度最低

行锁:开销大,加锁慢,会出现死锁;锁定粒度小,发生冲突概率低,并发度高

页锁:开销和加锁速度介于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间,并发度一般

MySQL服务占用CPU 100%,如何排查问题

查询慢SQL日志,找到执行慢的SQL语句,排查错误

事务隔离级别有哪些?

未提交读

提交读

重复读

序列化

092731d54483c41ad8a62919ac44a098.png

LeetCode原题,不太难,直接上代码

3ddbb1fd103616c9fd89cbe9e97c1d00.png
3027e75473998dbd2ecfa93f80867bb1.png

也是leetcode原题

将每个字符串排序一下,key=排序后的字符, value=原始的字符,放在map中即可

d429402ba5eb4efd072fd9ae38bc1fb1.png

挺简单的一个SQL题,就不写了

91de8b48bf4d6ea82e57c8f8f1f6c12d.png

关注Java识堂,持续分享北京几十家公司面试真题,有好的面试题也可能分享给我,欢迎进群

764113208 交流面试过程,欢迎加我微信zztierlie

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值