笔试填坑:网易2021春招【写给自己看的】

刚刚结束了网易2021年的实习生春招,然后被一一道子网划分的题难住了
讲道理这道题属于基础题,属于计算机网络必过的题目,但是都只是想起一点点而已
现在趁着还有点记忆,写下来先

选择题(2*10)

有一个特殊的队列,可以从两头入队,并且可以在一头出队,入队和出队不可以同时进行,我们将1、2、3、4、5入队,不可能的出队列的顺序是?
1、2、3、4、5
5、4、3、1、2
5、1、3、2、4
还有两个忘记了

这道题在刷牛客网的剑指offer-栈的压入、弹出序列看到的是差不多的,大家可以去看看

有一个ip地址为 212.212.51.0/24 ,子网掩码为
255.255.255.252,求划分子网的个数以及有效地址数。

首先我们可以知道这个网络地址是C类地址:1111 1111.1111 1111.1111 1111.0000 0000
所以多出来的252(1111 1100)就是子网号

所以子网的个数为2^6=64
每个子网有两个有效地址数:2^2-2=2(全0和全1不分配)

我们可以用13的小矩形横着或者竖着去覆盖更大的矩形。覆盖3n的矩形有多少种方法,n>3。找出通项。

这题是找规律的题目,有给出几个选项,但是都忘得七七八八了,和牛客网上的矩形覆盖差不多的,他的更简单一点,他有给出通项给我们做选择
笔试填坑:网易2021春招【写给自己看的】_第1张图片

编程题(20*4)

一个有n个数字的数组a,请找出一个最大正整数d,使得a(i+1)-ai=d*k(k>=1)
输入两行:第一行为n、第二行为 数组
输出:输出数d,如果不存在,那么输出-1

也就是一个数组中,前一个数字减去后一个数字,所得到的数字中,找最大公约数

勇士闯关,怪兽有两个属性,破防属性值和伤害值,如果勇士的防御值大于怪兽的破防值,那么勇士不受伤害,否则收到的伤害为怪兽的伤害值。如果挑战成功,勇士的防御值+1。勇士可以随机选择一个怪兽进行挑战,问怎么挑战收到的伤害值最小
输入数据:第一行 n(怪兽的数量)m(勇士的初始防御值)、第二行:怪兽的破防值、第三行:怪兽的伤害值
输出数据:收到的最小伤害值
示例数据:
3 50
100 50 51
1000 1000 1000
输出数据:1000

讲道理,这道题我没看懂,是因为他有给出示例数据
他说挑战第一个怪兽,受到的伤害为1000,挑战第二个怪兽护甲值大于破防值,不受伤害,挑战第三个怪兽,不受伤害。
真心没看懂这示例数据

一个城市中有n个人,里面举行了m场家庭聚会,假设刚开始只有一个感染者,且参加聚会的人全部都会被感染,感染者又会去感染其他人。求最后的感染者有多少人
输入数据:
第一行:n(城市中的人数) m(家庭聚会的次数) f(初始感染者的编号,从0开始)
接下来的几行是m场聚会次数,第一个数字是参加的人数num,加下来的num个参加聚会的编号
示例数据:
10 2 0
2 0 1
3 0 1 2
输出数据:4

这题其实挺简单的,将感染者放进一个集合里面,如果聚会里面有这些人的话,全部被感染,加进集合里面,最后输出集合的个数

超人打怪兽,一个n*m的矩阵,里面有0(代表怪兽) 和1(代表超人),输出一个矩阵,矩阵里面的数据是超人离怪兽最近的距离,加入方格里面是怪兽的话,输出0
示例数据:
3 3
101
010
101
输出数据:
101
010
101

这题好像也挺简单的,但是没写出来。。。。

问答题(10*2)

函数式编程和面向对象编程有什么区别,java8为什么一反常态的引入函数式编程?

函数式编程和面向对象式编程最根本的不同之处在于,在面向对象的世界,函数功能不能独立于数据而存在,一个函数功能必须存在于一个包含数据的对象中,服务于特定的数据。也就是说,在面向对象时,对象是编程的最小单元,而一个对象将数据和作用于该数据的函数功能打包成一个整体,数据和函数是不可分割的一部分。此时函数只能为该数据服务,而该数据一般也只能使用定义于其上的函数。而这种函数与数据的结合其实是加深了数据和功能的耦合性。对于编程来说,紧耦合意味着不灵活和低泛化能力。

面向对象的编程中的诸多设计原则如面向接口编程原则,扩展大于继承的原则等都是为了降低对象间的耦合程度而努力。但面向对象编程是有原罪的,它从出生的那一刻起就将数据和函数绑定到一起。这一点决定了面向对象编程不可能做到彻底的解耦。而函数式编程的目的是将解偶进行到底。他要彻底的解耦。他要做的就是将数据和函数分开,函数是函数,数据是数据,没必要非得在一起。在函数式编程的世界,函数和数据是对等的位置,都作为最小的单元而出现。我的数据可以选择A函数来提供服务,也可以选择B函数来提供服务。我的函数不仅可以给C数据提供服务,也可以给D数据提供服务。我可以按我的需求来随意组合数据和函数,打破在面向对象式编程的世界中数据与函数绑定规则,拥抱更自由的世界。

Java 8 函数式编程与面向对象式编程

单例模式的双重检查锁是为什么,能解决什么问题?

单例模式双重检查锁问题

你可能感兴趣的:(面试)