![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web
NSMC
在是非之外有一座花园,我们会在那里相遇
展开
-
新的一年,回顾我写的《PHPer面试2020》
hi!新的一年来了,回顾2020年我在看云写的几本书,也算有很好成绩。超出我预期的用户量付费阅读了《web开发者知识体系》和《PHPer面试-2020》。其中不少读者是来自csdn,很感谢这个平台。下图是付费用户的pvuv数据:众所周知2020年的金三银四几乎没有,很多同学打算赶一波2021年的金三银四。亦或者很多小伙伴今年匆促找工作并不如意,明年春天重新找个称心如意的。两本书的价格下调一半已上,3/5块钱一本。希望对大家的学习有所帮助,也让同学觉得更加物有所值,物超所值。《web开发者知识体原创 2021-01-27 14:32:37 · 169 阅读 · 0 评论 -
答面试官问:如何设计APi接口
关于接口设计,需要注意区分pc,wap,app不同端的接口请求和通用性,以及实现签名鉴权,访问控制等功能。接口参数定义接口设计中往可以抽象出一些新的公共参数,从事了近三年的接口开发工作中,我目前能想到了一些较为常见的公共接口参数如下:| 公共参数 | 含意 | 定义该参数的意义 || — | — | — || timestamp | 毫秒级时间戳 | 1.客户端的请求时间标示 2.后端可以做请求过期验证 3.该参数参与签名算法增加签名的唯一性 || app_key/source | 签名公钥(来原创 2020-09-20 17:13:05 · 879 阅读 · 0 评论 -
答面试官问:如何防超卖,有几种实现方式
场景第一种方法 悲观锁悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作读某行数据应用了锁,那只有当这个事务把锁释放,其他事务才能够执行与该锁冲突的操作。悲观并发控制主要用于数据争用激烈的环境,以及发生并发冲突时使用锁保护数据的成本要低于回滚事务的成本的环境中。简而言之,悲观锁主要用于保护数据的完整性。当多个事务并发执行时,某个事务对数原创 2020-09-10 10:11:59 · 1397 阅读 · 0 评论 -
答面试官问:如何设计短url服务
什么是短url短url, 顾名思义,就是将长网址缩短到一个很短的网址,用户访问这个短网址可以重定向到原本的长网址(还原)。这样可以达到易于记忆、转换的目的,还有隐藏链接参数,利于短信推广的作用,常用于有字数限制的短信、微博、二维码等场景。错误答案这个实现的思路真的是天花乱坠,此处总结几种错误的实现方式来避坑。1. 实现一个算法,可以直接把一百个字符左右的长网址缩短到10位以内,并可以原样还原,即可逆不可能的。为所有可能存在的长链接实现一一对应,本身是不可能的,会出现碰撞,多个长链接对应一个短链接,原创 2020-09-10 10:11:13 · 372 阅读 · 0 评论 -
帮助 phper 理解 RPC 是怎么回事儿
1.什么是rpcRPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。2.从通信协议的层面基于HTTP协议的(例如基于文本的SOAP(XML)、Rest(JSON),基于二进制Hessian(Binary))基于TCP协议的(通常会借助Mina、Netty等高性能网络框架)RPC(远程过程调用)是什么简单的说,R原创 2020-09-01 23:08:18 · 120 阅读 · 0 评论 -
分享下我在5,6月份求职的面经(php后端)
汇总最近一两个月,我分别参加了力拓飞远,最右app,轻松筹,大搜车,360,立思辰,微淼商学院,滴滴,百度,字节跳动,理想汽车的在线/电话面试,拒绝了小熊美家,小叶子TheOne,作业帮,世纪佳缘的到场面试。总结下面试题和面试经验,我的经历,与君分享。异曲同工的面试题nginx:epoll模型nginx和fpm的交互流程有哪些优化项负载均衡策略和对比限流mysql:锁机制,索引,事务,隔离级别和对应解决的问题。sql查询优化,以及explain计划。mysql比较常见的细节问题,比如原创 2020-09-01 23:07:03 · 963 阅读 · 0 评论 -
ssh服务为web生产服务器保驾护航
场景我们给自己的博客搭建一个站点,配置lnmp/lamp运行环境可以跑起来,差不多就完事了。但是当我们做的是一个中型或者大型项目,在它需要部署到生产服务器上线运营时,账户安全方面需要做些什么?ssh安装apt-get install openssh-server启动/etc/init.d/ssh start 使用ssh martist@192.168.123.3//ssh...原创 2019-10-29 10:08:47 · 198 阅读 · 0 评论