终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

司马南|脱口秀算什么?

自由微信安卓APP发布,立即下载! | 提交文章网址

大淘宝技术

2023大淘宝技术工程师推荐书单

的生命周期、性能优化、单元测试、服务端渲染等等。你不仅能够掌握这些技术,更能够理解这些技术的诞生原因与适用场景,真正做到知其然知其所以然。由于出版时间的问题,这本书并不包括我们今天司空见惯的
4月23日 下午 4:20

淘宝iOS拍立淘微距能力探索与实现

iPhone13),可以自动切换摄像头,只能使用AVCaptureDeviceDiscoverySession获取)AVCaptureDeviceTypeBuiltInTripleCamera
4月21日 下午 4:20

负责淘宝业务前端开发9年,聊聊我的心得

的负责人嗷嗷(首页的前前任主管),他说『如果你要做就把性能提升一倍,要不然就别做了』。于是我又找了释然(首页前任的主管),他说『好啊,那你就做到第一』。这时我就更加郁闷了,天猫首页首屏基本是一个大
4月19日 下午 4:20

SSR在天猫优品大促会场的探索实践

60-70%。低端机主要的性能瓶颈在于代码执行和渲染时间长。结果对比左csr,右ssr;浏览器访问,高速3G网络下;jsTracker
4月17日 下午 7:50

基于 Git 的开发工作流——主干开发特性总结

在参与开发的过程,得益与平台提供便捷的开发流程,简化很多开发过程操作分支的步骤;也就很好奇,为什么研发平台怎么设计,考虑的点是为什么,便有了这次对主干研发的学习与记录。当我们是构建软件项目的唯一开发人员时,可以根据个人喜好创建和修改代码。当我们为团队运行的项目贡献代码时,我们需要遵循一套标准化的指导方针并与其他团队成员精确协调。标准指南和协调的工作努力对于每个基于团队的软件开发项目的成功至关重要。为了满足这一需求,世界各地的工程团队设计了许多开发工作流程。大多数团队使用
4月14日 下午 4:20

基于AIGC的3D场景创作引擎概述

通过改变3D场景制作流程复杂、成本高、门槛高、流动性差的现状,让商家像玩转2D一样去玩转3D,让普通消费者也能参与到3D内容创作和消费中,真正实现内容生产模式从PGC/UGC过渡到AIGC,是我们3D场景智能创作引擎一直追求的目标。前言随着元宇宙的大火,国内外各大厂纷纷下场开始为下一代互联网技术布局,旨在为用户提供更好的体验。体验包括方方面面,比如更好的游戏体验、更好的社交体验、更高效的办公体验当然也包括更好的消费体验。作为国内最大的电商平台,我们团队也在持续思考如何基于元宇宙的技术,给消费者带来更好的购物体验以及给商家带来更好的营商体验。回归到电商“人、货、场”三要素上,通过虚拟人技术以及商品三维重建技术,“人”和“货”在3D化上已经迈出了重要的一步,而“场”作为连接“人”和“货”的重要载体,目前还严重依赖于专业人员通过专业的DCC软件进行创作,门槛高、耗时长、成本高、效率低,这就导致了中小商家以及C端用户在现阶段难以大规模参与,即使是头部大品牌商家制作的3D场景内容也很有限。然而,大规模的虚拟世界需要有大规模的虚拟内容作为支撑进行构建,基于AIGC的能力加速“场”的自动化构建从而降低3D场景制作门槛就显得非常有必要。3D场景制作流程概述3D场景制作在游戏行业已经形成了一套非常成熟的工业化、流水线生产的解决方案。下面通过游戏行业场景制作方式来简单介绍一下3D场景制作的整体流程。游戏中一个完整的场景制作流量一般可以分成如下六个步骤:游戏策划提需求原画师承接,并绘制出对应的原画建模师制作对应的三维模型和材质贴图绑定师架设骨骼、蒙皮、绑定控制器进行角色驱动动画师会采用动作捕捉,或者手动设定关键帧的方式制作动画资源场景编辑师在游戏引擎中搭建游戏场景图片来源:https://baijiahao.baidu.com/s?id=1730605368628365612&wfr=spider&for=pc当然,构建一个电商场景的3D内容其复杂度远低于一个庞大的游戏场景,但相关的流程基本是一致的,比如商家想要在虚拟世界中构建一个店铺进行商业活动,那么整个店铺的搭建也大体需要遵循上面的流程电商3D场景拆解电商域的3D场景由小到大一般可以分成展示单品的3D场景、展示店铺的3D场景、商业街区场景、虚拟城市场景,如下图所示:由于街区是店铺的集合而城市是街区的集合,因此只要做好单品展示场景和店铺展示场景便能基于这两个基础能力跟搭积木一样的实现街区或者城市的构建。下面以店铺为例,对虚拟店铺场景的构造进行拆解:上图标识了构建一个虚拟店铺需要用到的所有元素,跟实体店铺类似,一个虚拟店铺的构建也包含了店铺装修所有的环节:硬装、软装、软装布局、布光、商品摆放等,如果是单品场景展示,还需要额外考虑商品运镜。3D场景生成技术介绍▐
4月12日 下午 4:20

每日好店——淘宝店铺推荐系统实践

每日好店是淘宝一款经典的产品,它立足于淘宝千万卖家与海量的货源,从好品牌,好货源,好服务三个角度入手,为用户精选"平台说好,达人说好,用户说好"的淘宝优质店铺。通过中心化的好店频道,使淘宝用户对于淘内好店标准有强烈的体感,并能够让用户于淘系千万卖家中,发现真正的好店铺,形成淘宝内发现店铺的第一阵地。我们将分两篇内容介绍我们在“每日好店“场景效率和体验上的优化升级。本篇将主要从业务视角出发,浅谈一下技术协作业务的思路,如何优化场景的效率和体验;下篇内容将从技术视角出发,介绍店铺和商品两级排序模型的升级。背景每日好店作为一个经典的导购场景,承接了淘宝内用户对于集中发现优质店铺的主体需求。现阶段电商平台越来越以商品作为分发组织单元,店铺存在感一直被弱化。这抑制了商家私域的运营和成长。每日好店希望通过中心化的店铺分发架构公私域联动最直接的桥梁,让用户在频道内直接得到街景式逛店体验,发现更多优质商家。
4月7日 下午 4:20
3月29日 下午 4:20

一个服务端同学的Vue框架入门及实践

百万级峰值qps的页面投放、亿级规模的权益发放、T级大规模的数据供给等。我们致力于营销选品、投放、权益等技术体系的建设,打造一套灵活的业务解决方案,让业务创新更高效。¤
3月27日 下午 5:20

【直播预告】流行度偏差如何利用?探索解耦域适应无偏召回模型

3月27日,19:00-20:00,大淘宝技术与DataFun联合策划了本次活动,邀请了大淘宝技术高级算法工程师陈智鸿老师,就无偏召回模型进行深度分享与交流,欢迎大家按时收看直播~反欺诈体系篇分享时间分享内容分享嘉宾19:00-20:00流行度偏差如何利用?探索解耦域适应无偏召回模型阿里巴巴
3月24日 下午 4:50

淘宝首页大促新玩法“猫头”背后的技术挑战和设计

目前春招火热进行中,hc多多,如果有兴趣可将简历发至zhaoxu.yzx@alibaba-inc.com,期待您的加入!联合作者:余钊旭(榆西)、韩龙(寒奕)、黄志亮(恒洛)¤
3月24日 下午 4:50

淘宝首页serverless升级后的质量保障方案

发布流程改造将从切流前,切流中和切流后三个环节进行改造。切流前支持新旧环境使用各自流水线进行独立发布,切流中实现单流水线向双环境发布,切流完成后流水线仅保留向新环境发布的环节。▐
2022年12月28日

如何避免写重复代码:善用抽象和组合

通过抽象和组合,我们可以编写出更加简洁、易于理解和稳定的代码;类似于金字塔的建筑过程,我们总是可以在一层抽象之上再叠加一层,从而达到自己的目标。但是在日常的开发工作中,我们如何进行实践呢?本文将以笔者在Akka项目中的一段社区贡献作为引子分享笔者的一点心得。场景通常,为了简化我们对数据流的处理,我们可能会使用
2022年11月4日

MapStruct,降低无用代码的神器

在学习《告别BeanUtils,Mapstruct从入门到精通》后,我发觉MapStruct确实是一个提升系统性能,降低无用代码的神器。然而,在实践这篇文章过程中,我遇到了些问题,并由此对MapStruct框架有了更深入的理解,以下将我的学习收获分享给大家。本文与《告别BeanUtils,Mapstruct入门到精通》的主要不同之处主要在于:增加了不同环境下Maven引入的注意事项(见“引入”章)增加了一对多字段(例如Json字段)互转的代码(见“高级转换”第一节)增加了子类字段互转的代码(见“高级转换”第二节)增加了利用Spring进行依赖注入的代码(见“高级转换”第三节)MapStruct是什么?MapStruct
2022年10月25日

一次单元测试优化的过程总结

本文将介绍淘宝用户运营平台团队最近在实践单元测试过程中遇到的一个问题。前言淘宝原用户增长团队(现用户运营平台团队)是比较早践行单测增量覆盖率的团队,坚持了近两年下来,我们积累了数千个test
2022年9月14日

告别BeanUtils,Mapstruct从入门到精通

如果你现在还在使用BeanUtils,看了本文,也会像我一样,从此改用Mapstruct。对象之间的属性拷贝,之前用的是Spring的BeanUtils,有一次,在学习领域驱动设计的时候,看了一位大佬的文章,他在文章中提到使用Mapstruct做DO和Entity的相互转换,出于好奇,后来就去了解了一下Mapstruct,发现这个工具确实优秀,所以果断弃用BeanUtils。如果你现在还在使用BeanUtils,看了本文,也会像我一样,从此改用Mapstruct。先上结论,Mapstruct的性能远远高于BeanUtils,这应该是大佬使用Mapstruct的主要原因,下面是我的测试结果,可以看出随着属性个数的增加,BeanUtils的耗时也在增加,并且BeanUtils的耗时跟属性个数成正比,而Mapstruct的耗时却一直是1秒,所以从对比数据可以看出Mapstruct是非常优秀的,其性能远远超过BeanUtils。下文会讲到Mapstruct性能好的根本原因。对象转换次数属性个数BeanUtils耗时Mapstruct耗时5千万次614秒1秒5千万次1536秒1秒5千万次2555秒1秒Mapstruct
2022年9月1日

淘宝PC改版!我们跟一位背后付出6年的男人聊了聊……

2022年5月底,淘宝PC首页全新改版。本文讲述了PC改版前后的坎坷故事,以及PC项目组未来的技术布局和思考。2022年新版首页https://www.taobao.com/2021年12月的某个上午,用户本豆习惯性地用电脑打开了淘宝网。大屏看商品细节、多页面可对比,而且上班时间悄悄看个淘宝毫无违和感,这些原因令他成为移动时代为数不多的“PC淘宝爱好者”。他悄咪咪举起手机扫开二维码登录,点击跳转到下一个商品页时,登录框又一次弹了出来。在充满时代感的网格页和时不时的错误页中穿梭,他看中一台折叠露营车,点击旺旺想咨询商家尺寸大小,消息框提示需要下载安装旺旺客户端……嫌麻烦的本豆悻悻关掉了网站。此刻,与他同样有着“PC不咋好用”烦恼的,还有1000万人。同样时间点,一位在首页开发岗位上工作了2000多天的大淘宝工程师永霸,正在契机之下,酝酿好了新的淘宝PC首页改造计划。工程师永霸与新版淘宝PC首页PC首页,时代的眼泪2015年,在整个时代背景下,阿里开始了“ALL
2022年8月23日

移动端人脸风格化技术的应用

本文介绍了人脸风格化技术的整个流程,以及该技术在直播、短视频等场景下的应用。该技术可作为氛围营造、提高观感的有效手段,也可在买家秀等图文场景下起到人脸隐私保护、增添乐趣等作用。前言随着元宇宙、数字人、虚拟形象等概念的爆发,各种数字化协同互动的泛娱乐应用也在不断的落地。例如,在一些游戏中,玩家成为虚拟艺人参与到高还原度的现实艺人日常工作中,并会在特定情况下,与虚拟艺人在人脸表情等层面上形成强映射提升参与感。而由阿里巴巴天猫推出的超写实数字人AYAYI和井柏然联合“带逛”的杂志《MO
2022年7月27日

跨桌面端Web容器演进

浏览器是大家所熟悉的。本文会从容器的架构演进,容器的功能增强和稳定性保障及未来的演进,这3个方面介绍一下我们的应用程序是如何对接浏览器的能力的。有问题的地方欢迎大家指正,也欢迎对浏览器内核感兴趣的同学一起探索。此文为本系列文章第二篇,第一篇:跨全端SDK技术演进本文:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践背景随着客户端技术的逐渐发展,Web容器已经深入客户端,为客户端构建了丰富多彩的页面和交互体验,成为客户端的一个不可或缺的重要组成部分。在千牛客户端上,Web容器不仅承载了千牛的开放容器(经历了H5插件到千牛小程序的变革),而且一些核心功能,比如聊天窗口,消息中心,也都是由Web容器承载的。
2022年7月26日

跨全端SDK技术演进

细想,团队进行跨平台开发已有三年有余,也是集团里面C++方向里比较早涉及该领域的部门之一,伴随业界跨平台技术发展与演进,我们也沉淀了一整套基于C++的跨平台技术体系,本文将以消息SDK为例,详述这一技术演进历程,希望能给想做跨平台的,尤其是刚步入跨平台开发的同学和团队,一些借鉴和启发,帮助大家少走一些弯路。此文为本系列文章第一篇,第二篇:跨桌面端之Web容器演进第三篇:跨桌面端之组件化实践关于为什么要选择跨平台的实现方式Write
2022年7月25日

关于程序员的职业操守,从《匠艺整洁之道》谈起

《匠艺整洁之道》是鲍勃大叔的整洁系列新书。这本书主要从纪律、标准、操守三个方面阐述了软件从业者应该如何要求自己,提升研发质量、效率、道德水准,本文主要围绕《匠艺整洁之道》的第三部分
2022年7月5日

如何快速理解复杂业务,系统思考问题?

对于复杂问题的思考其实是有层次的,从最表面的事件,到事件背后的规律,再到这个问题的结构模式,再到价值观,层层递进。在画完自己的业务系统因果回路图之后,再结合这个心智模型,思考自己的思考在哪个层次,是否可以有机会再下钻到更深的层次。正视复杂性我们必须承认这个世界原本就非常复杂,就像以我们现在的科技仍然不能攻克新冠病毒、不能精确预测天气、不能有效控制经济形势异常波动一样,任何试图浮于表面、疏于投入就想了解并解决一个复杂问题的傲慢做法,最终都只能接受无情的打脸。回到我们阿里当前的业务,随着市场规模的扩大、用户群体的多样性、公司组织的持续膨胀和细分、产品历史包袱的累积,我们的业务不可避免的越来越复杂和难以理解。就像著名的热力学第二定律(熵增定律)所解释的那样,只要没有外界系统的做功(我理解是一个颠覆性的业务模式),我们当前的系统就无可避免的持续熵增。但作为在业务线工作的一员,更加全面的理解我们手上的业务逻辑是我们能做好工作的基本条件,我们肯定不能满足仅仅是点状理解的一些信息,也不能接受理解一个业务只能依赖长时间的工作经验,所以这里给大家介绍一个帮助自己全面理解一个复杂系统的工具:“系统思考”。之前我会尝试用它来帮助自己梳理手上的业务逻辑,感觉有一定的作用,做了这个入门总结,希望对大家有帮助。什么是系统思考▐
2022年7月4日

淘宝直播PC客户端的hybrid探索

相关产品的架构分析以上主要是拿2020年左右的主播端与当时版本的斗鱼、抖音直播伴侣的一个对比,通过对比发现只有我们的客户端除了左侧评论区外都还是以Qt为主的架构,从结构上来看抖音的最具有灵活性。▐
2022年6月6日

合理使用线程池以及线程变量

本文从线程池和线程变量的原理和使用出发,结合实例给出最佳使用实践,帮助各开发人员构建出稳定、高效的java应用服务。背景随着计算技术的不断发展,3纳米制程芯片已进入试产阶段,摩尔定律在现有工艺下逐渐面临巨大的物理瓶颈,通过多核处理器技术来提升服务器的性能成为提升算力的主要方向。在服务器领域,基于java构建的后端服务器占据着领先地位,因此,掌握java并发编程技术,充分利用CPU的并发处理能力是一个开发人员必修的基本功,本文结合线程池源码和实践,简要介绍了线程池和线程变量的使用。线程池概述▐
2022年5月25日

大淘宝用户平台技术团队单元测试建设

单元测试是工程交付前质量保障的第一环,也无疑是软件工程质量保障的重要基石,有效的单元测试能够提前发现90%以上的代码Bug问题,同时也能防止代码的腐化,在工程重构演进时起到至关重要的作用。为什么需要单元测试纵观优秀的开源工程,完备的单元测试总是必须的条件。通过这些单元测试,我们可以充分了解代码中相关类和方法的作用和核心逻辑,熟悉各种场景的运行情况。同时也因为有了单元测试,开源作者在接受各种feature的代码提交时才有稳定安全的保障。其实单元测试的重要性所有开发同学应该都了然于胸,同样TDD(测试驱动开发)也不是一个新的概念,但是真当我们落地实践时,又总会找出各种各样的理由来劝服自己下次一定好好写单元测试,这一次先放过自己。这些理由无外乎,开发周期太紧了;
2022年5月23日

因果推断实战:淘宝3D化价值分析小结

和:每个用户i对于是否接受干预分别有两个潜在结果和。假设我想要探究高考对于小明收入的影响,那么真实的结果就是小明的高考分数和他的收入。而假设平行世界里有和小明一模一样的小明2号,但他高考少了20分,
2022年4月11日

TypeScript 研发规约落地实践

写。如果说有什么困难,唯一有成本的就是类型编程,但这其实在实际的业务中占比是非常小的,除非你是框架或基础类库的维护者。约束的组成和制定上图描述了我们目前落地的约束组成,包括我们马上要讲的一套包括
2022年4月7日

淘宝Push智能文案生成

本文主要介绍了2021年笔者在智能文案生成项目所做的工作。业务背景Push是淘宝重要促活手段之一,运营同学通过投放各类营销、产品Push以达到唤端、促活目的。Push素材通常由人群、商品或者活动、文案构成,与用户有直接沟通的便是Push文案,优质的素材文案吸引用户点击起到正向促活作用,而劣质内容不仅可能影响用户体验,更甚者可能引发用户关闭通道。淘宝Push团队构建了统一投递平台方便各个业务方创建任务投放Push,为业务引流。通常业务同学在创建投放任务前进行Push文案创作,任务上线稳定投放后基本处于维护状态极少进行文案更新。Push业务整体文案多样性低,现有素材库内容同质且单一,基本基于电商视角出发,缺少创新和个性化突破;文案人工创作成本高,当前基本由平台与业务手动创建,依据个人文案创作能力进行输出,缺少丰富文案参考与创意输入;Push平台缺乏对文案的统一沉淀和推荐。历史优秀文案无法及时反馈到文案创建环节,缺乏算法智能化的文案创意。基于以上问题,业务同学联合淘宝Push算法提出了智能文案生成项目,期望通过文案智能化生产和文案推荐,赋能文案创作、管理、实验、优化各个环节,提升文案丰富程度和更新频率,辅助提升
2022年3月31日

内存优化: 纹理压缩技术

Android平台由于机型、厂商众多,纹理压缩的支持情况较为复杂;其中ETC1支持的最为广泛,但是由于ETC1不支持Alpha通道,导致其使用场景有限,ETC2覆盖度也挺高但是需要启用OpenGL
2022年3月16日

什么是好的技术氛围?

无论哪个行业无论工作多久,每个人都希望自己所处的环境有一个好的氛围,工程师们会希望自己公司有一个好的技术氛围。什么才是好的技术氛围呢?好的技术氛围有什么现象?打造好的技术氛围,又需要做什么工作呢?今天我们邀请了
2022年3月14日

APM 页面加载耗时校准

如何从用户角度实现可视计算的历史进行介绍,并深入详解淘宝对页面加载耗时校准所做一些努力与改变。从0到1:可视计算页面可视耗时可以拆解成起点与终点,起点争议相对较少,使用的是
2022年2月23日

新手项目经理入坑指南

我们邀请大淘宝技术PMO团队的鹿迦来聊聊新同学如何成长为一名合格的项目经理。偶尔有同学闲聊问起来“你们PMO团队招人有什么要求,你看我申请转岗过来有机会吗?”,遇到这种情况,我总是随口回应“你没问题的,只要会拉会和发周报就行~”。仔细想想,作为一个项目经理,常常会给人一个感觉就是像万金油一样什么事情都掺和,但是说到岗位核心技能门槛又不是那么的明确。最近团队里来了一个才参加工作时间不久的新同学,在同她一起交流的过程中稍微有点心得,所以趁机写了本篇总结,希望可以作为有兴趣的同学的PM入坑指南(澄清一下,本文只涉及对新人的入坑建议,不涉及成熟PM落地新业务&新组织的部分,这个部分计划以后再写一篇总结)。职业发展金字塔模型从一个小白成长为一个PM老鸟,项目管理相关的能力的习得只是其中一个因素之一,除了习得的能力,还有很多其他重要的因素决定了你是否可以胜任这个岗位。我认为这个成长和慢慢胜任的过程对于其他的职业同样有效,我自己总结了一下,形成了下面这个职业发展金字塔(纯原创,欢迎改进建议)。对照这个金字塔模型,我们可以认为一个人是否可以胜任PM的岗位(或者在PM岗位上能取得更好的成绩),一共受四个重要因素的影响:动机、策略、技巧、特质。越在金字塔的上面越能决定你是否适合这个岗位,获得的难度也越大。综合评估你在这四个方面是否想清楚了,然后可以尝试判断你是否真的要跳进来了。▐
2022年2月16日

19条跨端cpp开发有效经验总结

跨多端开发避坑指南前言细想,专门从事跨多端开发已两年有余,前段时间因为组里跨桌面端项目需要回归windows下开发了整整2个月,怎么形容这两个月呢,嘿嘿,各种“肆无忌惮”的写法,终于不用在写一行代码考虑后面n个端的行为了,"劳动力"、"效率"得到大幅度解放,但是随着windows发版结束后,我负责mac的适配相关工作,在这个阶段,发现很多不"合规"的奇技淫巧(原定2个工作日的适配quota,大概进行了一周),作为一个略有想法的cpp程序员,遂产生了想写一个跨多端开发避坑指南的想法,想起过去看的Scott
2022年2月14日

淘宝小部件 Canvas 渲染流程与原理全解析

TextureView上。此模式性能尚可,但是主要弊端是无法响应Touch事件、丢失a11y特性以及无法获得TextInput焦点,正是由于这些兼容性问题导致此方案应用场景比较受限。Hybrid
2022年1月27日

开发规约的意义与细则

众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有靠右行驶条款,谁还敢上路。消防局最主要的工作不是灭火,而是为了不发生火灾建立很多规范。如果发生火灾,说明前面的工作没有做到位。同理,对软件来说,开发规约绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,推行相对标准化,以一种普遍认可的方式一起做事。综上所述,开发规约的目标:码出高效:标准统一,提升沟通效率和研发效能。码出质量:防患未然,提升质量意识和系统可维护性,降低故障率。码出情怀:工匠精神,追求极致的卓越精神,打磨精品代码。开发规约从无到有,只是短期的目标;使大家遵守开发规约的成本极大降低,发布上线的应用符合开发规约是中期目标;而远期目标是从有到无,因为人人自觉遵守,规约和谐地融入代码的字里行间,规约似乎消失了,但又无处不在。最近,结合新品技术团队的现状,分析了系统架构背后的问题,并制定了一系列团队开发规约,可以从以下三方面展开。大纲开发规约之道开发规约之术开发规约执行方法论开发规约之道代码规范不应该被定为
2022年1月25日

淘宝 Android 帧率采集与监控详解

值还是一次用户操作体验?经过一段时间的探索,我们沉淀下来了一些指标,其中包括:滑动帧率、冻帧占比、scrollHitchRate、卡顿帧率。除了相关帧率指标之外,为了更好的指导性能优化,APM
2022年1月21日

Java线程池面试要点

Java线程池在面试的时候问的挺多的,曾经我就在面试过程中两次被问到,面试官通过面试者对线程池的理解回答也能大致了解到面试者的实际开发经验如何,以及对多线程的理解运用有没有深入到位。同时,面试官在切入多线程问题的时候通常也不会太过生硬,而是一步一步通过线程创建方式、线程状态切换、线程协同引导过来,整体谈下来其实也挺花时间的,会触及到多线程的方方面面,但对开发者素质确实也是一番不小的考验,今天我们也不完全铺开去描述,就仅仅针对线程池这一点来聊聊面试的时候会碰到的一些问题。ThreadPoolExecutor参数含义ThreadPoolExecutor
2021年12月31日

CMDM:基于异构序列融合的多兴趣深度召回模型在内容平台的探索和实践

info信息,尤其像我们场景这样的存在异构行为序列的复杂场景。因此,在使用i2i召回保证基本效果的基础上,我们也大力探索了深度召回模型在逛逛场景的应用。目前业界主流的深度召回模型(如双塔,TDM
2021年12月7日

2021召回技术在内容推荐的实践总结

本文从跨域联合召会、语义&图谱&多模态、用户多兴趣表征和未来工作四个模块展开。引言内容化这几年越来越成为电商的重点,用户来到网购的时候越来越不局限在只有明确需求的时候,而更多的是没有明确需求的时候,就像是逛街一样。逛逛就是在这样的背景下诞生的内容化产品,打造出有用、有趣、潮流、奇妙、新鲜的内容,为消费者提供全新的内容消费体验。在这个场景下的内容召回有很多问题需要探索,其中主要的特点和挑战有:强时效性:内容推荐场景下的内容新旧汰换非常快,新内容的用户行为少,很难用用户历史行为去描述新内容,而用户行为正是老内容投放主要的依赖。所以当不能依靠用户行为数据来建模内容之间关系的时候,我们必须要找到其他可以表征内容的方法。多兴趣表征:多兴趣表征,特别是多峰召回是这几年比较主流的一个趋势。但是目前多峰模型中峰的数量是固定的,当用户行为高度集中的时候,强制的将用户行为拆分成多向量,又会影响单个向量的表达能力。如何去平衡不同用户行为特点,特别是收敛和发散的兴趣分布,就成了此类任务的挑战。在设计优化方向的时候,我们重点考虑上面描述问题的解法(召回本身也需要兼顾精准性和多样性,所以单一召回模型显然无法满足这些要求,我们的思路是开发多个互补的召回模型)。详细的介绍在后面的章节以及对应的后续文章中展开:跨域联合召回:除了单纯把多域的信息平等输入到模型中,如何更好利用跨域之间的信息交互就变的尤为重要。目前有很多优秀的工作在讨论这样的问题,比如通过用户语义,通过差异学习和辅助loss等。我们提出了基于异构序列融合的多兴趣深度召回模型CMDM(a
2021年11月30日

淘系自研前端环境管理工具 AppToolkit 正式发布

AppToolkit提供可视化配置环节的能力,屏蔽环节配置的复杂度和命令行的而学习成本,帮助开发者简单快速搭建前端开发环境。前端社区日渐繁荣的同时,前端环境也日渐复杂。一般来说,开发前端应用前需要安装
2021年11月19日

程序命名的原则与重构

命名是对事物本质的一种认知探索,是给读者一份宝贵的承诺。糟糕的命名会像迷雾,引领读者走进深渊;而好的命名会像灯塔,照亮读者前进的路。命名如此美妙,本文将一步步揭开它的神秘面纱!命名来源生活从左到右:正三角形,正方形、正六边形
2021年11月16日

端智能研发核心套件,MNN 工作台深度解析

应用验证,再集成到应用中。其主要缺点在于:视觉算法需要针对端侧部分重新实现和优化,成本较高算法严重依赖工程协作,工程维护SDK的成本也比较大(以算法为核心的SDK)算法的测试验证需要让工程开发App
2021年11月9日

从文科生到前端专家 - 在转行时我想过的问题

年代码了。回头再看自己的转行经历,与其说是文科生转行学了计算机,倒不如说是自己发现了对计算机的兴趣,并持续投入至今。最后,送上我很喜欢的一段话作为结尾。「Your
2021年11月3日

小项目需要前后端分离吗?

千灭可以从用户体验、开发效率和运维效率三方面来看待前后端是否分离。我认为在绝大部分场景下,前后端分离优于不分离。接下来我会从三个主要的场景来分析前后端分离与否:用户体验、开发效率和运维效率。
2021年10月20日

如何写出优雅的代码?

希望你的代码如同你本人一样优雅。:)我们编写的代码,除了用于机器执行产生我们预期的效果以外,更多的时候是给人读的,这个读代码的可能是后来的维护人员,更多时候是一段时间后的作者本人。如何能够写出优雅整洁且不让人【哔——】的代码?今天我们邀请了
2021年9月22日

淘宝客户端诊断体系升级实践

淘宝作为一个航母级的应用,每天都有数亿的用户在使用。保证客户端的稳定性是我们的首要目标。为此,我们也提出了5-15-60的目标。即问题告警时,5分钟响应,15分钟定位,60分钟恢复。但是现有的排查体系并不能很好的达到这个目标,分析下来主要原因是:监控阶段通过Crash堆栈、异常信息进行聚合统计,不够精细准确,不够灵敏;监控到异常后,端侧行为比较单一,只上报异常信息,无法提供更多有用数据;手淘大部分问题都和线上变更有关,但是缺少对变更质量的监控。排查阶段监控上报的异常信息不足,依赖日志进行问题排查;Crash或异常时不会主动上传日志,需要手动捞取,
2021年9月15日

MYSQL中锁的各种模式与类型

update;与加读锁相同,写锁也是加在索引上的。更新时加写锁:insert/update/delete语句,会自动在该条记录上加上排他锁;在表上加写锁显式给表加写锁的语句为:#加表写锁lock
2021年9月14日

程序员最重要的能力是什么?

Slogan)”的程序员。因为是兴趣,所以获得成长时会快乐,而停滞不前时也不会焦虑与抱怨。对代码的兴趣支撑我走到了现在,我想后面也会是一样。这就是我眼中程序员最重要的能力与我的经历。02淘系技术部
2021年9月8日

DDD之于逛逛内容营销中的应用

即领域驱动设计,DDD并不是关于技术的,而是关于讨论,聆听,理解和发现业务价值。DDD让我们的关注点向软件系统所提供的业务价值方向思考。
2021年8月30日

推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)

上周,我们推出了26个好玩又有挑战的前端练习项目。不少同学留言说,那后端的呢?后端也要!淘系工程师一呼就应,我们邀请了2位淘系技术后端工程师,筛选出10个难度层层递进,好玩且实用的后端项目,包含java类库中的“瑞士军刀”工具、可视化API展现等等,难度依然分为【初级篇:4个】、【中级篇:3个】、【高级篇:3个】,不同学习诉求的同学可按需选择~初级篇
2021年8月27日