猿辅导服务端开发面试--秋招正式批
一面
自我介绍实验室的研究方向项目介绍,详细一点,然后反问里面的实现问adhoc相关内容
网络层协议有什么?RIP和OSPF区别? 各自的过程,不会
说一下应用层协议有什么?挑一个说一下,反问了telnet,基于什么协议?
tcp的可靠性如何实现?
有序传输如何实现?
java:linkedHashMap与hashMap有什么区别?维护的顺序是键还是值的顺序?
java保证线程安全的方式?synchronized是可重入的吗?什么是可重入? 不会
https://blog.csdn.net/w8y56f/article/details/89554060
数据库:对什么数据库比较熟悉?
四个事务隔离等级
什么是不可重复读和幻影读?
MVCC,next-key locks?
详细说MVCC是怎么实现的
重做日志和撤消日志是做啥的?区别? 不会
- 算法一:
给一个单调递增的单链表,删除所有重复出现过的元素。
循环或递归,没有要求
#coding=utf-8
import sys
#str = raw_input()
#print str
class ListNode():def __init__(self, value):self.val = valueself.next = Nonedef deleteDup(head):if not head or not head.next: return headdummy = ListNode(-1)dummy.next = headp = dummycur = headwhile cur and cur.next:if cur.val != cur.next.val:p = p.nextcur = cur.nextelse:val = cur.valwhile cur and cur.val == val:cur = cur.nextp.next = curreturn dummy.nexta = ListNode(2)
b = ListNode(2)
c = ListNode(2)
d = ListNode(3)
e = ListNode(3)
f = ListNode(5)
g = ListNode(8)
a.next = b
b.next = c
c.next = d
d.next = e
e.next = f
f.next = g
head = deleteDup(a)print(head.val)
- 算法二:
给一个二维数组,
每一行单调递增
每一行第一个数大于等于上一行最后一个数
给定一个target,找出来i和j满足
a[i][j] = target,且
i最小时j最小
两种方法实现,分别计算一下时间复杂度
方法一:删除一行或一列
方法二:二分查找
#coding=utf-8
import sys
#str = raw_input()
#print str
print 'Hello,World!'def bisec_left(nums, target):if not nums: return -1,-1if target < nums[0][0] or target > nums[-1][-1]: return -1,-1m, n = len(nums), len(nums[0])low, high = 0, m + n - 1while low < high:mid = low + (high - low)//2if nums[mid//n][mid%n] < target:low = mid + 1else:high = midreturn low//n, low%n if nums[mid//n][mid%n] == target else -1,-1'''
1 2 3 4
5 6 7 8
一维数组
a =
0 5p = 2
1 2 2 2 3 5
n * m
O(m + n)
反问了一下,分配什么部门?走什么技术栈?
这是统一招聘,面试完可以联系hr来要求去什么部门,走java技术栈,spring全家桶
二面
自我介绍
实习内容介绍,反问,对面向对象的设计有什么考虑,比如设计类图
- 数据库:
索引的结构? 为何使用B+树?优势在哪?为何树高更低?树高与I/O次数有什么关系?节点为何是固定大小? 这个问的太细了,得好好学才行
普通索引,二级索引
联合索引
事务的概念,事务提供什么样的能力?
什么是原子性?怎么实现原子性?(不会)
1:mysql如何实现原子性扩展题:
2:mysql如何实现持久性是利用Innodb的redo log。当做数据修改的时候,不仅在内存中操作,还会在redo log中记录这次操作。当事务提交的时候,会将redo log日志进行刷回磁盘(redo log一部分在内存中,一部分在磁盘上)。当数据库宕机重启的时候,会将redo log中的内容恢复到数据库中,再根据undo log和binlog内容决定回滚数据还是提交数据。
3:mysql如何实现隔离性四种隔离级别
4:mysql如何实现一致性从数据库层面,数据库通过原子性、隔离性、持久性来保证一致性。也就是说ACID四大特性之中,C(一致性)是目的,A(原子性)、I(隔离性)、D(持久性)是手段,是为了保证一致性,数据库提供的手段。从应用层面,通过代码判断数据库数据是否有效,然后决定回滚还是提交数据
事务隔离级别,可重复读与可串行化。
幻影读的概念
Mysql怎么解决幻影读?
next-key lock锁是自动加的,那可串行化与可重复读是达到一致的效果吗?还有其他区别吗? 不会
参考:https://www.cnblogs.com/zhoujinyi/p/3435982.html
可串行化的本身是为了达到什么样的目标?到底是什么意思? 不会
可串行化是强制事务串行执行,避免幻影读的问题,通过加锁来实现,会在读取的每一行数据上都加锁,所以可能会导致大量的超时和锁争用问题,实际应用中很少使用这种隔离级别,只有在非常需要确保数据一致性并且可以接受没有并发的情况下才会考虑这种隔离级别
- 计算机网络:
tcp一面问过了吧?问问http吧
http的特点,与tcp的关系?
面向事务的应用层协议,无连接,无状态的?
反问事务是什么? 什么是无状态? (不会) 无状态就是没有记忆能力
我们把一次完整的 请求+响应 称之为 “HTTP事务”
事务就是完整的一次操作,请求和响应缺一不可扩展题:完整的HTTP事务是怎样的一个过程? 就是输入url的全过程
a. 域名解析
b. 发起TCP的3次握手
c. 建立TCP连接后发起http请求
d. 服务器端响应http请求,浏览器得到html代码
e. 浏览器解析html代码,并请求html代码中的资源
f. 浏览器对页面进行渲染呈现给用户
无状态是指:无记忆性,同一个客户第二次访问服务器上的同一个页面时,
服务器的响应与客户第一次访问时一样,因为服务器不记得这个客户曾经访问过,
也不记得这个客户访问过多少次。
也就是说每个请求都是独立的,与前面的请求和后面的请求都是没有直接联系的。HTTP一直是无状态的,但是应用服务为了有状态,就给HTTP加了cookie和session机制,让使用http的应用也能有状态,但http本身还是无状态扩展题:http的持久连接与非持久连接
对REST了解吗? 不会
操作系统:
进程与线程的区别
线程切换的开销更小,为什么?
线程的状态
限期等待与无限期等待是什么?
什么时候进入阻塞状态呢?
join()方法是做什么的? a.join(b) 是什么意思? 刚好今天看到面经了, 这个面试官真好,不会的时候会写个例子来提示你,引导你
死锁的必要条件
死锁避免,谈了银行家算法,反问还有什么其他的吗?我没弄懂是问死锁预防还是死锁避免?导致面试官一直追着问还有其他想法吗?
死锁预防?面试官提示可以破坏四个必要条件,然后说破坏循环等待条件是做什么?算法题:实现堆排序,写出来了,但是解释的不是很清楚
字节实习面试问过,幸好准备了!
一直追着问我的细节,导致我自己感觉解释的不是很清楚,再回顾一下啊!
比如是自底向上冒泡最大值,为何while循环是自顶向下调整的?
调整堆是怎么调整的?
- 构建大顶堆来实现从小到大排序
def adjustHeap(arr, parent, length):temp = arr[parent]child = parent * 2 + 1 # 数组下标从0开始,左儿子while child < length:# 判断左子节点和右子节点的大小,若右边大,则把child定位到右边if child + 1 < length and arr[child] < arr[child + 1]:child += 1# 若child大于父节点,则交换位置,否则退出循环if arr[child] > arr[parent]:arr[parent] = arr[child]parent = childchild = parent * 2 + 1else:breakarr[parent] = temp # 调整到合适地方了!def heapSort(arr):# 构建大顶推,从最下面的非叶子节点开始向上遍历for i in range(len(arr)//2 - 1, -1, -1): # 左闭右开区间adjustHeap(arr, i, len(arr))# 循环执行以下操作:1.交换堆顶元素和末尾元素 2.重新调整为大顶堆for i in range(len(arr) - 1, -1, -1):arr[0], arr[i] = arr[i], arr[0] # 把最小值adjustHeap(arr, 0, i) # length为开区间nums = [3,2,5,8,1]
heapSort(nums)
print(nums)
- 构建小顶堆来实现从大到小排序(只需要修改两处符号就行)
def adjustHeap(arr, parent, length):temp = arr[parent]child = parent * 2 + 1 # 数组下标从0开始,左儿子# 自顶向下调整while child < length:if child + 1 < length and arr[child] > arr[child + 1]: # 改变符号child += 1if arr[child] < arr[parent]: # 改变符号arr[parent] = arr[child]parent = childchild = parent * 2 + 1else:breakarr[parent] = temp # 调整到合适地方了!def heapSort(arr):for i in range(len(arr)//2 - 1, -1, -1): # 左闭右开区间adjustHeap(arr, i, len(arr))for i in range(len(arr) - 1, -1, -1):arr[0], arr[i] = arr[i], arr[0]adjustHeap(arr, 0, i) # length为开区间nums = [3,2,5,8,1]
heapSort(nums)
print(nums)
三面
自我介绍,ACM拿奖了吗?
介绍实习内容,Hive会吗? 说说你会的部门
聊聊GC,然后一口气差不多聊了十多分钟,从什么是垃圾?如何定位垃圾?什么时候回收?垃圾回收算法,然后往细一点地聊
为何新生代要用复制算法呢?为什么不用标记-清除? 为何不用标记-整理?分别答
会不会出现复制不过去的情况?
Survivor区老放不下的时候,总是放去老年代吗?这里涉及长期存活的对象将进入老年代,动态对象年龄绑定,空间分配担保,这三项才算回答完美
为什么要划分新生代和老年代?要是是一整块内存用会怎么用?
新生代和老年代在垃圾回收时,程序可以并发执行吗?
Integer a = 1可以这样写吗?
Integer a = Integer.valueOf(1)
Integer a = new Integer(1)
三者的区别
算法:有一个 NxM 的矩阵,要求把这些内容按由小到大的顺序 print 到屏幕上
import sys
import heapq
#str = raw_input()
#print str
print 'Hello,World!'# 节省内存,矩阵很大,正整数,没有范围
def printM(nums):for i in range(len(nums)):nums[i].sort()point = [0] * len(nums) # point[i] = jheap = []for i in range(len(nums)):heapq.heappush(heap, (i, nums[i][0])) # 按照值排序point[i] += 1count = len(nums) * len(nums[0])while count > 0: # 这里越界Min = heapq.heappop()print(Min[1])count -= 1row, col = Min[0], point[Min[0]]if col >= len(nums[0]): continue # 这里越界point[Min[0]] += 1heapq.heappush(heap, (row, nums[row][col])
相关猿辅导面经,总结看到的面经
作者:sagii
链接:https://www.nowcoder.com/discuss/470177?type=all&order=time&pos=&page=1&channel=666&source_id=search_all
来源:牛客网
1、ARP协议,怎么工作的、属于哪一层,为什么属于数据链路层,数据链路层会认识ip地址吗? ARP协议介于数据链路层和网络层之间,没有明确的分层
2、ICMP了解吗?是做什么的?ping的具体过程?
3、DNS解析过程
4、了解TCP协议吗
5、UDP协议为什么能实现广播? 无连接,支持一对多通信
6、详细说一下tcp的拥塞控制
7、说一说数据库建表的范式规范,什么是外键约束?第一范式第二范式第三范式
8、说自己的项目
9、zk做服务发现,如何发现这个服务是activate的,服务下线的话,zk怎么观察到服务的变化,dubbo接口的服务调整,服务上下线,zk怎么应对。
10、AOP的原理
11、对java的语言特性
12、java虚拟机是平台相关的吗
13、链表排序
作者:3213112121
链接:https://www.nowcoder.com/discuss/477503?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
一面
- 自我介绍
- 项目
- tcp拥塞控制
- 进程与线程的区别
- mysql相关,锁
- 操作系统相关, 中断
7. spring aop - 算法题 单链表排序
二叉树寻找最后一层最左侧的节点
二面
疯狂mysql
- 自我介绍
- 数据库的索引
- 聚集索引和非聚集索引
- b-树和b+树
- mvcc
- mvcc解决的问题,脏读,不可重复读
- 索引的分类
- 什么时候建立索引
- 复合索引的最左匹配原则
- 算法题:二维数据求其中岛的数目。
作者:ITBAI
链接:https://www.nowcoder.com/discuss/471168?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
8.8一面
1.自我介绍
2.实习期间的内容,做了哪些事情,挑一个项目讲解
3.mysql索引数据结构,事务隔离级别,解决幻读方式
4.redis分布式锁流程,如何解决缓存雪崩问题
5.dubbo用到的协议,http和dubbo协议的区别
6.zookeeper中的节点类型,服务端宕机后zk发生的变化
7.http和https区别,握手方式,加密方式,如何加密
8.http2.0和http1.0区别,http2.0可以推送弹幕消息吗
9.java线程池,拒绝策略
10.保证线程安全的方式,CAS优化,AQS,以及AQS是否可以实现非公平锁
11.JVM内存模型,分代收集算法,什么时候分配在栈,什么时候分配在堆,内存泄漏出现的场景
12.最长回文串,最大正方形面积
8.14二面
1·自我介绍,项目以及实习
2.mq在项目里面的业务场景,事务性,如何消费的
3.ack具体机制
4.保证不重复消费
5.java反射机制,泛型
6.mysql索引,聚簇非聚簇,联合索引,索引失效,索引下推等
7.sql语句解析
8.BST中k大node, 是第k大的数,不是第k小的数,注意一下审题啊!
下一个最大排列
作者:dlwlrma21
链接:https://www.nowcoder.com/discuss/477262?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1.面试官介绍面试流程
2.自我介绍
基础:
1.TCP粘包
2. HTTP状态码
C++:
3. extern “C”
4. 重载,编译时多态
5. 多态的实现
6. 为什么父类的析构函数最好是虚函数
7. 什么时候使用纯虚函数
Java:
8. volatile的作用 2个,可见性与避免指令重排序(内存屏障)
9. 工作内存
10. 注解
11. 反射
12. 动态代理
算法:
13. 无序数组中找出第K大的元素(问了建堆的复杂度和算法整体的复杂度,然后面试官看不懂我写的代码,我????)最优解不是用堆来做,而是使用快速选择算法来做
14. 反转链表中节点i到节点j(考虑边界问题,问到了算法复杂度)
作者:成龙的成
链接:https://www.nowcoder.com/discuss/471485?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
自我介绍
http请求中get和post的区别
线性结构和非线性结构有哪些,区别是什么。
操作系统中中断的概念
进程和线程的区别,多线程共享进程资源时候可能遇到的问题及解决方案
然后就是手撕代码了:
第一个是整数数组拼接成最小数
第二个是顺时针递增打印数组
作者:芒果味的周俊杰
链接:https://www.nowcoder.com/discuss/471145?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1.自我介绍
2.实习项目,项目难点
3.很久之前做的秒杀项目,问现在再来看这个项目,有哪些地方会有问题,改进,优化;
4.进程和线程的区别,进程的通信方式
4.Tcp和udp区别,应用场景
5.DNS解析属于TCp还是udp,Dns解析过程
6做题,判断两个字符串是否是相似字符串,相似的含义是只允许交换一次字符串的两个位置,使得和第二个字符串相等,那么他们就是相似的。
面试官给的测试用例:
相似字符串
ab, ba => true
abax, abax => true
abc, abc => false
aac, abc => false
作者:ccccccuuuuurrrrry
链接:https://www.nowcoder.com/discuss/476067?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
自我介绍
项目相关,难点,一致性如何保证
mmap,NIO,Direct IO有什么区别?Direct IO可以直接落盘吗?
mmap减少了哪一次拷贝?整个的流程
TCP为什么是可靠的
拥塞控制
TCP与UDP区别
加锁的方式,synchronized与lock的区别
synchronized详细的原理,其他未获取锁的线程会阻塞在哪里
锁释放后,其他线程是如何竞争的??
假设要求线程t1执行完后,线程t2才能执行,有哪些实现方式? join()方法
ThreadLocal相关
SimpleDateFormat线程安全吗?为什么
String,StringBuilder,StringBuffer
Servlet生命周期
JVM垃圾回收,CMS,哪些阶段STW
HashMap一个线程正在扩容,另一个线程在加数据,另一个在删数据,如何处理?
1.8的HashMap的线程不安全体现在哪里
Mysql隔离级别,都解决了什么问题?幻读与不可重复读有什么区别
MVCC具体原理,ReadView
解决了幻读吗?为什么?
算法题:搜索旋转排序数组
如果数组中有重复的元素,如何修改代码(后来发现这也是leetcode上的)
作者:uestc薛定谔的猫
链接:https://www.nowcoder.com/discuss/470425?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
自我介绍
设计模式的基本原则 5个
线程同步有几种方法 临界区,互斥量,信号量,事件对象
互斥量和信号量的区别 用途,取值范围,不同线程访问
http和https 的区别
场景题一个电脑接入局域网后分配一个IP地址,这个是怎么实现的
公网设备是怎么访问内网的设备,有什么技术可以实现
算法题:给一个整形数组,要求分为两部分,第一个部分的元素的最大值比第二部分的最小元素要小,要求左边部分的范围近可能的短,输入第一个部门的长度,比如[1,1,1,0,6,7,12]长度输出4,这个想了一下没有思路,面试官降低难度给了下面一个题目
同样给了一个整型数组 [100,2,1,4,3,3,101,200] 从这个数组找到连续元素的长度,比如1,2,3,4 最长输出4。
作者:dreamoffer
链接:https://www.nowcoder.com/discuss/471107?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
面试官非常不错,很有耐心的
1.自我介绍
2.进程和线程的区别
3.进程间通信方式
4.GET POST区别(URL编码,记错了)
5.HTTP还有哪些方法
6.HEAD方法可以讲一下吗
7.HTTP和HTTPS区别
8.证书是什么
9.java有哪些锁(悲观乐观,自旋互斥,读写锁)
10.悲观锁乐观锁区别(认位操作数据时,别的线程不会修改,只在提交时做个比较。悲观认为别人会修改,全程锁)
11.自旋锁和互斥锁
12.HTTPS传输过程中,之后的方法是对称方法还是非对称(大概这意思)
13.算法题:
1.删除倒数第K个节点,需要注意边界和异常处理(被怼了):例如检测head是否为空,K是否超过链表长,K是否刚好等于链表长
2.Z字打印二叉树
我的算法题都不难,但是异常边界处理平时注意太少了,一般感觉算***就行了,很少考虑这个,被怼了
作者:随心的小新
链接:https://www.nowcoder.com/discuss/471164?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
首先上来万年不变的自我介绍。接着介绍一下项目
1、http的幂等性问题,网络框架以及各层之间的协议都有什么?
2、redis的分布式锁,超时时间以及时间续约?
3、线程安全问题?线程安全问题怎么去解决
4、死锁?死锁的必要条件?怎么去预防续约以及死锁之后的解决方法?
5、synchronized之后的1.6之后的升级过程,以及与lock的区别?
6、RbbbitMQ的一个重复推送问题怎么解决?它都有哪种模式?
大概就是这么些东西吧。
最后放个大招。手撕八皇后问题。有点猛。
作者:那咋办嘛。。
链接:https://www.nowcoder.com/discuss/470709?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1.采用jdbc访问数据库的过程;
2.线程池;
3.DNS协议;
4.没有网卡,本地有ip缓存,能否命中ip,能否发送数据;
算法题:
1.给一个链表,链表中有重复节点,偶数个的删除,奇数个的保留一个;(面完才想起HashSet。。。。。。)
2.合并区间
作者:123456lmliang
链接:https://www.nowcoder.com/discuss/470268?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1.syncrhroniz的介绍,原理,可重入性
2.volatile的原理
3.start和run方法
4.object的常见方法(回答不是很好,没有全部说完)
5.重写equals和hashcode
6.写一个单例模式
7.计算小岛数量
作者:shangjiang
链接:https://www.nowcoder.com/discuss/229923?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
一面:
1、你在项目在遇到过最困难的事。
2、操作系统、网络原理、编译原理。。。你最擅长哪个?(网络?)
3、浏览器的地址栏里输入一个url,点一下回车,会发生什么?
(1)浏览器怎么得到url?
得到 url 就是字符串解析吧,url 格式— 协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
(2)DNS解析是发送整个url吗?
dns 只解析域名
(3)DNS解析详细过程。
(4)TCP三次握手之前需要什么?
(5)ARP解析过程。
(6)ip怎么寻址?
(7)TCP第三次握手的作用是什么?
(9)TCP连接建立之后呢?
4、算法题:单链表,翻转n-m段链表。
5、算法题:给出有序数组和target,求距离target最小的位置(min distance index)。
作者:chips_xx
链接:https://www.nowcoder.com/discuss/470970?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1.项目相关
2.你知道哪些线程池?
3.线程池参数以及线程池的流程
4.线程池的抛弃策略
5.停止线程池,停止时会接新的任务嘛?
6.get和post的区别,post一定会发两个包嘛?
7.还有什么请求方法
8.http与https的区别
9.主键索引和唯一索引的区别 主键索引是特殊的唯一索引,不允许为空值
10.索引结构,b+树是怎样的结构,b树与b+树的区别
11.数据库的隔离级别,每种级别会存在什么问题
12.讲一讲gap lock和next-key lock,具体是怎么锁的,比如age=20,锁的是id还是age
13.联合索引最左匹配的使用
14.MVCC
15.redis的数据类型
16.hash,set,zset的使用场景
17.zset内部实现
18.TCP的拥塞控制
19算法题:topK
20.反问
作者:JunleRao
链接:https://www.nowcoder.com/discuss/471090?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
面试官人特别好,给了很多的提示,一直引导自己,面试的感觉非常nice!
主要是问项目,基础知识、手撕代码?
简单的自我介绍?
讲一下单体登录?
zookeeper用来做什么?
CAP理论?
什么是SaaS?
微服务和单体的区别?
分布式的数据一致性问题?怎么避免?(以上都是项目相关的)
java的异常体系?项目中是怎么使用异常的?受检非受检?
讲一下java的反射?
框架中什么地方用到了反射?
讲一下Spring的IOC?
java线程的状态和怎么转化的?
一个等待获取synchronize锁情况下,该线程处于什么转态?同步阻塞
调用线程的start方法后再调用一次会怎么样?
Java的线程是不允许启动两次的,第二次调用必然会抛出IllegalThreadStateException,这是一种运行时异常,多次调用start被认为是编程错误。
讲一下对池化技术的理解?
怎么实现一个线程池?工作线程,任务队列?
如果任务队列是空的,线程池中的核心线程是什么状态? 前面问过
阻塞和非阻塞?同步和异步?Java的线程模型?
代码:输入两个数组,从两个数组中各取一个值,输出两个值的和为0的所有组合并需要去重。
示例:输入: nums1={1 ,-1,0,0},nums2={-1,-1,0,1} ,输出:{{1,-1},{0,0}}
作者:GreatGeek
链接:https://www.nowcoder.com/discuss/471211?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
一、自我介绍
二、进程通信有哪几种方式?
三、线程的几种状态,线程池中的空闲的线程处于什么状态?
停止,Parked(此状态必须明确,与字面意思不同,主要是指线程空闲时候的状态.如在线程池中,当线程被调用使用后再次放入到池子中,则其状态变为了Parked)
四、说一下 volatile 关键字(其中问到我 JMM 中线程的工作内存是哪一块内存?)
主内存:其实就是JAVA堆内存,里面存放着程序中所有的类实例对象等变量,属于线程共享的。
工作内存:工作内存存放的是线程从主内存中拷贝过来的变量副本以及访问方法所得到的局部变量,是线程私有的。
所以当线程操作某个对象的时候,会先从主内存复制该变量到自己的工作内存,然后执行相应逻辑,改变变量,最后再把工作内存中的变量新数据刷新回主内存。
五、操作系统是如何管理内存的?页式管理,段式管理,段页式管理
六、比较分页与分段
七、说一下 MySQL 的索引是什么结构的?
八、B+ 树与 B 树的比较
九、手撕代码(设计一个循环队列,能够重复利用队列里面的元素)
https://blog.csdn.net/u012626619/article/details/80658397
许愿二面!
8月8号 14:00
面试了一个小时
自我介绍
深挖项目点
算法:leetcode 986 区间列表的交集
作者:张志恒
链接:https://www.nowcoder.com/discuss/470707?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
1 项目 消息加入异步队列超时或者失败,你是怎么处理的
2 redis做持久化了吗,怎么保证rdb的完整性
3 redis淘汰策略
4 redis怎么实现事务
5 数据库 事务隔离级别
6 索引为什么用b+树 不用hash 不用平衡二叉树
7 自己用过的索引讲讲
8 linux top命令 具体CPU负载是怎么计算出来的 (不会)
怎么查看端口 netstate
9 http状态码
10 cookie session讲一下
11 算法题
1 矩阵顺时针翻转90度
2 从n到m翻转链表
作者:咸鱼咕咕咕
链接:https://www.nowcoder.com/discuss/470695?type=post&order=time&pos=&page=1&channel=666&source_id=search_post
来源:牛客网
0、项目&实习
1、redis在项目中怎么使用的?基本数据结构?
2、redis实现分布式锁?
3、Kafka、RabbitMQ、RocketMQ的优缺点,怎么选择?
4、计网、操作系统、数据库那个最熟悉?
5、Mysql的事务隔离级别?脏读、幻读、不可重复读?
6、当插入一个新的数据时候,Mysql的索引需要变更时是怎么保持高性能的?
7、介绍一下binlog
8、InnoDB为什么用B+树做索引,为什么不用B树,红黑树
9、CMS和G1的优缺点,G1能百分百保证在指定时间内完成回收吗
10、Java怎么实现定时任务
算法题:1、字符串相加
2、整数拆分,要求用动态规划。大概问问题20分钟,代码20分钟。
https://www.cnblogs.com/smilexuezi/p/11553105.html
面的时候巨卡,恨不得一分钟卡顿一次
猿辅导服务端开发面试--秋招正式批相关推荐
- 一场B站服务端开发面试之旅
作者 | 蓝 来源 | 我是程序员小贱(ID:Lanj1995Q) 此次B站服务端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些题是不是常见的不能再常见 ...
- GrowingIO服务端开发面试、以及对测试开发、趣头条的一点个人看法。仅供参考
1.简历是一位老哥推荐的,都是网易在实习的,他也知道我后来转Scala了,刚好这家公司是全Scala公司,所以就问了有没有兴趣,此时我在趣头条实习,干的是测试开发,所以也想试试. 我大概是去年2017 ...
- 字节跳动智能创作实验室-图像团队2022秋招正式批开启
关注公众号,获取更多AI领域发展机会 内推时间:2021年8月12日-10月31日 招聘对象:2021年9月-2022年8月期间毕业,且最高学历毕业后无全职工作经验的学生(中国大陆以毕业证为准,非中国 ...
- [秋招]大疆秋招正式批笔试
8月13日练习往年笔试题 笔试链接中给出了题目类型 8月14日笔试后更新:测试给出的题型不正确,应该是5道单选,5道多选,3道问答题和1道算法编程题 这里给出一个大佬总结的往年题目以及相应的解析,很详 ...
- 抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(二)
在上一篇 文章中,我们分享了几大互联网公司面试的题目,本文就来详细分析面试题答案以及复习参考和整理的面试资料,小民同学的私藏珍品????. 首先是面试题答案公布,在讲解时我们主要分成如下几块:语言的基 ...
- 送给即将春秋招的同学--一名服务端开发工程师的校招面经总结
前言:作为一名21年大学毕业的Java服务端开发工程师,从19年10月份(大三上)开始进行日常实习面试,期间获得小米.快手.领英.Tencent等offer,因疫情爆发无法准时入职,20年3月份春招成 ...
- 2016届360公司PHP服务端开发笔试和面试之所得所感
这是一篇叙述自己在360公司参加笔试和面试的过程,可能面试的职位并不是你所学的方向,但是如果你能从中学到些什么或者吸取我的教训,那么作者就非常知足了.本着"学习别人是怎么失败的,活着出来的人 ...
- 后端/服务端开发方向面试题全解析
笔者在 2020 届秋招中斩获了京东.网易.去哪儿网等10余家互联网公司的校招 Offer.本 Chat 针对后端.服务端开发方向,分类的详细讲解后端服务端开发方向的面试题目,希望能够帮助到大家,在面 ...
- 计算机网络拓跋结构,实战 | 服务端开发与计算机网络结合的完美案例
前言 大家好,我是阿秀 后端,可以说是仅次于算法岗之外竞争最为激烈的岗位,而其中的服务端开发也是很多人会选择在秋招中投递的一个岗位,我想对于很多人来说,走上服务端开发之路的起点就是一个回声服务器了. ...
最新文章
- Windows10远程桌面Ubuntu——把服务器当超高配置的个人电脑使用
- Mac OS X如何进行字体管理
- pip安装kolla-ansible时报错Cannot install ‘PyYAML‘的解决方法
- 即插即用 | S-FPN全新的金字塔网络,更适合轻量化模型的FPN
- python ffmpeg pyav
- python中文编辑器推荐-Python使用什么编辑比较好,Python编辑器推荐
- mysql小王 保密_利用mysql的注射点得到更多mysql的信息
- Redis整合Springboot实现单机配置
- 宝塔 开启_宝塔面板安装完的一些列操作
- 卓越领导者的智慧(精华版)
- RportViewer(20121023) 参数引起的异常
- Happy Birthday to You
- python矩阵运算法则_python怎么进行矩阵运算?
- ObjectMapper忽略多余字段
- Matlab数字图像处理学习记录【1】——准备与基本原理
- is与==的恩怨、编码的详解
- sql monitor简介
- FTDI的LibMPSSE编译流程
- 白大脑比超级计算机还,巨金怪 - 神奇宝贝百科,关于宝可梦的百科全书
- EXCEL里的Trend函数如何做到数据预测?