- 博客(9)
- 收藏
- 关注
原创 记录秋招服务器开发面经(游戏服务器)
希望过几年来看这些鬼问题会有不同的看法吧。记录一下。offer: tap4fun游戏服务器(实习转正),疯狂游戏 游戏服务器,bilibili 音视频服务器开发,网易互娱 游戏研发,字节跳动游戏服务器。简历未过 :猿辅导笔试放弃: 多益网络, 西山居,叠纸。笔试挂 :完美世界游戏服务器,百度C++开发(由于两天面了两次面试而且还都没睡着,笔试时候直接睡着了)。面试放弃 :搜狐畅游,腾讯QQ音乐后端(因为拿了字节就不去面了)一面挂:Funplus...
2020-12-01 22:45:04
4583
4
原创 C++网络编程事务选择模型,服务端。
上篇文章我用了select模型,但是它其实缺点还是很明显的,就是select函数本身是个阻塞的函数,这回用Event模型,就解决了这个问题,而且能处理更大量的连接了。
2020-04-02 20:00:15
364
原创 快排+归并排序的代码实现
快速排序实现代码:思路:选取区间关键元素,设置左右下标,从右往左遍历,找到比它小的数字。就把右元素的值赋值给左元素所在的位置,之后从左往右遍历,遇到比关键元素大的,就把左元素的值赋给右元素所在的位置。最终这个关键值将会在它最终排序的位置,所以关键就不用再继续进行排序了。之后再分解为以关键字左右两边进行排序。就能做到快排了。#include<stdio.h>#include&...
2020-03-24 13:35:41
263
原创 C++单例模式的实现
#pragma onceclass Singleton{private: Singleton();public: static Singleton& getInstance() { static Singleton instance; return instance; }};
2020-03-24 09:54:47
167
原创 网络编程,select模型,C++实现服务端,客户端。
先说一下Socket编程,普通C/S模型服务器端咋实现的。1、打开网络库(校验版本号对不对)2、创建服务器socket3、bind,绑定IP地址类型,ip地址,端口类型在服务器socket。4、设置监听(就是可以一直监听有谁来连接服务器)5、创建客户端socket,接收连接。也就是accept函数去创建。6、接收和发送信息。但是这个模型有个缺点。在第五步的时候,如果没有...
2020-03-21 09:46:17
1376
原创 线性筛素数及欧拉函数打表。
传统的筛法筛素数由于会重复标记所以会出现多余的操作,导致复杂度上升。这里有一个线性筛素数的方法可以在O(n)的复杂度内将所有非素数标记出来。 首先 ,一个非素数可以看作是多个素数的乘积,如10 可以看作2和5,14 看作2,7, 25==5*5 ,36=2*3*3*2 那么一个数一定由一个最小的质因子,乘以某个数的来的。并且这个关系一定是一一对应的。 可以自己画表尝试验证一下。那么...
2018-07-18 23:32:36
354
原创 块状链表的数据结构。
首先,块状链表是数组和链表的结合体。我们知道,在数组中删除,插入一个元素的复杂度是O(n),在链表中,插入和删除的复杂度是O(1)。 而在链表中,查找的复杂度是O(n)的,数组中是O(1)的。于是就有人想到一个方法,把数组放在链表里面,形成块状链表。这里给出结论,块状数组的查询删除插入复杂度为O(x+N/x) 这里的x为块的大小N为元素个数。在普通链表里面 data1 -->dat...
2018-07-17 00:17:59
500
原创 快速幂算法
快速幂算法通常用在求 A^B%C 的时候,因为当B足够大的时候 n与logn 的差距就非常巨大了。并且B十分巨大的时候通常我们已经存不下这个数值了。所以一般要对一个C 取模。普通n个a相乘复杂度为O(n),快速幂由于是用二进制分开计算并且每次的值在下次计算的时候都会重复利用 所以复杂度为O(logn)。首先假设 B 化为2进制为 a1 + b2 + c4 + d8 + E16 ……………………...
2018-07-15 21:38:27
4589
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人