锐评编程语言

我本身是从土木转过来的,土木学了一门VB的语言,说实话这个语言我感到很陌生,但又觉得很好玩,这也算是初次接触计算机的编程语言,转到计算机的时候,已经是大一下学期了,错过了C语言,其实那时候觉得自己差了一大截,如今站在上帝视角才明白,其实并没有,自己补了下C语言,给我的感受就是,C语言不愧是各种语言的根基,但是也很难,后面学了CPP,说实话我到现在都没有发现二者显著的区别,再到后面学习了python语言,老是听老师说这东西很简便,在算法领域用的很多,但是并没有感受到,这三个也是学院教的语言,后面考虑到就业,目光也比较短浅,找不到C、CPP的就业领域,至于Python的话,单学这个又没有好的收益,最开始学的前端三件套加VUE,但最后学长都学前端马上就要被取代,最后学了Java,也走向了后端的道路,说实在的,我现在并不认为前端要完了,今天行情明显前端好得多,后端卷的起飞,实习的时候用了Java和Python,Python确实代码量少。但是我更喜欢Java。因为用Python的时候,我老是搞不懂某行代码在干嘛,尤其再用Django框架的时候,封装的太多了,你需要从下至上很了解才能灵活使用,至于Java,大部分都是自己写的,虽说代码量多了一些,但是很清晰,当然,比起来C/CPP的造轮子能力面前就显得微不足道了。总的来说,我觉得c\cpp过于难,而且并没有明确的就业途径,单写python对学历的要求又高了一些,至于新出的go语言,我并没有接触,只听说协程很牛皮,Java我还是很认可的,既没有C/CPP这么难,又比Python语言要清晰。就业也很广泛,我不是再劝进Java,我也觉得过于卷了。#牛客AI配图神器##从夯到拉,评价编程语言#
全部评论

相关推荐

你xx项目/xx实习/xx经历中 你觉得最有挑战、创新点、你最大的成长是什么?面试一共一小时,抛开八股、算法估计只有半小时,如何在这短短的半小时给面试官留下最有差异化、竞争力的印象其实就取决于这类问题的回答。大部分人可能的回答方式是:xx项目用了xx技术,优化了性能xx%,节省了人力xx%。 这种回答固然没有问题,但是没有足够的让面试官了解到最全面的你。好的回答方式应当是从项目背景出发,按照项目背景->产品设计->技术选型->问题发现->产品优化->技术优化->最终成果 这样的思路去回答问题。用大家最熟悉的外卖项目举个例子:面试官:你这个项目最大的难点在哪?回答:【面试官您好!我选择重点分享 “订单高峰期高并发处理与系统稳定性保障” 这个核心技术难点的实践过程。首先先介绍下项目背景:苍穹外卖是覆盖 C 端用户、B 端商家、骑手端的全链路 O2O 餐饮平台,核心支撑 “下单 - 接单 - 配送 - 支付 - 统计” 全流程,而午晚高峰的高并发下单是平台最核心的场景之一,直接影响三方用户的核心体验,也是整个项目最关键的技术挑战。从产品设计来看,我们的核心诉求很明确:高峰时段用户下单支付不能卡顿、不能超时,要求响应时间≤3 秒;商家要实时收到订单通知,骑手能及时获取配送单,同时绝对不能出现菜品超售的情况 —— 毕竟超售不仅会让用户投诉,还会影响商家口碑。初期我们的技术选型是 SpringCloud Alibaba 微服务架构,因为微服务能横向扩展,应对并发压力;用 MySQL 存订单核心数据,Redis 缓存热销菜品这类热点数据,RabbitMQ 来解耦订单推送、短信提醒这些异步通知,核心思路就是 “拆分压力、解耦流程”,让每个服务专注做自己的事。但压测的时候,问题很快就暴露了:当并发量超过 300QPS,下单接口响应时间直接冲到 5 秒以上,完全不达标;而且热点商家比如连锁快餐,出现了明显的超售 —— 多个用户同时下单同一款菜品,库存校验没控制好,导致实际卖出的比库存多;另外骑手端还出现订单推送延迟,因为 RabbitMQ 队列堆了太多消息,消费速度跟不上。发现这些问题后,我们先从产品层面做了优化:把下单流程拆成优先级,核心的 “创建订单 + 库存预占” 先完成,让用户快速看到下单成功,而积分赠送、短信通知这些非核心流程,后续异步处理;还加了库存预占机制,用户下单后先占住库存 5 分钟,没支付就自动释放,从业务上避免超售;骑手端这边,给订单分了级,距离商家近、路线顺的骑手,优先推高优先级订单,比如快超时的单子。技术层面的优化是重点,我们做了四件核心事:第一是并发控制,用 Redis+Lua 脚本实现库存原子预减,因为 Lua 脚本能保证操作的原子性,不会出现并发冲突;给热点商家加了 Redisson 分布式锁,限制单商家的并发下单量,避免单个商家拖垮整个系统。第二是流量防护,用 Sentinel 对下单接口做限流,峰值设到 500QPS,超出的请求就返回 “高峰期稍候再试” 的友好提示,防止系统雪崩。第三是异步提速,把下单流程拆成 “同步核心 3 步 + 异步非核心 4 步”,异步任务通过 RabbitMQ 投递,消费端用多消费者组加线程池提升处理速度,还设了死信队列兜底失败的消息,避免消息丢失。第四是缓存优化,把热点商家的菜品信息、库存都缓存到 Redis,设 3 分钟过期;同时用 Canal 监听 MySQL 的库存变更,实时同步到 Redis,保证缓存和数据库一致。最终的成果也很显著:高峰时段能支持 500+QPS 的并发下单,接口响应时间控制在 800ms 以内,超时率低于 0.1%;热点商家的超售率降到了 0,骑手端的订单推送延迟也≤500ms,完全满足了产品设计的核心诉求,也保障了平台高峰时段的稳定运行。这个难点的解决,让我深刻体会到 “产品诉求引导技术方案,技术优化落地业务价值” 的思路,也积累了高并发场景下 “限流、缓存、异步、分布式锁” 的实操经验,也是我做这个项目中收获的最大成长】这种有头有尾的介绍,能够带给面试官一种你能依赖自己设计架构-发现问题-解决问题-总结问题的能力,从而与其他同学拉开差距。如果有帮助,希望能送朵小花。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务