中国镇江网站,wordpress自定义参数,wordpress+sdk.js好卡,wordpress轮播的插件下载招人背景首先说一下朋友的公司招人背景#xff0c;公司招聘PHP高级岗位#xff0c;负责公司的B2B项目研发、并发问题的处理和解决。领导给了他两个要求#xff1a;#xff08;接下来的讲述我会以朋友的第一人称来进行#xff09;#xff08;1#xff09;技术比较好…招人背景 首先说一下朋友的公司招人背景公司招聘PHP高级岗位负责公司的B2B项目研发、并发问题的处理和解决。领导给了他两个要求接下来的讲述我会以朋友的第一人称来进行1技术比较好2有大项目实战经验。说白了这是一个纯粹的技术岗位能够把项目核心代码解决好来能够去处理好的并发带来的一些问题避免一些隐患问题。干我们这行的都懂大厂都在清理 35 岁以上的基础岗如果到了这个年纪还混不到中高层管理岗位基础岗确实不太好找了。现在的年轻人很厉害很年轻就走上了管理层所以我很庆幸公司在年龄上没有卡人给了很多 30 的程序员简历供我筛选因为我也是程序员所以我不会在年龄上有所顾虑。所以确实就和标题写的那样这两天我就面试了一个 32岁程序员全程让我都感觉有点慌……为什么慌主要是因为年龄比我大不少项目经验肯定也比我丰富得多技术会不会很牛逼会不会吊打我狠狠地虐我我真心怕 hold 不住。但实际面试下来场面一度尴尬结局让我感觉有点唏嘘。面试过程面试者 11年工作经验简历却只有 2 页可以说非常简练从程序员到小组长、项目经理、研发经理、技术总监都干了个遍Java/PHP/Python/C# 也都有涉及。 从交谈过程中他说是可以做一些优化的能够去解决一些并发问题自己的项目经验也比较丰富。首先我说先问些技术问题然后在了解一下你的相关开发项目。我 你有互联网分布式相关项目开发经历么面试者 有啊那个 XXX 项目就是我 好我看到了我看这个项目有解决一些高并发的问题那么我们就先来讲一个普通的场景因为你项目经验比较丰富我就不单问技术情况了就说说场景是如何发生和去解决的。如果有一个普通场景就是1000个用户下单一批商品这个商品是多个不是活动但是库存只有100这个情况。面试者 这个情况的话就可以使用传统的队列去解决然后他就一直在说和用队列的处理的方式之前他是如何处理的首先我不是很关心他之前做的一些业务然后我就打断了他就是普通的场景不是说做活动。面试者那就根据实际的情况来可以选择乐观锁的方式或者说分布式锁的方式。我嗯那你说说实现方式这个点这样用锁会比较好吗面试者那乐观锁的话就是可以使用redis 的watch方法去做监听一下我们的销量然后配合redis事务去使用然后就开始介绍分布式锁。我额。。我在打断一下你使用队列或者锁在这种场景下都会去降低很多的这种项目的吞吐量那这个的话不是会造成用户的阻塞等待这样的话系统的吞吐量就会很差了。而且你不管前面用什么方式你最终都要落地到数据库的那么这个怎么处理呢面试者一般来说都不会在mysql处理呀用缓存不就可以了。可能他项目规模都不是很大对于这种问题只能够去回答一些比较官方的解决方案。我 能介绍下服务与服务之间相互调用的时候如果调用超时了是怎么处理的面试者 超时啊想了几秒后那应该是报错吧我 确定是报错吗他想了想不说话然后我接着说没有重试机制吗重试机制是怎样的做过分布式的项目的都知道重试机制至少读操作要支持重试写操作支持重试的话被调用方还要支持幂等性不然会造成重复写入。面试者 又想了想笑着和我说这个项目有点久了这个不太记得了……然后我看了下这个项目2014 年做的6 年前了他说太久不记得了那也情有可原了。我好你最近做的这个项目能介绍下它的整体架构么面试者 我们用了 Redis做虚拟库存用了 MQ用了微服务……他说了一堆都没说到重点我 我想问的是从上到下这些技术是怎么承接起来的整体的系统架构是怎样的现场没纸笔不然我都想让他画图了面试者 呃……我知道你的意思主要是我真的不知道怎么表达……然后他不说话了场面尴尬了我 赶紧找了继续追问了一个幂等性问题因为做分布式的话这块肯定是会遇到的那你如何理解幂等性呢面试者就是我们使用mq的时候我们会有一个自带的id然后根据这个id去判断是否被消费如果已经被消费那么你就不处理。我 不一定就是MQ就是比如你做一个分布式的接口那么这个接口的幂等性如何解决面试者那就只能写一个标记了.......如果这个接口被调用了的话那么你就标记他被调用这样其他地方就根据这个标记去判断是否还可以调用……想了半天也没有说出好的方案其实这里至少有三个方案接口为什么要实现幂等前端重复提交选中的数据后台只产生对应这个数据的一个反应结果。1token机制 当客户端请求页面时服务器会生成一个随机数token并且将token放置到session当中然后将token发给客户端一般通过构造hidden表单。下次客户端提交请求时token会随着表单一起提交到服务器端。服务器端第一次验证相同过后会将session中的token值更新下若用户重复提交第二次的验证判断将失败因为用户提交的表单中的token没变但服务器端session中token已经改变了。2通过版本号实现-乐观锁 这个的话就要分情况因为加锁的话毕竟会对性能有一些影响3Redis原子性4去重表 利用数据库表单的特性来实现幂等常用的一个思路是在表上构建唯一性索引。将某个内容id与用户id绑定建立唯一索引每当用户点击这个内容时就往表中写入一条数据这样重复点击的数据就无法写入。 然后我就问了一些他目前主要负责的项目项目大概的规模你自己在项目当中遇到的比较棘手的问题你们是如何去解决的。了解了一些发展为什么从上家公司离职这些问题。总结最后我把面试情况总结起来和领导说了领导就说了一句技术是提前。第一次面试一个 32 岁的程序员干了 11 年如果还要面试做技术的岗位这个面试情况确实不理想。也不知道他的真实经历是不是一直在外包公司或许真该清楚认识下自己的定位和未来的职业规划了。随着我跟朋友的沟通到下来这个文章其实我也在感慨朋友说他也感觉更慌了日月如梭他也快有这么一天了如果做不到中高层也要去和年轻抢饭碗没办法这是现实。年纪来了朋友感觉自己写代码确实也写不太动了人也变得越来越焦虑不安能干嘛去呢路子也不多也不知道该如何去发展唯一能做的就是朝着自已期望的岗位或者目标不断努力不断的提升自己的硬实力和基本功最好的贵人就是拼命努力的自己程序员的核心竞争力就是你的技术水平管理能力只有这些都提升上来了这样才能去为日益焦虑不安的自己迎接未来更多的机会。其实现在也有很多年轻人很厉害年轻有为的也不少但是还是要记住一句话种一棵树最好的就是十年前其次就是现在如果你不去开始那么你永远都不会有成功之花绽放在自己人生的枝头上。大器晚成为时也不晚这样的例子也数不胜数所以你要相信只要自己一直在准备找到自己的职业道路学习规划机会总会到来的总会有成功之花绽放的那一天。 如果你喜欢我写的技术文章以及面试总结欢迎关注收看我的视频并且点赞、收藏、关注我哦。 我是luke感谢你的关注据说点赞喜欢收藏了的小伙伴升职加薪、面试必过拿到心仪offer