分类 生活 下的文章

Protobuf全称Google Protocol Buffers,Protobuf是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

一、什么是序列化?
序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易。不同的计算机语言中,数据结构,对象以及二进制串的表示方式并不相同,序列化为的是解决跨语言、跨平台的通讯问题。序列化后的数据当然不能是某种语言的特殊数据类型,常用的序列化协议有XML、JSON、Protobuf等。

  • 序列化: 将数据结构或对象转换成二进制串的过程。
  • 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。

- 阅读剩余部分 -

1、熟悉当前业务
2、PHP:基础、核心(zend)
3、框架:CI、Yii2、ODP
4、Javascript(Javascript DOM编程艺术)
5、其他:Git、Linux、Shell
6、PHP Good coder认证

CVTE面试步骤:在线测评、HR面、笔试、技术面、HR终面

技术面遇到做嵌入式的老师,问了若干Linux、数据结构问题,面挂了。整理技术面的问题,算是一次经验吧!

一、Linux

(1)查看系统进程
ps命令用于查看当前正在运行的进程(瞬间信息、不动态变化);top检测系统性能, 实时地提供进程信息(类似与任务管理器)。

(2)查看僵尸进程
首先,我们可以用top命令来查看服务器当前是否有僵尸进程,在下图中可以看到僵尸进程数的提示,如果数字大于0,那么意味着服务器当前存在有僵尸进程
thum-6dbefaa0c8fed11e492ce4e14665744920101221050808.png

下面,我们用ps和grep命令寻找僵尸进程

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

命令注解:
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程
运行结果参考如下

Z 12334 12339 /path/cmd

这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程
运行后,可以再次运行ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'来确认是否将僵尸进程杀死
如果kill子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行kill -HUP 12334来解决问题。

- 阅读剩余部分 -

(此文章纯属谈笑解趣之作,不带任何攻击色彩,望有关人士见谅)

著以此文,一来缓解长期压抑之情绪,二来以嬉笑怒骂之口吻,抒同窗共处之友情。此文虽不及太史公“究天人之际,通古今之变”,却也能“成一家之言”;虽以调侃之形式,文采不及“无韵之离骚”,却以实记载某人雷人之事迹。藉此笑谈,重拾过往荏苒岁月。惜缘!

牛博者,四杰也,山东潍坊人士,其名曰“四杰”。牛年少得志,尤以聪慧响彻四邻,现虽已过弱冠,其风采仍不减当年。牛其人,性温和,虽不善言辞,然玉树凌风,品行端正,秉性善良。善交际,其广交计院各界之士,得众人一致之好评。牛为人处事,态度之认真,工作之负责,非常人所能及也,遂得众者之拥戴,居项目组之要职,实为出类拔萃之人才!牛虽善,然有时词不达意。其言语之奇特,漏洞之奇多,实让人不忍卒笑。

某日,牛赴路边烧烤,不知何故,肉未熟,店家仍以盛之。牛吞之,觉肉未熟,遂冀店家再烤之。店家见牛年少,面露轻视之意,故不予熟肉。牛见状,别无他法,遂啖生肉。归途中,牛不悦,心绪杂乱,无以吐槽。某日畅聊之时,牛方才诉之,众者瞪足双眸,以极其惊讶之势,问牛:“汝何以忍此事?”牛长叹,曰:“图样图森破!”吾对此实不忍多言。此类事尤甚多,故不一一枚举。

虎哥曰:中华五千年,奇人辈出不断,然如牛者,虽不说后之来者,却可叹绝前无古人。与牛之相识,实乃人生之一大幸事也。吾已有良师辅导吾之左右,又现此益友,夫复何求?然天下人,能得惜如此之奇缘者,又有几人乎?遂以此文记,望同者共勉!