腾讯云一面

北京

业务:做消息队列相关,并且是toB(对这个业务还是不太感兴趣)。

上来两个算法,在腾讯会议上做,使用acm模式
算法1:
判断链表是否有环
算法2:
两个有序数组求交集,请看第一张图

开始问基础知识
1. synchronized和ReentrantLock的区别以及使用场景
2. jvm的内存结构
3. 有没有过实际的排查jvm问题的经验(回答:使用jmap分析堆的使用情况,发现老年代内存溢出,原因是创建大对象,然后大对象从年轻代直接老年代,导致老年代空间不够)
4. 当前在公司用的是jdk版本是多少(回答:jdk8,但是后续考虑升级到jdk11)
5. 追问:为什么要升级到jdk11(回答:(不太清楚)或许为了使用jdk11的垃圾回收器吧)
6. 内存溢出后如何检查是哪个对象占用过多空间呢(不清楚)

开始拷问项目:
问了特别多数据库从单机迁移到分布式数据库的问题,面试官比较感兴趣。

改进:
1. 当时做算法题的思路不够最优解。原因是自己好久没面试有点紧张了,题意没有完全看清,并且思路还不明确的前提下就开始开始做了,应该先看清题目给的条件,明确一个完整的思路再开始写。
2. 回答八股的时候,有些不是一下子能反应过来的问题需要先构思一下,避免罗里吧嗦,自己都看不下去了。
3. 一定要提前检查工具是否能共享屏幕,然后对着流程图来给面试官讲解数据库迁移项目,这样方便理解。提前练习下这个项目的讲解。
4. 面试官说简历上可以把百度之前实习经历也加上,并且项目可以写的不用这么仔细。
全部评论
csig,大坑
1 回复 分享
发布于 04-11 12:58 北京
to B 不好吗
点赞 回复 分享
发布于 03-25 15:24 天津

相关推荐

05-24 12:03
湖南大学 Java
1、项目什么时候会触发失败,人为介入;2、sql如何分页展示    在sql中,可以使用limit和offset子句或者row_number()窗口参数来实现分页展示数据; limit number_of_rows表示每页展示的行数,offset offset_value表示跳过前面的行数。例如,对于第一页,offset是0,以此类推;3、http包含了哪些内容    请求方式(get、post、delete、put)、状态码(1XX表示请求已被服务器接收,继续处理、2XX表示请求已成功被服务器接收、理解、并接受、3XX表示需要客户端采取进一步的操作才能完成请求、4XX表示客户端请求有语法错误或无法完成请求、5XX表示服务器在处理请求的过程中发生了错误)4、TCP的状态    三次握手、四次挥手5、如果在建立连接的时候,ack后,开始发送数据,但是ack数据包丢失,这个情况下服务器如何处理这个数据包    首先关于服务器状态的改变,在正常情况下,服务器收到客户端的ACK报文之后,连接就进入了ESTABLISHED(已建立)状态,但是ACK数据包丢失,服务器在发送SYN-ACK报文之后,会等待客户端ACK的确认,此时服务器的状态会一直保持在SYN-RCVD(同步已接受)状态。    服务器的重传机制,在一定时间内,没有收到客户端的ACK报文,服务器会重新发送SYN-ACK报文。    在等待ACK的过程中,服务器会为这个半连接分配一定资源。6、操作系统的进程调度方式,win使用哪些进程调度方式,linux是使用哪些进程调度方式操作系统的进程调度方式主要有以下几种:先来先服务调度算法(FCFS)原理 :按照进程进入就绪队列的先后顺序进行调度,先到达的进程先得到处理。特点 :简单易懂,但可能导致后到达的短进程等待过长。短进程优先调度算法(SJF)原理 :优先调度估计运行时间短的进程。特点 :能有效减少进程的平均等待时间,但难以准确预估进程的运行时间。时间片轮转调度算法(RR)原理 :将 CPU 时间划分为一个个时间片,按就绪队列顺序分配时间片给进程运行,若时间片用完而进程未完成,则进入队列等待下一轮调度。特点 :适合多用户分时系统,保证了每个进程都能获得一定的 CPU 时间,但时间片大小的选择较关键。优先级调度算法原理 :为每个进程设置优先级,优先级高的进程先调度,优先级相同则按先来先服务调度。特点 :灵活但易导致低优先级进程饥饿。多级反馈队列调度算法原理 :设置多个就绪队列,每个队列对应一个优先级和时间片大小,进程根据运行时间和抢占情况在不同队列间移动,优先级高的队列中的进程先调度,同一队列中的进程采用时间片轮转调度。特点 :兼顾多个方面,是较复杂的调度算法,能有效处理各种类型的进程。Windows 的进程调度方式:多优先级反馈调度算法 :Windows 将进程分为多个优先级,优先级高的进程优先调度。系统会根据进程的行为动态调整优先级,如交互式进程的优先级会提高,CPU 密集型进程的优先级会降低。实时进程调度 :对于实时进程,Windows 使用先来先服务和轮转算法,确保实时任务及时得到处理。Linux 的进程调度方式:完全公平调度器(CFS) :基于红黑树数据结构管理进程,通过计算进程的虚拟运行时间来确定调度顺序,优先调度虚拟运行时间少的进程,兼顾进程的公平性和吞吐量。实时进程调度 :包括先来先服务(SCHED_FIFO)和轮转(SCHED_RR)两种策略,确保实时进程及时得到 CPU 资源。过时的 O(1)调度算法 :早期 Linux 使用,基于就绪队列和过期队列,优先调度优先级高的进程。pv操作PV 操作是操作系统中进程同步与互斥的一种重要机制,主要用于处理进程之间的资源竞争和同步问题。PV 操作通过信号量(semaphore)来实现,它包含两种操作:P 操作和 V 操作。PV 操作的定义P 操作(wait 操作) :用于测试信号量的值。若信号量的值大于等于 1,则信号量减 1,进程继续执行;若信号量的值小于 0,则进程进入等待队列等待。P 操作的格式如下:V 操作(signal 操作) :用于将信号量的值加 1。若信号量的值大于等于 0,则直接加 1;若信号量的值小于 0,表示有进程在等待该信号量,此时唤醒一个等待的进程,并将信号量的值加 1。V 操作的格式如下:
查看7道真题和解析
点赞 评论 收藏
分享
评论
8
26
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务