公司:58同城
58同城(NYSE:WUBA),简称58,是一家位于中国北京市的生活服务及分类信息网站,以在地服务为主,举凡租房、招聘、交友、水电、二手交易等等,由北京五八信息技术有限公司拥有,创始人是姚劲波,成立于2005年12月12日。该网站是中文最大的生活信息网站,该网站的口号是“一个神奇的网站”。
58本地服务少无结果场景下的推荐算法实践
58同城APP是一个生活服务信息平台,用户可以在平台上寻找自己所需要的服务,商家可以在平台上展示自己可提供的服务。58本地服务主要为用户提供生活中的基础服务信息,58本地服务推荐场景主要包括大类页推荐、猜你喜欢和猜你想找等,本文主要介绍猜你想找的技术迭代。58本地服务大部分的流量来自于搜索入口,但是在搜索落地页会有空白需要补充情况,如图1所示,为了提高这部分流量的转化,我们在用户搜索少无结果的情况下增加了猜你想找模块,旨在解决用户搜索少无结果的推荐问题,提升用户体验,降低少无结果率,并且达到提升58本地服务用户转化的目的。
三个小技巧,轻松提高设计转化率
页面转化率低?用户留存少?看完你就明白为什么了。
Web Components 从 0 到 1
引用 MDN 的话:Web Components 是一套不同的技术,允许您创建可重用的定制元素(它们的功能封装在您的代码之外)并且在您的 web 应用中使用它们。
简单来说就是官方定义的自定义组件的方式,封装代码,提高代码的复用性。相比于第三方框架,原生组件简单,不需要加载任何外部模块。
重排、重绘、合成,你真的懂吗?
重排、重绘、合成是什么?总的来说,它们都是浏览器渲染页面进程中的一个小小的环节,正是这些小环节按照一定的规则有条不紊的运作,才保证了我们能正常、顺畅地网上冲浪。
本文主要介绍了重排、重绘、合成的基本概念、触发时机、影响范围以及其优化策略。
招聘商业智能搜索召回体系搭建
58招聘过去的搜索召回逻辑主要基于类目体系,用户在输入关键词后,会跳转关键词对应的二级类,召回该二级类下的帖子。严格的类目限制导致很多符合的信息无法被召回,商业帖子填充率较低。同时,在58招聘蓝领为主的业务特点下,B&C端用户本身均有跨类需求,严格分类体系反而成为阻碍,堵不如疏。
因此,我们重构了搜索场景的检索逻辑,打破类目限制,展示全职招聘一级类下相关的信息。同时,将用户的搜索意图贯穿召回、排序等全检索环节策略,更好的匹配用户需求。
本文主要介绍在58商业招聘搜索打破类目限制的条件下,智能召回策略体系的搭建。58招聘搜索query文本特点比较突出,多为短文本,结构化程度较高,集中在职位词、工作性质词、工作场所等类型上,而在帖子侧,描述中存在大量UGC内容,其多样的文本表述方式对召回产生较大的干扰。在这样的特点下,我们把对C端query的分析和B端帖子doc的理解作为搜索策略优化的切入点,召回更多符合用户意图的帖子,并在此基础上,各个环节能力相互贯通,搭建了覆盖全检索流程的搜索策略体系。
黄页商家智能聊天助手用户体验深度优化
在58同城生活服务平台上,当用户有保洁、搬家、维修等需求时会通过微聊以文本对话的方式联系58平台上的商家,而商家由于工作繁忙往往无法及时回复用户,造成商机流失 。为了解决该问题,黄页业务线在2020年初推出了微聊代运营模式——构建一支人工客服团队,由人工客服来代替商家接待用户,当人工客服和用户沟通完形成有效商机信息(联系方式、价格、 地点 等)后再转交给商家,以帮助商家提高获客效率。在这样的场景下,我们基于58同城AI Lab灵犀智能语音语义平台的人机对话能力打造了黄页商家智能聊天助手,当用户来联系商家时,先由机器人接待,若机器人能够聊出商机则结束对话,若不能则转接人工客服,这种人机协作的方式可以大大节省客服人力。机器人和人工客服的能力由商机转化率指标来评价,即聊出商机的会话数比接待会话数,当前机器人的能力达到了人工客服的95%水平,共计节省客服人力数十名,黄页商家智能聊天助手已经进行了商业化,以"微聊管家"命名随会员套餐一起打包售卖给商家,折合贡献收入每月达到数百万元。
黄页商家智能聊天助手通过坐席分流、智能问答、商机引导、商机挖掘等功能来提升对话机器人的商机转化率,提升C端用户的对话体验和B端商家的使用体验,本文主要分享我们如何深度优化黄页各类目的智能问答,多轮对话和商机质量识别等,来提升C端用户对话体验和提升B端商家的获客体验,最后做总结和展望。
能不能手写一个 Promise?
异步编程是 JavaScript 中的一个核心概念,与其他脚本编程语言相比,异步编程是一项让 JavaScript 速度更快的特性。JavaScript 是单线程的,这意味着它逐行执行程序。它也是异步的,这意味着如果我们的程序执行到达一个必须等待结果的代码块,它将继续经过这个正在等待的代码块,因此程序不会冻结执行,并且一旦该异步任务完成,我们的代码将通过使用回调来处理它正在等待的结果。如果回调太多,嵌套太深,Promise 确实可以解决这一痛点。
Web Worker的正确打开方式
Web Worker在MDN上的解释为通过使用Web Workers,Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是UI线程)不会因此被阻塞/放慢。
多端小程序日志采集方案
小程序,英文 mini program。是一种不需要下载安装即可在微信中使用的应用,用户扫描小程序码或搜索小程序即可打开,触手可及,用完即走,不用关心是否安装太多应用的问题。
根据阿拉丁的统计显示,截止到 2021 年 6 月底,微信小程序数量超过430万,日活跃用户超4.1亿。小程序已经深度影响200+细分行业,已有11大平台推出各自小程序生态,小程序成为真正意义上的中国人定义的“互联网新技术标准”。
因业务发展的需要,我们在多个的小程序平台都有对应的投放,如微信小程序、百度智能小程序、支付宝小程序、字节小程序、360小程序等。在开发迭代过程中,由于平台、系统、机型和版本的兼容等问题,小程序出现线上问题时排查起来相对困难;
思考:为什么小程序启动的那么慢?线上白屏加载不出来数据到底是怎么回事?线上代码质量如何,是否有bug?线上出现问题,如何快速发现并解决?用户到底操作了什么?投放了这么多平台小程序,各平台效果究竟怎么样?当前小程序是否有可优化空间?
其实上面这些问题都可以通过日志文件分析得到解答,各个小程序后台也有采集一部分日志信息,比如微信后台有采集js异常日志、接口异常日志,但接口异常日志只有状态码层面的信息,脚本异常日志中缺乏当前异常发生时的页面路径信息、系统信息、网络状态、用户行为轨迹等信息的记录,因此排查起来还是相对困难的。对于小程序性能数据的采集,各平台之间也没有一个统一的标准。 所以我们需要一种兼容多平台的小程序日志采集方案。
产品IP设计指南
58到家精选成长体系墩墩,是58UXD用户体验设计中心新推出的成长体系吉祥物,作为家政小能手出道。目前活动已经上线,欢迎大家下载到家精选APP,线上领取属于自己的墩墩~
前端监控的那些事
DING~ 你的页面又产生了N个bug,想必每个前端er对于前端监控都不陌生,不论是第三方的监控平台,亦或是自己公司研发的监控系统,包括转转目前使用的sentry,都是为了能够对我们的生产环境的系统进行及时有效的追踪,产生问题能够第一时间响应和解决。所以本文将对前端监控的原理做一些分析。
你知道吗?用户转化是可以被设计的
如今,随着市场竞争日益激烈,“转化难”也变成大家特别关注的问题,其实需要提升用户转化的场景很多,每个场景都有影响用户心理的关键因素,那么设计师如何做,才能助力用户转化呢?下面结合省钱会员项目,聊聊如何抓住用户心理,从而提升用户转化。
58同城iOS混编项目无用代码检测方案介绍
本文主要介绍如何通过对Mach-O文件的解析以及反汇编的应用实现OC&Swift的无用代码检测,重点介绍Swift的检测方案。本文作为Swift Mach-O的应用篇,建议先阅读《从Mach-O角度谈谈Swift和OC的存储差异》和《Swift Hook新思路–虚函数表》了解相关概念和结构。相关代码已经开源:WBBlades,如果感觉工具或方案对您有帮助不妨帮忙点个star。
近期很多大型APP都在做支持Swift与Objective-C的混编开发的工作,58集团旗下的各个APP也在积极探索使用Swift语言开发。因此可以预见,在未来的几年里集团内各个iOS项目中Swift代码的占比会越来越高。因此我们需要考虑Swift代码激增后所带来的一些问题。如何检测混编项目中无用代码是我们面临的诸多问题之一。
奇葩说框架之React渲染流程解析
本文主要讲两部分内容,一是介绍大致的render函数执行的主流程,包括挂载和渲染jsx节点,对内部调用的函数进行讲解;另一个是细化render阶段做的一些重要内容,包括Fiber的内部计算和任务调度的相关内容。
SDK在58集团App体系下Swift混编改造实践
目前58的iOS团队维护了包含58同城、58同镇、赶集网、招才猫、安居客、新英才、车商通等在内的十几款App,为了降低维护成本,团队将一些基础功能进行了组件化改造,提供了大概20个通用的自研基础组件。不同的App对基础组件的使用情况各不相同,同时为了解决部分垂直业务在跨App维护时多App底层差异的问题,团队在基础组件的基础上又增加了中间件层,使依赖关系的复杂度进一步增加。上层逻辑的Swift改造需要底层基础库的支持,加上全面推进Swift的改造,将涉及大量的业务改造,各层模块之间的协同也是不小的挑战。
奇葩说框架之Vue3渲染系统
- vue文件是如何转换成DOM节点,并渲染到浏览器上的?
- 数据更新时,整个的更新流程又是怎么样的?