- 博客(42)
- 收藏
- 关注
原创 WSGI nginx
1.什么是WSGIWSGI是web server gateway interface简写。是python应用程序或框架的和web服务器之间的接口。WSGI 接口有服务端和应用端两部分,服务端也可以叫网关端,应用端也叫框架端。服务端调用一个由应用端提供的可调用对象。如何提供这个对象,由服务端决定。例如某些服务器或者网关需要应用的部署者写一段脚本,以创建服务器或者网关的实例,并且为这个实例提供一个应用实例。另一些服务器或者网关则可能使用配置文件或其他方法以指定应用实例应该从哪里导入或获取。WSGI对
2020-09-14 21:50:50
686
原创 linux服务器编程 9.6聊天室练习 epoll重写
《linux高性能服务器编程》 p183示例 epoll实现示例中服务端和客户端都使用了使用poll调用做io复用,我用epoll重写服务端代码,同时尽可能的用了c++风格。。。有些地方可能实现的很累赘,还请各位不吝赐教,这个小项目就权当是熟悉poll和epoll了。服务端代码:/*code for server*/#define _GNU_SOURCE 1#include<iostream>#include<string>#include<sys/
2020-09-02 18:48:42
257
原创 c++ liunx网络编程 头文件
头文件说明sys/types.hlinux系统基本数据类型文件,包含size_t,time_t,pid_t类型(很多typedef)sys/socket.h包含socket的各种方法以及常量的#definenetinet/in.h包含struct sockaddr_in以及htons系统调用等arpa/inet.h提供了ip地址转化函数,如inet_ptonunistd.hl包含了inux系统的很多系统服务的原型,如read,write,sleep,cl...
2020-08-31 15:54:28
427
原创 猿辅导2021秋季校招 服务端开发工程师 一面面经
基础知识1.进程和线程的区别?进程通信与线程通信?2.TCP/UDP区别,TCP三次握手与四次挥手?3.数据库,MongoDB和innodb的索引,为什么用B树做索引?用过关系型数据库吗?4.悲观锁&乐观锁?项目&实习1.校内测评项目是干什么?实习项目是什么?2.es的索引方式?3.es的查询过程,结合分片说一下?4.es的match和term操作区别?算法题目:给一个无序单链表,要求输出两个已排序的链表,一个只包含偶数,一个只包含奇数。思路:好像是LeetCode原
2020-08-08 17:50:36
420
原创 猿辅导2021校招 服务端开发 笔试回忆
题型单选:15道 每题5分编程:3道编程1:并行上课题目:小猿买了很多网课,他担心没有足够的时间学习全部的课程,所以学习到了并行上课的技能,现在请计算出完成所有课程所需要的最大并行量k;参数:k-可以并行上课的最大课程数量输入:第一行-n,代表课程的总数,接下来的n行每行两个数,第一个数为某课程的开始时间,第二个数为该课程的结束时间;输出:一个数k;思路:对所有课程按照开始时间进行排序,维护一个可用并发量remain初始化为0,遍历所有课程,对每一课程,若还有剩余并发量,则reamin
2020-08-01 20:55:53
886
原创 nginx+uwsgi+flsk+python3搭建web服务教程以及踩到的坑
教程推荐实习的时候老板让我先打一个web服务出来,在慢慢的扩充,本想着花一点时间看一下nginx这些东西的原理,老板直接说先别管原理,找个教程搭出来再说。。。然后花了两天半时间才搞出来,真是有点丢人。教程我主要按照这两篇:Debian9部署python3:flask+uwsgi+Nginx+supervisor在 Ubuntu 上使用 Nginx 部署 Flask 应用我的环境是Debian 4.9,python3.5踩到的坑1.nginx配置文件更新不了起因是要查看一下nginx的log
2020-05-23 15:39:56
233
原创 linux高性能服务器编程笔记 第9章I/O复用
2020.05.15三种常见I/O复用函数比较#include<sys/select.h>int select(int fds, fd_set *readfds, fd_set *writefds, fd_set *exceptionfds, struct timeval *temiout);//nfds指定被监听的文件描述符总数,通常被设置为select监听的文件描述符的最大值+1;//readfds,writefds,exceptfds分别指可读、可写、异常等事件对应的文件描述符集
2020-05-15 16:57:47
175
原创 找前n个最大数 & 生成100个不重复的随机数
找前n个最大数假设有10000个数,需要找到里面前10个最大数。朴素的解法当然是先排序,然后输出前10 个数,时间复杂度最低为O(logn)。思考我们可以维护一个10个元素大小的容器,用在某种算法使得这个容器里面维护的就是我们需要的10个数。先从vector开始思考,用前10和数初始化,然后不断的遍历剩余元素,找到一种条件使得可以将新遍历得到的数字加入到vector中,为使得vector保存的是前10个最大的元素,则如果某一次遍历得到的元素大于vector中最小元素,则可以将该元素与vector中的
2020-05-12 13:02:30
304
原创 2020暑期实习 总结
结果以下大概按投递顺序排列:腾讯提前批,一面挂;阿里巴巴,一面挂;微众银行,未面试;网易互联网,未面试;网易互娱,平台开发offer;Thoughtworks,一面挂;华为,二面挂;浪潮集团,软件开发offer;小米,未笔试,未面试;oppo,未笔试,未面试;intel,未笔试,未面试;邮政储蓄银行软件中心,一面未收到结果;腾讯正式批,面试拒。讲道理,学c++还是挺想去腾讯的,但是已经接了网易互娱的offer,不可能鸽了网易去等腾讯的面试结果。而且实在是面试的怕了,腾讯提前
2020-05-09 17:00:19
590
2
原创 linux高性能服务器编程笔记 第5章 linux网络编程基础API
字节序字节序指的是数据的存储格式。小端字节序将高位数据存储在高地址,将低位数据存放在低地址处,大段字节序则相反。如数据0x0102,按地址由低向高扩展,小端字节序存储为02、01,大端字节序存储为01、02。一般情况下PC采用小端字节序,为了统一规范,发送端总是将要发送的数据转换为大端字节序数据在发送,接收端根据自身情况选择转换或者不转换。因此将小端字节序成为主机字节序、大端字节序成为网络字...
2020-04-30 12:58:41
155
原创 最短路径算法 Dijkstra和Prim详解
前言这几次面试的确有好多次问到了最短路径算法,当时答得确实不好,对算法理解的不是很透彻,下面简单梳理一下。Dijkstra算法Dijkstra算法有点DP的意思,适用于单源最短路径算法且要求边的权值非负,同时可以用于有向图和无向图。数据结构定义:map[][]:存放原始图;dis[]:存放从源点出发到达点i的最短路径长度;visited[]:记录节点是否已被访问。初始化:dis...
2020-04-30 12:52:45
1066
1
原创 阿里巴巴 2020暑期实习 面试回忆
分类学校相关问了本科和硕士学校,为什么选择考研去兰州大学?专业排名、项目、研究方向、成果专业知识Q:哈希表的实现方式?冲突的解决?A:一段连续的存储空间,类比数组的索引访问方式,哈希表的索引是根据哈希函数计算得来的;链地址法和开放地址法,开放地址法细节忘了。Q:喜欢什么语言?A:c++(可能是希望我答java吧。。。)Q:map的底层实现?为什么不用AVL树而选择红黑树?红黑树...
2020-04-29 23:07:51
531
原创 linux高性能服务器编程笔记 第4章 TCP/IP通信案例
http通信过程以访问www.baidu.com为例,请求其首页文件http://www.baidu.com/index.html应用程序通过访问/etc/resolv.conf文件获得获得DNS服务器IP地址;UDP模块添加源端口号和目的端口号,将DNS查询报文封装为UDP数据报;IP模块添加源IP地址和目的IP地址,将UDP数据报封装为IP数据报,查询路由表,(假设路由表没有缓存)将...
2020-04-28 18:35:36
199
原创 linux高性能服务器编程笔记 第3章TCP协议详解
2020.04.27客户端从FIN_WAIT_1状态直接进入TIME_WAIT状态的情况:服务端发送带确认信息的结束报文段,相当于此时服务端没有数据需要继续传输。链接长时间停留在FIN_WAIT_2状态的情况:客户端执行半关闭后,未等待服务器关闭便强行退出。此时客户端链接将有内核接管,相当于孤儿链接。TIME_WAIT的原因:1)防止发送的确认报文丢失导致服务端无法正常关闭链接。服务器...
2020-04-27 20:29:54
194
1
原创 邮政储蓄银行 软件开发 2020暑期实习 面试回忆
分类形式线上面试,房间内有1位主持人,3位面试官,3位候选人。自我介绍1分钟,自己的情况、项目、对投递岗位的看法。提问有两位面试官进行了提问。问题Q:TCP如何保证可靠性?(问了另一个人,为什么不问我!!!)A:确认应答、超时重传、拥塞控制、流量控制Q:问了另外一个人项目的问题。A:。。。Q:智能合约的应用场景?c和c++的区别?A:懵了,不按套路出牌啊。一时只想起来...
2020-04-26 15:37:15
4645
2
原创 c++ 为什么不用malloc初始化对象
想起上次网易互娱面试官问到的malloc和new的区别,虽然网上能查到很多标准答案,但还是自己试一试更清楚。写这篇实验其实也是收到了STL源码剖析这本书的影响,STL使用allocator配置空间,allocator在底层还是使用了malloc函数,那么STL为容器初始化对象时的做法,实际上就是这次实验的做法。开始测试的时候在想,为什么不用malloc去新建一个对象,我觉得原因有两点:ma...
2020-04-26 11:56:26
1526
1
原创 华为 2020暑期实习 二面回忆
分类分不出来。。。内容自我介绍使用c++多长时间了?如果项目需要使用别的语言,怎么办?那看来你并不是十分喜欢c++,能说一下为什么做出这个转变吗?为什么选择区块链?为什么没有坚持在区块链上作出成果?为什么放弃了区块链,转而去参加另外的项目?区块链在技术或者实际上的应用你倾向于哪一方面,为什么?家庭信息,情感信息反问环节感想技术主管面,简直是压力面,问题直击心灵,糟糕...
2020-04-19 10:57:06
1466
1
原创 华为 2020暑期实习 面试回忆
内容项目学过的专业课程语言相关网络算法项目我提到试验室的一些测评项目,说到是涉密的之后,面试官就没再问了。。。不过其实也没有什么技术含量。课程提到了数据结构、计算机网络、OS、编译原理、c++这些。Q:常用的寻路算法?哈夫曼树的原理以及应用?A:答了dijkstra和prim算法,哈夫曼树通俗的说了一下。语言相关因为我比较熟悉c++,面试官本来想问Java问题的,也没...
2020-04-19 10:00:21
1548
原创 TCP拥塞控制流程详解
超时重传机制超时重传机制主要是为了解决数据包在传输过程中丢失的问题。TCP每发送一个报文段,就会为这个报文段开启一个定时器,如果定时器溢出时仍然没有收到接收端的应答报文,那么TCP就认为这个报文段在传输过程中丢失,然后重新发送这个报文段。这便是超时重传机制举例:客户端请求发送”and hi”报文段时启动了定时器,然而在规定的时间内没有收到对端的回复,所以重新发送”and hi”报文段,并重启...
2020-04-18 12:34:29
1098
原创 网易互娱 2020暑期实习 面试回忆
分类项目说了实验室的测评项目,没有什么技术含量,但是面试官还是让我说了一些。学习方向Q:我看你是做安全的,那你能说一些你学习到的网络安全方面的知识吗?A:我们实验室的方向不固定,我比较喜欢区块链的一些知识。Q:那你能讲一下区块链为什么是安全的吗?A:从区块链的结构安全和加密算法作了说明。Q:我听你刚才提到了区块链数据的不可篡改性,那为什么我不可以从某一个块开始和同事一起不断...
2020-04-18 10:25:50
6377
1
原创 自己造的c++轮子 字符串系列
这里有一些我自己写的c++轮子,可能效率不高,但是能用。不定期更新,如果有错误或者bug还请不吝赐教。git仓库myString.cpp内容:函数std::vector<std::string> sub_str(const std::string &str, const std::string &elements = " ")接受一个待分割字符串str,分...
2020-04-16 10:06:12
202
1
原创 华为2020 暑期实习生 通用软件开发工程师 笔试回忆
题型编程 3道 120分钟编程1:员工评选投票选举最佳员工,选出得票数最高的员工,若:1)票数相同,按名字的字典序排序;2)票数相同且名字有包含关系(Tom和Tomy),则名字短者在前。输入:一行,名字之间用,隔开,如:Tom,Lucy,Tom,Jack,Rose;输出:最佳员工的名字,如:Tom;思路:设置结构体存储名字和票数,创建一个结构体数组,然后调用sort函数传一...
2020-04-15 21:31:14
2486
5
原创 某易游戏 2020实习生平台开发工程师 笔试回忆
题型编程 3道 150分钟这次时间是真的充分编程1:大刀砍补给有一张m*m大小的地图,小明站在地图的一个点上,他有一把l长的大刀,地图上有分布的补给,每次砍到补给都可以使大刀延长x米输入:两个数m,l,接下来m行,每行m个数,代表地图,0为空地,其他值代表补给x,接下来一行两个数,代表小明的起始位置,小明不会移动;输出:大刀的最长值思路:保存所有有补给的点,计算这些点到小明的距...
2020-04-11 21:55:26
189
原创 美团 2020暑期实习生 笔试回忆
题型编程 4道 120min编程1:时间回流给定一个时间,包括星期几d、时和分,给出一个分钟数n,求解n分钟以前是什么时间。输入:d,一个字符串如20:20输出:一个字符串,如23:59思路:第一题比较简单,就是刚拿到有点蒙,直接给分钟数-n,while(m<0)就不断的+60,然后h-1,h为负就置为23,然后d-1,d为负就置为7.编程2:字符串操作给定一组字符串...
2020-04-10 11:58:49
426
原创 阿里 2020暑期实习生 笔试回忆
题型编程 2道 60min编程1: 修水渠给若干点的坐标,代表每一个村子,现在要修一条平行于y轴且无限长的水渠,求所有村庄距离这条水渠垂直长度之和的最小值。输入:n代表村庄的个数,接下来n行,每行2个数,代表村庄的坐标,x>=0,y<=10000输出:一个数,代表最小距离思路:想了一下好像和纵坐标没关系,然后拿笔试了试,认定水渠的x值必是和某一村庄的x相同(感觉有点...
2020-04-10 11:30:35
963
原创 某互联网银行 区块链技术暑假实习生在线笔试 回忆
题型单选 20道编程 3道时间比起网易的笔试宽裕多了。。。单选单选主要考了java 的一些特性、数据库操作、多线程,数据结构考了二叉树的顶点数量关系。因为java 不太懂,有些题都是蒙的,接口相关的考了好几道。编程买礼物有n个人、m个礼物,要把礼物平均分给他们,现在有两种策略来实施:花a块钱请走一个人花b块钱再买一个礼物输入:n、m、a、b输出:把礼物平均分给每个...
2020-04-08 21:35:50
593
原创 网易2020春季c++实习生招聘 笔试回忆
题型单选 10道编程 4道问答 2道单选单选涉及到的几个部分有:c++语言特性,面向对象主要还是继承和虚函数操作系统,考了生产者消费者对信号量的处理以及对进程的挂起和唤醒逻辑图论,考了一道无向连通图的特点,还有一道BST相关的时间复杂度问题程序阅读编程1.城市封锁输入城市数量n、消息数量m、目标城市f,以及n行消息,每条消息有两个整数,x和y,代表城市x和y之间的...
2020-04-08 12:39:35
317
原创 背包问题(1) 0/1背包、完全背包
0/1背包问题假设有n件物品,他们的体积分别为v[i],价值分别为w[i],有一个容量为m的背包,如何选择物品装入背包能够的得到最大的价值。(物品种类不超过N个)条件:每件物品至多只能选择1次状态定义:f [ i ],表示背包体积为 i 时的最大价值转移方程:f [ i ] = max( f [i] , f [ i - v [ i ] ] + w [ i ] )#include&l...
2020-03-31 16:03:52
189
原创 腾讯互娱2021年游戏客户端开发工程师暑期实习生面试经历
前言还是一次比较惨痛的面试经历,也是提醒我选择岗位的时候一定不能由着性子。。。估计是见不到二面了问题总结Q:有没有一些游戏客户端开发的经历,或者是游戏开发的项目?A:没有Q:没有这些项目和经历的话为什么选择投游戏客户端开发岗呢?A:因为我看到岗位的要求我都基本满足,所以想投递这个岗位。Q:能具体说一下吗?A:我比较熟悉c++开发语言,而且对数据结构和操作系统也有一些了解。Q:好,...
2020-03-17 18:41:46
1240
原创 c++ Expression: vector iterator + offset out of range
今天写代码遇到这个问题void nextPermutation(vector<int>& nums) { int start = bigFlow(nums); sort(nums.begin() + start + 1, nums.end()); //报错行 }这个函数的报错是迭代器加法越界,因为我的bigFlow()函数返回值在-1~n之间,所以迭代器的区间...
2020-03-04 11:01:40
1281
原创 计算机网络体系结构
原作传送门文章目录计算机网络体系结构各层作用及协议物理层数据链路层点对点信道广播信道网络层IP网际协议ICMP网际控制报文协议内部网关协议外部网关协议IP多播VPN和NAT路由表包含什么运输层tcpUDPTCP和UDP的区别TCP黏包问题TCP流量控制TCP拥塞控制TCP传输链接管理三次握手建立链接TCP为什么要进行三次握手四次挥手释放链接问题应用层DNSFTPTELNETWWWURLHTTP其...
2020-03-03 17:47:11
253
原创 红黑树
红黑树一致性结构 Persistent Structure对于数据结构:向量、列表、栈、队列、树、图,他们在经过动态操作后,其逻辑结构会进入一个新的状态,旧的状态将被遗忘,称他们为ehpemeral structure。但我们在实际应用中,有时是需要历史结构的,如果一个数据结构能够支持这种特性,则成为Persistent Structure。完成这一目标看似不难,我们可以蛮力保存每个版本的数...
2020-02-23 20:11:46
118
原创 B-树
B-树B-树提出的初衷随着存储技术的不断提高,虽然内存的绝对容量也在不断地增长,但相比于数据库容量的增长,内存的相对容量实际上是在缩小的。如我们执意的增加内存容量,则会导致其访问速度的降低,因此我们需要牺牲部分的内存容量。由于访问外存与访问内存速度的差异,我们宁可访问内存多次也不愿访问一次外存,引入多级存储系统后,我们更希望访问的数据位于更高层的存储设备。B树即是借鉴了多级存储思路。B-树...
2020-02-17 20:44:40
149
原创 伸展树
文章目录伸展树宽松平衡、局部性自适应调整逐层伸展双层伸展算法实现接口算法实现 伸展操作算法实现 查找算法算法实现 插入算法算法实现 删除算法综合评价伸展树宽松平衡、局部性AVL树的平衡准则过于苛刻。刚被访问过的数据,极有可能很快地再次被访问,推广:下一将要访问的节点极有可能在刚被访问的节点的附近。连续的m次查找(b>>b = |BBST|),采用AVL供需O(mlogn)的...
2020-02-14 20:48:28
154
原创 c++编译报错error LNK2001: 无法解析的外部符号
c++编译报错error LNK2001: 无法解析的外部符号这个报错是真的迷惑,一般会提示到无法解析的一个函数或者一个变量。如果是变量的话,一般是静态成员变量static typename xxx没有经过初始化便使用(不是类的数据成员的话vs会报错)。原因是我们如果只是声明静态变量而没有初始化的话,编译器是不会为这个静态变量分配空间的,只有当初始化静态变量之后,编译器才会在内存的静态区给这...
2020-02-13 18:12:06
1312
原创 AVL树
二叉树二叉搜索树BST在二叉树的形式基础上借鉴了有序向量的特点。对有序向量的借鉴多体现在BBST。循关键码访问call-by-key:数据项之间,依照各自的关键码彼此区分,关键码之间可进行大小比较以及相等比对。以下将数据集中的数据项统一表示为词条entry。词条应包含:模板类、关键码、键值、默认构造函数、克隆函数、比较器、判等器,并将磁条的比较转化为key的比较。顺序性:任一节点均不大...
2020-02-11 20:56:49
147
原创 使用以太坊geth搭建私有链与ethereum wallet交互中出现的问题
目录geth和ethereum wallet的安装geth 的启动相关系统自动账户相关密码更改coinbasegeth私有链和ethereum wallet的链接智能合约相关geth和ethereum wallet的安装https://blog.csdn.net/apple9005/article/details/81045933geth 的启动相关我使用的环境是VMware® Works...
2019-11-19 14:24:29
1084
原创 区块链学习笔记(3)--区块链与审计part2 (对论文Secure and Transparent Audit Logs with BlockAudit的学习)
使用区块审计进行安全透明的日志审计论文 “Secure and Transparent Audit Logs with BlockAudit” 学习笔记文章目录使用区块审计进行安全透明的日志审计摘要介绍背景以及威胁模型日志审计威胁模型研究现状问题陈述以及需求工程设计功能需求结构需求安全需求区块审计应用架构web应用业务逻辑层ORM生成审计日志将审计日志集成于区块链创建区块链网络访问控制创建区块...
2019-08-26 20:02:03
1470
原创 物联网与无线传感器网络期末考试复习资料(教材--刘伟荣,何云--电子工业出版社)
无线传感器网络概述无线传感器网络介绍1.无线传感器网络是一种特殊的无线通信网络,它是由多个传感器节点通过无线自组织的方式构成的,应用在人么力所不能及的领域,如战场、环境等地方。2.WSN和Ad hoc的共有特征:自组织:无线传感器网路和无线自组织网络一样,都是应用在地理条件比较恶劣或者人不能到达的地方,因此减少了人为的干扰,增加了许多自然地不稳定因素,节点可能随时时效,为了保证网络的...
2019-07-02 16:37:43
8142
1
原创 区块链学习笔记(2)--区块链与审计part1 (对论文Blockchain as an Audit-able Communication Channel的学习)
区块链作为一种审计信息信道对论文”Blockchain as an Audit-able Communication Channel“的学习笔记图片来自于原论文,侵删摘要Applications requiring strict access control, such as medical record query, often require auditing of the quer...
2019-06-13 15:23:11
1283
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人