自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Focus5679的博客

记录个人代码用

  • 博客(323)
  • 资源 (1)
  • 收藏
  • 关注

原创 【字节跳动】秋招提前批,逆袭的最好机会(内附个人求职经验)

写在前面:笔者来自一所双非学校,大三在读,目前以实习生的身份加入了抖音直播-IOS开发组。我理解大多数与我相同出身的同学有各种各样的顾虑,但我们如果希望能对得起自己的努力,在激烈的就业竞争中脱颖而出,那么我们必须要学会把握机会,扬长避短。当前字节跳动开启了秋招提前批,在提前批中投递简历不会影响正式秋招的投递,可以让你多一次机会,同时也审视自身的竞争力。对于同学们的一些常见问题和顾虑,我在下面会一一解答。欢迎加入我的内推群,我可以帮助你查询简历的投递进度,解答投递过程中的疑惑。Q&AQ1:

2020-06-30 18:14:16 1478 6

原创 HotRing: A Hotspot-Aware In-Memory Key-Value Store 阅读报告

一、主要内容概要​ 作者认为内存中键值存储(In-memory key-value stores)的热点问题被忽视了,并提出了一种名为HotRing的热点可感知的KV数据结构,它具有以下的特性:基于有序环哈希索引结构,通过让头节点更靠近热点数据来提高热点数据的访问速度提供轻量、运行时的热点转移检测策略支持并发且无锁1介绍​ 互联网公司在实际生产环境中广泛应用内存中键值存储来提高数据存储的性能。学者们研究了不同场景下的热点问题,并且在一些场景中提出了有效的解决方案。然而,内存中键值存储场

2020-06-09 17:22:22 1072 1

原创 RDT可靠数据传输设计情景与设计原理以及性能优化

RDT可靠数据传输目标:不错,不丢,不乱情景1:底层信道完全可靠不会发生数据错误不会丢弃分组RDT设计:只需目的端口与源端口,以及长度即可。情景2:底层信道有数据错误存在数据错误不会丢弃分组RDT设计:差错检测:校验和确认机制:ACK,接收方显式告知分组已经正确接受;NAK,接收方显式告知分组有错误重传机制:发送方收到NAK后,重传分组...

2020-05-07 13:51:00 352 1

原创 Linnux5.0.0下,基于Netlink与NetFilter对本机数据包进行筛选监控

Linnux5.0.0下,基于Netlink与NetFilter对本机数据包进行筛选监控需求:开发一个Linux lkm + app program,由app program提供需要监控的源IP地址,内核模块根据此IP地址监控本机发送处与该源IP地址相同的所有的packet的5元组,源地址、目标地址、原端口、目标端口、协议,并将相关的信息传给应用程序,应用程序将该信息保存在文件中。程序逻辑:...

2020-03-26 14:16:20 1711 2

原创 【这里有一个机会,让你的业务走向更大的世界】

【这里有一个机会,让你的业务走向更大的世界】智行·创想——百度智能小程序创业经营大赛,开启赛场! 想要业务增长?大赛给你:百度全场景权益绿色通道,独家上亿流量扶持;AI数据营销驱动,免费全场景多维度智能分析;行业专家创投大咖面对面交流,一不小心走上人生巅峰! 想要技术成长?大赛给你:百度前沿技术资源,高级AI能力接口免费开放;技术指导全程跟进,助力开发创业落地,更有线下沙龙与技术大拿面对面沟通!还在等什么,快来报名参赛呀!报名速戳:https://smartprogra...

2021-08-12 11:36:27 171 1

原创 Ubuntu18.04 云服务器 配置远程登陆Mysql数据库

环境信息:OS:Ubuntu18.04MySQL: 5.7.30-0ubuntu0.18.04.11.安装Mysql在Ubuntu中,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包apt-get。#命令1sudo apt-get update#命令2sudo apt-get install mysql-server[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gdw5HVlh-15893622

2020-05-13 17:36:58 497 4

原创 SIGNAL相关知识

在Linux定义的信号中,不能被忽略和捕获的信号是哪两个?这样设计的目的是什么?SIGKILL和SIGSTOP不能被忽略原因:因为它们向超级用户提供了一种进程终止的可靠方法。信号的产生的条件信号的产生的条件有哪些?1.当用户按某些终端键时,将产生信号。ctrl+c组合键:产生中断信号 SIGINTctrl+\组合键:产生中断信号 SIGQUITctrl+z组合键:产生中断信号SIGSTOP2.硬件异常将产生信号。除数为0,无效的内存访问等。这些凊况通常由硬件检测到,并通知内核

2020-05-09 11:26:39 265

原创 SIGNAL相关函数

#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int signum)功能:给指定进程发送信号参数:pid:pid>0:将信号传送给进程ID为pid的进程pid=0:将信号传送给当前所在进程组中的所有进程pid=-1:将信号传送给系统内所有进程pid<-1将信号传给指定进程组|pid|的所有进程。signum:信号编号返回值:成功返回0,失败返回-1#

2020-05-09 11:25:06 201

原创 Redis常见容器

Redis常见容器简单动态字符串优势:尝试复杂度获取字符串长度杜绝缓冲区溢出减少修改字符串时带来的内存重分配次数空间预分配惰性空间释放二进制安全(保存二进制文件)兼容部分C字符串函数链表链表节点:链表头:字典哈希表哈希表节点:字典哈希算法与冲突解决哈希计算:# 使用字典设置的哈希函数,计算键key的哈希值hash = dirct-&g...

2020-05-07 13:42:14 377

原创 管道通信习题

1.编程实现命名管道通信,进程a向进程b每隔3秒发送字符串”hello world”实现思路:​ 利用进程从管道读数据时若没有其他进程进行写数据,那么进程会阻塞这一原理。实现write进程只要定时(3s)向管道内写数据,read进程就会在管道内有数据后读出数据并显示。 当关闭write进程后,read进程不会再阻塞,此时会不停地从管道中读出空数据,所以判断当从管道内读出空数据时,read进程退...

2020-04-30 18:55:26 381

原创 IPC(进程间通信)——管道通信

1.什么是进程间通信?​ 进程是一个独立的资源分配单元,不同进程之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源。​ 然而,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递登,因此需要进程间通信。​ 简言之,进程间通信是实现多进程配合工作的方式与手段。2.进程间通信的功能包括什么?并简单描述。数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多...

2020-04-30 18:48:38 198

原创 多进程编程习题

1.循环创建100个子进程fork.c#include <unistd.h>#include <stdio.h>#include <sys/types.h>#include <stdlib.h>int main(){ int i; int num = 1; pid_t pid = getpid(); fo...

2020-04-30 18:45:11 916

原创 进程状态,守护进程,孤儿进程,僵尸进程,全缓冲/行缓冲

1.描述一下进程的三个状态,以及相互转换就绪态:进程所需的资源已经全部准备好,等待系统调度进入执行态。执行态:进程占用CPU资源运行进程,进程运行结束或时间片用尽或缺少资源时会退出执行态等待态:进程需要资源没有全部就绪,进程进入等待态进行等待,当所有资源全部就绪时进入就绪态。进程状态转换:2.进程控制块 PCB​ PCB(Progress Control Block:进程控制模块)...

2020-04-30 18:43:13 248

原创 使用C标准库函数/Linux系统调用实现copy指令

#include<fcntl.h>#include<stdio.h>#include<unistd.h>#include<string.h>int main(int argc, char *argv[]){ int srcfd, desfd; int count; char srcPath[50] = "./";...

2020-04-30 18:38:24 409

原创 动态库的制作与链接

测试代码://zsw.hextern int add(int x, int y);extern int sub(int x, int y);//zsw.cint add(int x, int y){ return x+y;}int sub(int x, int y){ return x-y;}//zsw_main.c#include<stdio.h&g...

2020-04-30 18:36:25 149

原创 gcc与gdb工具使用,静态库与动态库的构建与使用

1.gcc命令的常用选项:1)列出这些常用选项的作用:选项功能-o [file]指定生成的输出文件名为file-E只进行预处理-S只进行预处理和编译-c只进行预处理,编译和汇编-Wall生成所有级别的警告信息-w关闭所有警告-O[0-3]指定编译器优化级别,0为不优化;3优化等级最高-include [file]包含...

2020-03-31 09:25:48 273

原创 《C++ Primer》5th 课后练习 第八章 IO库 11-14

练习8.11 本节的程序在外层while循环中定义了istringstream 对象。如果record 对象定义在循环之外,你需要对程序进行怎样的修改?重写程序,将record的定义移到while 循环之外,验证你设想的修改方法是否正确。#include <iostream>#include <fstream>#include <sstream>#inc...

2020-03-19 17:48:38 221

原创 《C++ Primer》5th 课后练习 第八章 IO库 1-10

练习8.1 编写函数,接受一个istream&参数,返回值类型也是istream&。此函数须从给定流中读取数据,直至遇到文件结束标识时停止。它将读取的数据打印在标准输出上。完成这些操作后,在返回流之前,对流进行复位,使其处于有效状态。istream &func(istream &in) { char c; while (in >> c) { c...

2020-03-19 17:48:06 213

原创 Android开发单元作业2

1. Android资源种类、访问方法。Android的资源可以分为两大类:原生资源:无法通过由R类进行索引的原生资源索引资源:通过R类进行自动索引的资源资源访问的方式由两种:Java代码访问资源:使用来自 R 类的某个子类的静态整型数,例如:R.string.hello在XML文件中访问资源:使用同样与您 R 类中定义的资源 ID 对应的特殊 XML 语法...

2020-03-14 18:24:19 215

原创 Android开发单元作业1

Android分层由高到低可以分为:应用程序层应用程序框架层系统运行库层Linux内核层再近一步细分的话可以分为五层:System AppsJava API FrameworkNative C/C++ Libraries / Android RuntimeHardware Abstraction LayerLinux Kernel...

2020-03-14 18:23:03 206

原创 《C++ Primer》5th 课后练习 第七章 类 51~58

练习7.51 vector 将其单参数的构造函数定义成 explicit 的,而string则不是,你觉得原因何在?因为vector的单参数构造函数指定的是vector的期望大小,相当于构造了一个指定长度的空vector,这显然不合常理的。而string的单参数构造函数则是指定的string的内容,可以在局部构造出一个string类型的临时变量,这符合调用者的初衷,也可以提高编写程序的效率练习...

2020-02-21 17:20:00 406

原创 《C++ Primer》5th 课后练习 第七章 类 41~50

练习7.41 使用委托构造函数重新编写你的Sales_data 类,给每个构造函数体添加一条语句,令其一旦执行就打印一条信息。用各种可能的方式分别创建 Sales_data 对象,认真研究每次输出的信息直到你确实理解了委托构造函数的执行顺序。//Sale_data.h#pragma once#include <iostream>#include <string>u...

2020-02-21 17:18:38 276 1

原创 《C++ Primer》5th 课后练习 第七章 类 31~40

练习7.31 定义一对类X 和Y,其中X 包含一个指向 Y 的指针,而Y 包含一个类型为 X 的对象。class Y;class X{private: Y* p = nullptr;};class Y{private: X p;};练习7.32 定义你自己的Screen 和 Window_mgr,其中clear是Window_mgr的成员,是Screen的友元。//Sc...

2020-02-21 17:18:10 335

原创 《C++ Primer》5th 课后练习 第七章 类 21~30

练习7.21 修改你的Sales_data 类使其隐藏实现的细节。你之前编写的关于Sales_data操作的程序应该继续使用,借助类的新定义重新编译该程序,确保其正常工作。//Sale_data.h#pragma once#include <iostream>#include <string>using namespace std;struct Sales_da...

2020-02-21 17:17:33 195

原创 《C++ Primer》5th 课后练习 第七章 类 11~20

练习7.11 在你的Sales_data类中添加构造函数,然后编写一段程序令其用到每个构造函数。//Sale_data.h#pragma once#include <iostream>#include <string>using namespace std;struct Sales_data { Sales_data() = default; Sales_d...

2020-02-21 17:16:45 237

原创 《C++ Primer》5th 课后练习 第七章 类 1~10

练习7.1 使用2.6.1节定义的Sales_data类为1.6节的交易处理程序编写一个新版本。#include<iostream>#include<string>#include<vector>using namespace std;struct Sales_data { string bookNo; unsigned units_sold = ...

2020-02-21 17:15:55 241

原创 字节跳动 ios开发实习 面经 (内附投递经验与总结!)

笔者是想找C++后台开发实习,找前辈内推了字节跳动的服务端开发,但无奈简历被刷,本来以为会被锁简历,结果同学告诉我可以帮我投一下客户端(ios)开发,我就抱着侥幸心理投了,结果很快约了面试,然后我还比较顺利地通过了三轮技术面,造化弄人啊。写在前面:通过我的经历也可以看出,在牛客上找一位前辈帮助你内推简历不是很困难,但建议尽量要找一个负责并且有一定话语权的员工/HR给你推简历,另外简历一定要重点突...

2020-02-16 22:15:03 2401

原创 CVTE C++开发实习面经

CVTE 电话一面自我介绍讲项目为什么选UDP如果我希望提供一些可靠性,如何做平时常用c还是c++介绍一下STL容器STL里面的容器是线程安全的吗(不会)描述一下C++里的动态多态(说的不清楚)多态如何去匹配库中的函数(不会)讲讲C++11的新特性常见的进程间通信方式有哪些面向对象思想了解吗除了我上面问的你还比较擅长哪方面交叉编译,QT从哪里学到的关于元编程还有信号...

2020-02-16 20:43:47 746

原创 《C++ Primer》5th 课后练习 第六章 函数 51~56

练习 6.51 编写函数f的4版本,令其各输出一条可以区分的消息。验证上一个练习的答案,如果你的回答错了,反复研究本节内容直到你弄清自己错在何处。#include<iostream>#include<string>#include<vector>using namespace std;void f() { cout << "i'm f()...

2020-02-08 16:56:51 247

原创 《C++ Primer》5th 课后练习 第六章 函数 41~50

练习 6.41 下面的哪个调用是非法的?为什么?哪个调用虽然合法但显然与程序员的初衷不符?为什么?char *init(int ht, int wd = 80, char bckgrnd = ' ');(a) init();(b) init(24,10);(c) init(14,'*');a) 非法,第一个参数没有默认值,调用也未传入值。b) 合法。c) 合法,参数的类型是int...

2020-02-08 16:56:23 283

原创 《C++ Primer》5th 课后练习 第六章 函数 31~40

练习 6.31 什么情况下返回的引用无效?什么情况下返回常量的引用无效?当返回的是局部变量的引用时引用无效,当我们希望返回的对象被修改时,返回常量的引用无效。练习 6.32 下面的函数合法吗?如果合法,说明其功能;如果不合法,修改其中的错误并解释原因。int &get(int *array, int index) { return array[index]; }int main()...

2020-02-08 16:54:58 326

原创 《C++ Primer》5th 课后练习 第六章 函数 21~30

练习 6.21 编写一个函数,令其接受两个参数:一个是int型的数,另一个是int指针。函数比较int的值和指针所指的值,返回较大的那个。在该函数中指针的类型应该是什么?int maxxorp(const int x,const int *p) { return (x > *p) ? x : *p;}应该是const int *类型练习 6.22 编写一个函数,令其交换两个int...

2020-02-08 16:53:58 324

原创 《C++ Primer》5th 课后练习 第六章 函数 11~20

练习 6.11 编写并验证你自己的reset函数,使其作用于引用类型的参数。#include<iostream>using namespace std;void reset(int &a) { a = 0;}int main(){ int x = 10; cout << "x: " << x << endl; reset(...

2020-02-08 16:53:27 229

原创 《C++ Primer》5th 课后练习 第六章 函数 1~10

练习 6.1 实参和形参的区别的什么?实参是调用函数时实际传入的值,是形参的初始值。练习 6.2 请指出下列函数哪个有错误,为什么?应该如何修改这些错误呢?(a) int f() { string s; // ... return s; }(b) f2(int i) { /* ... */ }(c) int calc(i...

2020-02-08 16:52:58 174

原创 《C++ Primer》5th 课后练习 第五章 语句 21~25

练习5.21 修改5.5.1节练习题的程序,使其找到的重复单词必须以大写字母开头。#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string s, pres=""; bool flag = true; while (cin &g...

2020-01-28 14:47:03 168 1

原创 《C++ Primer》5th 课后练习 第五章 语句 11~21

练习5.11 修改统计元音字母的程序,使其也能统计空格、制表符、和换行符的数量。#include<iostream>#include<string>using namespace std;int main(){ string s; int sum_a = 0, sum_e = 0, sum_i = 0, sum_o = 0, sum_u = 0, sum_...

2020-01-28 14:46:33 216

原创 《C++ Primer》5th 课后练习 第五章 语句 1~10

练习5.1 什么是空语句?什么时候用空语句?空语句是不做任何操作的语句,当语法上需要一条语句但是逻辑上不需要的时候,可以使用空语句。练习5.2 什么是块?什么时候会用到块?块是指用花括号括起来的语句和声明序列,当语法上需要一条语句但是逻辑上需要一组语句的时候,可以使用块。练习5.3 使用逗号运算符重写1.4.1节的 while 循环,使它不再需要块,观察改写之后的代码可读性提高了还是降低了...

2020-01-28 14:46:05 209

原创 《C++ Primer》5th 课后练习 第四章 表达式 31~38

练习4.31 本节的程序使用了前置版本的递增运算符和递减运算符,解释为什么要用前置版本而不用后置版本。要想使用后置版本的递增递减运算符需要做哪些改动?使用后置版本重写本节的程序。尽可能用前置的递增递减运算符。可以直接将前置的递增递减运算符改成后置的递增递减运算符。练习4.32 解释下面这个循环的含义。constexpr int size = 5;int ia[size] = { 1, 2,...

2020-01-15 12:13:45 263

原创 《C++ Primer》5th 课后练习 第四章 表达式 21~30

练习4.21 编写一段程序,使用条件运算符从 vector 中找到哪些元素的值是奇数,然后将这些奇数值翻倍。#include<iostream>#include<vector>using namespace std;int main(){ int temp{}; vector<int> vec; while (cin >&...

2020-01-15 12:13:23 195

原创 《C++ Primer》5th 课后练习 第四章 表达式 11~21

练习4.11 书写一条表达式用于测试4个值a、b、c、d的关系,确保a大于b、b大于c、c大于d。if(a>b && b>c && c>d)练习4.12 假设i,j,k 是三个整数,说明表达式 i != j < k 的含义。相当于i!=(j<k)在进行i!=()时会先将bool类型转换成int类型,值为0或1。练习4.13 在...

2020-01-15 12:12:41 219

code-data.zip

HotRing: A Hotspot-Aware In-Memory Key-Value Store 阅读报告 代码与数据资源

2020-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除