面试刷题-1

面试刷题-1

牛客原题网址

选择题

1

正数:原反补三码相同 负数:原码转反码(符号不变其他取反),反码转补码(符号不变,最低位取反)

byte a = (byte)139;
System.out.println(a);
answer:-117

首先一个基本原理就是, 计算机以补码存储数据 一个字节8位,在java中 int 4字节,byte 1 字节

int时,139 = … 0100 1011,强转成byte,需要舍弃int前面的3个字节,所以变成 1000 1011,这显然是一个负数

补码:1000 1011 负数,转成反码 = 1000 1010 (符号不变,最低位-1)

反码:1000 1010 负数,转成原码 = 1000 1010 (符号不变,其他取反)

(1000 1011) 负数转成反码(符号不变,最低位-1)—>1000 1010 ,

反码符号不便取反,1111 0101 = -117

2

mysql中不同编码格式的时候,汉字和字母会占几个字节

UTF-8 一个汉字占3个字节,字母占1个字节

GBK 一个汉字占2个字节,字母占2个字节

3

用二进制来编码字符串“xyzwxyxx”,需要能够根据编码解码回原来的字符串,则我们最少需要多长的二进制字符串

利用哈夫曼编码,字符出现的频率越大,则使用越短的二进制进行编码,构建最优二叉树。

2

4

Linux系统中,可以用来查找可执行文件的是: whereis、locate、which

whereis 命令:

​ 命令格式: whereis 文件名

​ 参数:

​ -b 只查询二进制文件

​ -m 只查询帮助文件

​ -s 只查询源代码文件

​ 使用:

​ whereis master # 查询master文件

​ 原理:

​ 本质就是去搜索一个数据库,/usr/lib/locatedb,这个数据库含有本地所有文件的信息,有Linux管理, 且每天更新一次,所以可能查不到最新变动的文件信息,手动更新(命令: updatedb)

locate命令 ---->其实就是 find -name,但是find -name不查询数据库

​ 命令格式: locate [OPTION]… PATTERN

​ 功能: 查找字符串,查找的文件名中含有的字符串

​ 参数:

​ -d 目录

​ -i 忽略大小写

​ 使用:

​ locate /etc/sh #搜索etc目录下,所有以sh开头的文件

​ locate -i ~/m #搜索用户主目录下,所有以m开头的文件,并忽略大小写

which命令

​	命令格式: which 可执行文件名称

​	功能: `which指定会在PATH变量指定的路径中`,搜索某个系统命令的位置,并返回第一个搜索的结果

​	参数: 

​			-n  指定文件名长度,指定的长度必须大于等于所有文件中最长的文件名

​	使用:

​			which ls

​			which pwd

type命令

​ 命令格式

​ 功能: type命令用来判断另一个命令是否是内置命令

​ 参数

​ -t 判断另一个命令是否是ablias 、keyword、function、file

​ 使用

​ type ls

​ type -t ls # 查看ls命令是否是 alias

find命令
命令格式:find path -option 【-print | grep】

​ 使用:

​ find /etc/ -name passwd # 查询/etc/下名称带有passwd的文件

​ find /etc/ -name *.conf # 通配

5

设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为: 4

2

6

volatile只能保证有序性、可见性、不能保证原子性,也就不能保证线程安全。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值