百度一面面经

后端太卷了,就投了客户端
开头是一道算法题,判断是否为合法的ipv4地址,然后就开始问八股文
1.jvm中的数据区域
2.遇到过oom吗?如果遇到oom要怎么解决
4.程序计数器会发生OOM吗?我居然答说会,但是其实不会,程序计数器是唯一一个不会oom的地方
5.gc算法有那些?垃圾回收器?
6.hashmap介绍,hashmap为什么到8再转?(这个不懂)为什么不一开始就用红黑树?
7.hashmap的hash函数是怎么实现?你知道的hash函数有哪些(前面的了解,这个不了解)?
8.hashmap为什么会直接把hashcode取模要用异或。。。(这个我也不会)?
7.hashmap是不是线程安全的?有那些是线程安全的?与cocurrenthashmap有什么区别?
8.hashmap put一个null进去,再put一个null进去会怎么样?
9.你知道的内部类有哪些java当中的?
10.静态内部类和内部类有什么区别?
11.TCP UDP区别?TCP怎么保证可靠数据传输?三次握手过程?
12.操作系统的内存分配算法有哪些?(这个我也不会)
13.说一说LRU
14.进程线程区别?你确认进程真的是资源分配的最小单位吗?进程线程通信?
15.你有用过数据库吗,怎么判断是否一个查询用了索引?除了索引怎么优化查询速度?
我说的是上缓存,还有优化sql,比如最左前缀,避免分库分表join limit
16.你了解的设计模式?我说了责任链和策略?然后我详细讲了我实习是怎么用责任链
17.单例模式写一个?我先写的是枚举的写法,他让我换一个,然后我就写了一个DCL的给他。
18.kotlin的一些关键字?问的我都不会,我说我只会把java改成kotlin然后!! ?.什么的
反问?你们这个是北京百度吗?部门是做什么的?什么时候会出结果?

我答不清楚的几个:
程序计数器oom?程序计数器不会oom,我答错了
hashmap put两个null进去?我当时说会覆盖,但是那个面试官说不是,我又重试了一下,确实会覆盖
hash方法又哪些?
除法hash:hash(key) = key mod M
乘法hash:hash(key) = f通常设置 M 为 2 的幂次方。
W 为计算机字长大小(也为2的幂次方)。
a 为一个非常接近于W的数。
floor( M/W * ( a * key mod W) )
斐波那契hash
也就是当 “乘法哈希法” 的 a ≈ W/φ,1/φ ≈ (√5-1)/2 = 0.618 033 988 时情况。而,1/φ ≈ (√5-1)/2 = 0.618 033 988,可称为黄金分割点。
静态内部类和内部类区别?
静态内部类可以访问外部类的静态变量和方法,但是不能访问非静态的
内部类可以可以访问外部类的静态变量和方法,也访问非静态的
生成一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in = new Outer.Inner();而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类
内部类在字节码中是怎么样的?每个类会产生一个.class文件,文件名即为类名。同样,内部类也会产生这么一个.class文件,但是它的名称却不是内部类的类名,而是有着严格的限制:外围类的名字,加上$,再加上内部类名字。
操作系统内存分配算法?
位图算法、伙伴算法、链式算法
进程线程通信方式?这个我网上没找到
hashmap异或而不是直接取余?当数组的长度很短时,只有低位数的hashcode值能参与运算。而让高16位参与运算可以更好的均匀散列,减少碰撞,进一步降低hash冲突的几率。并且使得高16位和低16位的信息都被保留了。
#面经##百度##校招##Java工程师#
全部评论
不写算法题吗、
1 回复 分享
发布于 2021-08-15 17:01
结果呢?楼主?过了吗?
点赞 回复 分享
发布于 2021-08-15 17:00
虚拟机栈和本地方法栈也不会oom噢 oom主要发生在堆中 方法区中也有
点赞 回复 分享
发布于 2021-08-16 10:49
这跟后端也没啥区别啊
点赞 回复 分享
发布于 2021-08-16 23:31
操作系统的内存分配算法应该指的是动态分区分配中的几个算法?我感觉
点赞 回复 分享
发布于 2021-08-17 11:38

相关推荐

评论
4
29
分享
牛客网
牛客企业服务