- 博客(19)
- 收藏
- 关注

原创 面试经验总结
文章目录面经1一面题解二面题与解三面面经2一面题与解答二面三面HR面面经3一面题解二面题与解三面题与解HR面最近忙于找工作,总结下自己的面试经历,勉励自己不断学习不断进步吧。人,不管从事什么样的职业和做何种工作,都要保持一种不断探索和回头总结的习惯,好记性不如烂笔头。面经1一面题直接上题,如图,拿到这张卷子,第一反应是粗略扫了下三个题,第一题一看就会;第二题让我联想到了动态规划,最后也是...
2019-06-26 13:21:49
448

原创 基于LAMP实现后台活动发布和前端扫码签到系统
文章目录目的群体期望需求Mysql数据库&数据表设计manage_infoactivity_infoclass_infolabel_infoact2labelact2stulog_info架构设计服务端web端/微信端需求拆解与编码实现LAMP搭建目录结构与模块拆分登陆&鉴权加密设计导入导出&二维码生成部分页面效果图源码参考文献目的无论是公司、学校和社会团体,都会举办各...
2019-06-12 23:44:33
1047
3

原创 epoll源码分析(基于linux-5.1.4)
文章目录API内核数据结构全局调用关系epoll模块初始化&内存池开辟epoll_createepoll_create/epoll_create1陷入内核do_epoll_create/ep_allocanon_inode_getfile/alloc_file_pseudo/alloc_fileepoll_ctlepoll_ctl陷入内核ep_findep_insertkmem_cache...
2019-06-07 23:32:52
1213

原创 基于线程池、消息队列和epoll模型实现并发服务器架构
文章目录引言需求原型需求分解详细设计文档效果源码获取目录结构参考文献引言并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进行消化掉,假如服务器一秒的处理能力就几万,那么剩下的不能及时得到处理的这些请求作何处理?总不能让用户界面一直等着,因此消息队列应运...
2019-06-07 23:26:46
868

原创 Docker最简教程
本文旨在让你用最短的时间弄懂Docker命令操作,什么虚拟化都太泛泛了,不讲大道理,实践出真知,让你从此的日常开发和工作中在面对Docker时不再茫然失措而是得心应手。本文也不谈安装,我实在认为作为程序员,要是我在这里教你如何安装Docker,既是在浪费你的时间也是在浪费我的时间,请参考Docker安装;Docker命令我认为只要你不是专门研究这个的,那么你只需学会如何使用Docker的一些基...
2019-04-23 00:20:16
302

原创 Hexo+Github博客最简教程-Dockerfile自动搭建
闲谈拿出你的气质,打开你的电脑,借你半小时搭建好属于你的hexo博客,小生用dockerfile自动帮你搭建好;你只需要在你的mac或linux或windows上提前把docker安装好,如何安装不是我的重点,请参考Docker安装;作为程序员,博客就像你的影子,我都已经忘了内心曾经多少次告诫自己,一定要搭建一个属于自己的技术博客,奈何日复一日过去了,近来终于落实到行动上来,所谓明日复明日,...
2019-04-20 22:47:54
1023
1

原创 基于共享内存、信号、命名管道和Select模型实现聊天窗口
问题模型A、B两个进程通过管道通信,A 进程每次接收到的数据通过共享内存传递给A1进程显示,同理,B进程每次接收到的数据通过共享内存传递给B1进程显示;对于A、B 进程,采用ctrl+c(实际为SIGINT信号)方式退出,A、B进程通过捕捉SIGINT信号注册信号处理函数进行资源清理,A1、B1进程手动关闭即可。特别注意A、B通过管道通信,如果首先通过ctrl+c退出A进程,那么B...
2019-04-18 09:17:53
597
原创 XV6源代码阅读-文件系统
Exercise1 源代码阅读文件系统部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exec.cbuf.h:对xv6中磁盘块数据结构进行定义,块大小为512字节。// xv6中磁盘块数据结构,块大小512字节struct buf { int flags; // DIRTY, V...
2019-06-09 16:52:02
1471
原创 XV6源代码阅读-同步机制
Exercise1 源代码阅读锁部分:spinlock.h/spinlock.c以及相关其他文件代码// Mutual exclusion lock.struct spinlock { uint locked; // 0未被占用, 1已被占用 // For debugging: char *name; // Name of lock. struct cpu...
2019-06-09 16:50:02
1553
原创 XV6源代码阅读-虚拟内存管理
Exercise1 源代码阅读内存管理部分: kalloc.c vm.c 以及相关其他文件代码kalloc.c:char * kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void kfree(char * v)接收一个虚拟地址,找对对应的物理地址进行释放。xv6使用空闲内存的前部分作为指针域来指向...
2019-06-09 16:47:53
2687
原创 XV6源代码阅读-中断与系统调用
文章目录Exercise1 源代码阅读Exercise2 带着问题阅读参考文献Exercise1 源代码阅读启动部分: bootasm.S bootmain.c 和xv6初始化模块:main.cbootasm.S 由16位和32位汇编混合编写成的XV6引导加载器。bootasm.S内的汇编代码会调用bootmain.c中的void bootmain(void);main.c主函数内部初...
2019-06-09 16:43:07
1468
原创 XV6源代码阅读-进程线程
文章目录Exercise1 源代码阅读Exercise2 带着问题阅读参考文献Exercise1 源代码阅读基本头文件:types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.htypes.h:仅仅是定义uint, ushort, uchar pde_t别名;typedef unsigned int uint;type...
2019-06-09 16:39:11
3479
原创 Hexo引入Mermaid流程图和MathJax数学公式
文章目录MermaidMathJax参考文献近来用Markdown写文章,越来越不喜欢插入图片了,一切能用语法解决的问题坚决不放图,原因有二:如果把流程图和数学公式都以图片方式放到文章内,当部署到Github上后,访问博客时图片加载实在太慢,有时一篇文章需要画10来个流程图,那你就得截图10来多次,还得给这些图片想一个合适的名字,同时插入图片的时候还要注意图片的插入位置和顺序;如果你...
2019-05-23 12:39:39
3851
原创 常用加密算法的应用
文章目录基本概念密码体制密码破译加密算法对称加密算法非对称加密算法(公钥算法)公钥算法的应用Hash函数(散列函数或摘要函数)Hash函数的应用加密方式流密码参考文献实际工作和开发过程中,网络通信过程中的数据传输和存储大多需要经过严格的加解密设计,比如用户的登陆与注册,敏感信息传输,支付网站和银行的交易信息,甚至为了防止被拖库,数据库的敏感信息存储也需要经过精心的设计。在进行安全设计过程中,或多...
2019-05-23 08:52:07
597
原创 Nachos-Lab3-同步与互斥机制模块实现
文章目录源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 **实现锁和条件变量**Exercise4 **实现同步互斥实例**生产者-消费者问题(Condition实现)生产者-消费者问题(Semaphore实现)Challenge1 实现barrier(至少选做一个Chall...
2019-05-14 20:26:28
1766
原创 Nachos-Lab2-线程调度模块实现
文章目录源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 **线程调度算法扩展**Challenge **线程调度算法扩展**(至少实现一种算法)内容三:遇到的困难以及解决方法困难1内容四:收获及感想内容五:对课程的意见和建议内容六:参考文献源码获取https://gith...
2019-05-14 20:23:09
1139
原创 Nachos-Lab1-完善线程机制
文章目录Nachos是什么目录结构环境源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 扩展线程的数据结构Exercise4 增加全局线程管理机制内容三:遇到的困难以及解决方法困难1困难2内容四:收获及感想内容五:对课程的意见和建议内容六:参考文献Nachos是什么Nach...
2019-05-14 20:13:18
1476
原创 另类P、V操作问题-详细图解
文章目录问题模型分析问题模型有一个系统,定义如下P、V操作:P(s): s.count--; if s<0 then 将本进程插入相应队列末尾等待; V(s): s.count++; if s<=0 then 从相应等待队列队尾唤醒一个进程,将其插入就绪队列; 思考并回答:a. 这样定义P、V操作是否有问题?b. 试用这样的P、V操作实现N个进程竞...
2019-04-26 14:23:46
4701
2
原创 Linux下Docker快速部署LAMP
Linux下Docker快速部署LAMP目录获取基础镜像自定义你的镜像基于你的镜像运行一个容器权限修改访问测试若你的mac或Linux环境未上安装Docker,请移步Docker安装,确认安装成功之后再进行下文内容。目录获取基础镜像$ docker pull tutum/lamp # 从Docker Hub上的tutum用户的仓库获取lamp镜像$ docker images # 列...
2019-04-16 21:11:35
5450
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人