面试题目
文章平均质量分 80
童话ing
心之所向,道之所存。
展开
-
【JVM】IO多路复用的三种机制Select,Poll,Epoll以及BIO、NIO、AIO
关于IO面试经常会涉及到阻塞、非阻塞、同步、异步、多路复用、IO多路复用的三种机制Select,Poll,Epol以及BIO、NIO、AIO等几个知识点。前言在介绍内容之前,首先了解一下Linux操作系统中基础的概念:用户空间 / 内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保原创 2021-04-25 21:38:34 · 641 阅读 · 0 评论 -
什么是协程?
原文地址:什么是协程?为什么需要协程?我们都知道多线程,当需要同时执行多项任务的时候,就会采用多线程并发执行。拿手机支付举例子,当收到付款信息的时候,需要查询数据库来判断余额是否充足,然后再进行付款。假设最开始我们只有可怜的10个用户,收到10条付款消息之后,我们开启启动10个线程去查询数据库,由于用户量很少,结果马上就返回了。第2天用户增加到了100人,你选择增加100个线程去查询数据库,等到第三天,你们加大了优惠力度,这时候有1000人同时在线付款,你按照之前的方法,继续采用1000个线程去查询转载 2021-04-11 22:10:49 · 143 阅读 · 0 评论 -
美团2021校招笔试-编程题(通用编程试题,第9场)
题目一:糕点题目描述:小团的蛋糕铺长期霸占着美团APP中“蛋糕奶茶”栏目的首位,因此总会吸引各路食客前来探店。小团一天最多可以烤n个蛋糕,每个蛋糕有一个正整数的重量。早上,糕点铺已经做好了m个蛋糕。现在,有一个顾客要来买两个蛋糕,他希望买这一天糕点铺烤好的最重的和最轻的蛋糕,并且希望这两个蛋糕的重量恰好为a和b。剩余的n-m个蛋糕可以现烤,请问小团能否满足他的要求?输入描述:输入包含多组数据,每组数据两行。每组数据的第一行包含4个整数,n,m,a,b,空格隔开。这里不保证a和b的大小关系。原创 2021-04-06 22:02:49 · 1806 阅读 · 1 评论 -
一致性哈希算法
看了两篇文章,最终基本把一致性Hash搞懂了,这边搬过来主要是为了以后翻阅。原文地址:1、一致性Hash原理与实现2、面试官问:一致性哈希算法是什么?怎么判定哈希算法的好坏?前言互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当前的开源技术、海量数据架构都有着不可分割的关系。比如通过mysql、nginx等开源软件,通过架构和低成本的服务器搭建千万级别的用户访问系统。怎么样搭建一.转载 2021-04-05 20:53:56 · 243 阅读 · 0 评论 -
网易游戏(互娱)2018年-游戏研发/初级游戏研发/平台开发岗部分真题汇总
牛客链接:网易游戏(互娱)2018年-游戏研发/初级游戏研发/平台开发岗部分真题汇总小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘01’…‘23’],分的范围为[‘00’,‘01’…‘59’],秒的范围为[‘00’,‘01’…‘59’]。但是有一天小W发现钟表似乎坏了,显示了一个不可能存在的时间“98:23...原创 2019-09-21 11:13:01 · 621 阅读 · 0 评论 -
二叉树中和为某一值得所有路径
问题描述:给定一颗二叉树,求其中和为某一特定值得所有路径。路径定义为根到叶子的所有节点。主要思路:采用先序遍历的递归方式,利用vector存储路径中的节点。需要注意的就是递归返回时要减去vector里面最后一个节点值,并移除节点。测试代码:#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;...原创 2018-09-29 23:52:57 · 211 阅读 · 0 评论 -
寻找单链表中倒数第k个数
常规思路:(未知单链表长度情况下)遍历一遍单链表查询长度n,然后在遍历一遍查询第n-k个数即可。优化思路:设置两个指针,让指针A先循环跑到第k个位置,然后两个指针同时跑,当A指针到达链表末尾时候,指针B所指即为倒数第k个数。这主要是在A和B之间固定了一个长度k,这样保持长度不变情况下即可得到答案。代码:#include<bits/stdc++.h>using names...原创 2018-09-29 23:34:46 · 561 阅读 · 0 评论 -
判断二叉树是否为对称二叉树
牛客题目链接:https://www.nowcoder.com/practice/1b0b7f371eae4204bc4a7570c84c2de1?tpId=46&tqId=29077&tPage=3&rp=3&ru=/ta/leetcode&qru=/ta/leetcode/question-rankiGiven a binary tree, chec...原创 2018-09-29 23:17:50 · 341 阅读 · 0 评论 -
二叉树先序、中序、后序递归&&非递归
这三种遍历,递归方式都很简单,大概就围绕着这样一个顺序:先序:根左右,中序:左根右,后序:左右根。对于非递归方式:由于采用栈(先进后出)这种数据结构存储结点,因此,结点入栈时需要考虑顺序和原来相反。先序和中序都比较简单,后序相对较难,在代码中叙述。先序:首先根结点入栈,访问根结点,然后结点入栈就先入右边,再入左边,因为退栈访问时候是先进后出的,而先序顺序是按照根左右这样一个顺序,最...原创 2018-10-02 22:50:32 · 307 阅读 · 0 评论 -
字典树原理模板(数组模拟VS指针)+例题
一、字典树概念:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高,但是我们时间空间这两个东西可以相互优化的,什么意思呢,也就是说,你时间复杂度降低了,但是你却增加了内存消耗,也就是所...原创 2018-04-26 12:23:11 · 501 阅读 · 0 评论 -
Java ArrayList底层实现原理
最近听了很多人讲了自己面试的一些题目,阿里、京东(很重视学校)、网易等,发现起来都有一个共同特点,都会面试算法,常见的就是KMP、二叉树、链表、红黑树、B树之类的,当然,大公司非常注重底层实现,也就是说,给你一个东西,你不仅要会用,还要知道他是怎么实现的,效率以及实用场景之类的。想到这里,正在准备考研的我也是不能淡定了啊,于是就决定利用休闲时间,多了解一些常考知识。比如C++ STL里面的vect...原创 2018-04-24 23:30:21 · 1934 阅读 · 0 评论 -
TCP三次握手+四次挥手
由于这些基础知识比较重要,所以就到各处照了一下,整理一下。TCP三次握手:TCP协议提供可靠的面向连接服务,采用三次握手建立连接。第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到SYN包,向客户端返回ACK(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时原创 2018-01-09 19:18:13 · 160 阅读 · 0 评论 -
多进程多线程详解
进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;所有由你启动的进程都是用户进程。进程是操作系统进行资源分配的单位。在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。转载 2018-01-03 20:43:30 · 679 阅读 · 0 评论