首页 > (秋招提前批面经)后台Java开发
头像
memory一定可以的
编辑于 2020-08-18 22:05
+ 关注

(秋招提前批面经)后台Java开发

新浪微博提前批(已凉)

先问自我介绍,说一下你认为的团队合作?

用过Linux系统吗?常用指令(我说不太了解,就没问)

说一下虚拟内存?

介绍一下hashmap

hashmaphashtable的区别?

算法题:10万行数据,每一行都是一个int类型的数,按数字出现的频次取出现次数最高的10个数

输入是一个整形数组,输出:数字+频次

思路:可以自己定义一个类,里面key为出现的数字,value为出现的频次

然后新建一个容量为10的小顶堆,按照value进行排序。

我是用hashmap统计的,然后再对value用小顶堆(priorityqueue)排序,需要把value和key绑定。如果下一个的value小于堆顶则丢弃,大于堆顶则插入。
但是最后没能实现。。

滴滴提前批面经(已凉)

JDK JRE JVM的区别?

JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。

JDK = JRE+Java开发工具

JRE = JVM+核心类库(libs

JVM是用来执行字节码文件的

浏览器输入一个网址会发生什么变化?

详细说一下DNS域名解析服务器?DNS用的是什么协议(UDP

TCP三次握手,那四次挥手呢?为什么要四次挥手?

TCP怎么保证可靠通信?

超时重传和确认机制

TCPUDP的区别?

TCP是面向连接的,TCP传输的是字节流,TCP只能点对点,保证传输的可靠性

UPD不是面向连接的,传输的是报文,可以一对多,多对一,多对多,提供尽最大努力交付的

进程和线程区别?

Spring常用注解?

Spring事务传播机制?(不知道)

Spring事务隔离级别?(只知道有五种)

OSI分层模型

TCP/IP分层模型?

网络拥塞一定会导致丢包吗?为什么?

ArrayList中删除值为指定的数,能够直接remove吗?会有什么问题(如果直接remove,比如remove了位置为0的元素,则后面的元素会前移,之前的index为1的index就变成了0,所以会有问题)
算法题:有三台服务器,分别是一定容量,也就是权重,如果来了若干个包,怎么分配让每个服务器处理的包的数量和权重成正比?
可以把权重相加,比如第一个为10,第二个为20,第三个为30.那么加起来就是60.来一个包,rand一下产生一个0-1之间的小数,再乘以60.如果落在0-10就分配给第一个服务器,如果落在10-30就分配给第二个服务器,如果落在30-60就分配给第三个服务器。
就有点大数定律来求概率的意思,当时没有想到这个方法。。。

猿辅导一面+二面(已凉)

一面:说一下自己的项目,项目中的技术栈

如何保证缓存和数据库的一致性

当服务比较多的时候,怎么保证服务的可用性

算法题:求树的直径

判断一棵树是否为二叉平衡树

面试官非常温柔!基本上没问什么问题都是自己在说
二面:

1、说一下计算机网络的七层模型

2TCPUDP有什么区别

3、说一下常用的I/O模型

4、说一下Java中的多线程和操作系统中的多线程有什么区别(不会)

5、线程池有哪些参数,如果让你自己实现一个线程池,你会怎么实现(不会)

6、算法题:大数相乘

7TCP保证可靠传输的机制

大数相乘要求调通,后面上leetcode才发现自己这道题根本没有做过。。。所以浪费了很多时间,反问环节说算法还有欠缺。。

字节教育提前批面经(已凉)

线程进程,怎么进行上下文切换的,进程切换的过程?中断?谁去执行中断呢?

讲一讲内存分页,怎么进行内存分页

10001000的正整数,怎么找到第一个缺失的数

两个链表交叉,怎么找交叉点

已知rand(5)={0,1,2,3,4,5},怎么生成rand(7)

一个1g的数,空间复杂度最小找最小的10

一个10g的文件,内存空间200M,怎么按照出现次数排序。考虑内存。。

说一下hashmao,线程安全的hashmap

说一下Java中的锁是怎么实现的

算法题:
1、找一个数字在非严格递增数组中的位置,比如234456找4出现的位置返回{2,3},如果没有返回{-1,-1},因为不太确定先用了二分然后用了中心扩展法,被吐槽时间复杂度太高,后面说了一下单纯二分找左右边界的方法
2、链表翻转的递归算法,不会递归的写了非递归,后面尝试递归失败了

字节电商提前批面经(已凉)

问了很多我的知识盲区,一直在问框架和操作系统,但是真的不怎么会
算法题:k个一组翻转链表,没有撕出来

百度提前批面经

百度一面面经

计算递归的时间复杂度

说一下OSI模型,TCP/IP模型

说一下每一层的协议:应用层:HTTP FTP DNS SMTP

传输层 UDP/TCP

网络层 IP

DNS是基于传输层的什么协议的?

TCPUDP的区别?

TCP怎么保证到达的数据是有序的?

说一下四次挥手

说一下滑动窗口

短连接和长连接了解吗?

算法题:1、三数之和

2、有三种不同价格的商品,你需要取其中的k件,请写一个函数计算所有可能得到的价格


百度二面面经

说一下jvm

说一下Java类加载机制

说一下volatile关键字

Volatile怎么保证可见性和有序性的

单例设计模式里面的懒汉模式的双重校验,为什么要用volatile修饰,如果不用volatile修饰

多个线程去操作,会有什么问题

说一下线程池吧

说一下https怎么保证数据的完整性

说一下redis的数据类型

说一下redis的持久化

Rdb快照会影响目前线程执行任务嘛?(BGSAVE用子进程操作,不会影响)

说一下redis的淘汰策略(LRU):

你知道redis的lru怎么实现的嘛?(不太会)

普通的LRU底层,双向链表+hashmap

算法题:旋转数组找最小值

将一个链表向右旋转k个数


百度三面面经

算法题:字符串的全排列

基础知识问的不算多,但是也不难,很多都忘了

百度四面面经
算法题:从原点开始走,每次只能向上向下向左向右走一步,问走n步最多能走到多少个格子,要求时间复杂度不能是4^n
一开始很傻的还是用了回溯,被提醒时间复杂度不符合要求
然后用数学归纳法勉勉强强猜出来了
最外层是4*n,因为可以走回头路,所以里面一层是4*(n-2)然后就可以用数学归纳法写出来。如果是偶数步,最里面那一层就是原点就是1,如果是奇数就是4*(n+(n-2)+...+1)
聊了很多项目的事情,介绍你觉得最熟悉的项目,我介绍的是学校的科研项目,然后项目亮点
你觉得自己做的好的地方,自己的优势巴拉巴拉,聊了接近50分钟吧

另外一个部门,上面的部门是部门直推的。。

百度一面面经:

1、说一下Java的特性,封装继承多态,多态是什么?

2、说一下jvm的内存模型,垃圾回收

3redis怎么设置分布式锁

4、说一下数据库索引

5、说一下redismysql的区别

6redis为什么快

7Java的锁的实现方式

8TCPUDP的区别,TCP三次握手

9、说一下DNS解析服务

10、我们现在的视频是采用什么协议进行传输的

11HTTP是无状态的,怎么保持他的状态

12、说一下排序算法,1T文件怎么排序,

13、大顶堆或者小顶堆的插入时间复杂度是多少

1410亿个数字找最大的500个(建立一个容量为500的小顶堆,每次来一个数字与堆顶的数字比较,如果比他小,就不要,否则就插入)





更多模拟面试

全部评论

(14) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐