当前位置: 首页 > Web前端 > HTML

记一次对p站开发人员的面试

时间:2023-03-27 23:04:11 HTML

记得有一次采访p-sitefact的开发者。从打破浏览器的视频限制到通过WebSockets推送广告以逃避广告拦截器的检测,创新必须在网络的最前沿变得聪明。最近有幸采访了最大的成人网站P站的网页开发者。我想了解如何改进WebAPI以及在成人网站上工作的感觉。注意:成人行业竞争非常激烈,所以有些问题他们不太愿意回答。1.成人网站明显显示大量血腥内容。在开发过程中,您是否使用了很多图像和视频占位符?开发内容离最终产品有多远?在开发我们的网站时,我们实际上不使用占位符!重要的是代码和功能。一开始肯定有一点学习曲线,但我们很快就习惯了。2.对于流媒体和第三方广告脚本,在网站功能开发过程中如何模拟如此重要的动态资源?为了开发,播放器分为两部分。基本播放器实现核心功能和触发事件。开发是在洁净室中完成的。为了集成到站点中,我们希望运行这些第三方脚本和广告,以便我们可以在流程的早期发现问题。在特殊情况下,我们将与允许我们手动触发随机事件的广告商合作。3.一个普通页面可能至少有一个视频、一个GIF广告、一些摄像师预览和其他视频的缩略图。您如何衡量页面性能以及如何使其尽可能好?有什么技巧可以分享吗?我们使用一些评估系统。我们的播放器定期向我们报告有关视频播放性能的指标以及第三方RUM系统的一般使用情况以进行一般站点性能监控。WebpageTest的私有实例,用于在AWS数据中心编写测试脚本。我们主要使用它来查看特定时间段内可能发生的情况。通过他我们还可以查看“瀑布图”。4、假设前端最重要也是最复杂的功能是视频播放器。比如在视频前加广告,标记视频亮点,改变视频速度等功能,如何保持其性能、功能和稳定性?我们有一个专业的视频播放器团队,其首要任务是不断监控性能和效率。为此,我们几乎使用了所有可用的东西;浏览器性能工具、网页测试等。我们所做的任何更新都通过可靠的QA确保稳定性和质量。5.专门的视频团队有多少人?团队中有多少前端开发人员?考虑到产品的规模,我会说团队规模接近平均水平。6.在成人网站工作期间,您如何看待前端格局的变化?哪些新的WebAPI让生活更轻松?我确实在前端的各个方面看到了很多进步;从纯CSS到使用LESS和Mixins,再到具有媒体查询和图像标签的灵活网格系统以适应不同的分辨率和屏幕尺寸jQuery和jQueryUI正在缓慢淡出,因此我们将转向更高效的面向对象框架,香草JS。我们喜欢新的IntersectionObserverAPI,它的图像加载方式更高效我们还开始使用画中画API,在我们的一些页面上放置浮动视频,主要是为了用户反馈。7.展望未来,是否有您想要更改、改进甚至创建的WebAPI?其中一些我们想改变或改进;Beacon、WebRTC、ServiceWorkers和Fetch:Beacon:一些IOS问题,它不能很好地处理pageHide事件Fetch:没有下载进度,无法拦截请求WebRTC:如果分辨率不够大,即使有屏幕共享,simulcastlayerislimitedServiceWorkers:调用navigator.serviceWorker.register不会被任何serviceworker的Fetch事件处理程序拦截8.WebVR这几年一直在改进,WebVR在目前的状态下有多大用处?成人网站为支持VR内容付出了多少努力?触觉在您网站上的WebVR中发挥作用吗?我们正在开发webXR,作为最大的分发平台,我们需要支持想要体验我们内容的创作者和用户。我们仍在探索这些新媒体中的内容和平台应该是什么样子。我们是第一个支持VR、计算机视觉和虚拟表演者的平台,并不断推动新技术的发展。9.每个页面上都有这么多不同类型的媒体和内容,桌面与移动设备的最大考虑因素是什么?功能主要受操作系统和浏览器类型的限制。iOS与Android是完全不同的功能集的一个很好的例子。例如,一些iOS移动设备不允许我们在全屏模式下使用自定义视频播放器,它们强制使用原生的QuickTime播放器。我们在开发新功能时必须考虑到这一点。然而,Android给了我们完全的控制权,我们可以将我们的功能应用到全屏模式。HLS中的自适应流是另一个例子,IE和Edge对HLS流的质量非常挑剔,如果处理不当,视频会不断冻结并产生伪影。10.当前对您工作的成人网站的最低浏览器支持是多少?InternetExplorer死了吗?我们长期以来一直支持IE,但最近放弃了对IE11之前的任何浏览器的支持。同时,我们也停止使用Flash视频播放器。我们主要关注Chrome、Firefox和Safari。11.你能分享一些关于典型成人网站技术堆栈的信息吗?服务器和前端?你在使用什么库?我们的大多数网站都使用以下技术作为基本技术栈:nginxPHPMYSQLMemcached和/或Redis(在适当的情况下)其他技术,例如Varnish、ElasticSearch、NodeJS、Go、Vertica。对于前端,我们主要使用vanillaJavascript,我们正在慢慢放弃jQuery,并且我们才刚刚开始使用框架,主要是Vue.js12。从局外人的角度来看,成人网站往往看起来非常相似:大量的视频缩略图、聚合视频内容、网络摄像头表演、广告。作为从事这些工作的人,您如何脱颖而出?我们非常努力地为每个品牌赋予不同层次的独特性;内容库、用户体验和功能集,以及许多不同的算法。13.在为你现在的雇主申请和面试之前,你对成人网站上可能的工作有何看法?你有没有犹豫过?如果是这样,您是如何放下行李的?它从来没有真正打扰过我,它最终变得如此迷人。数以百万计的人可能会与我正在开发的功能进行交互,这真的很鼓舞人心。我制作的东西第一次上线时,我感到非常自豪,我真的告诉??我所有的朋友都来看看!14.就最终产品而言,告诉朋友、家人和熟人您在成人网站上工作是否有任何耻辱感?您是否会犹豫要不要告诉别人您在成人网站上工作?我很自豪能从事这些产品的工作,我周围的人都知道并为之着迷。它总是令人惊叹的谈话、笑话的来源,而且真的非常有趣。15.在成人网站工作的氛围有什么不同吗?这里的气氛非常轻松和友好。与其他地方相比,我没有发现这里的工作文化有任何重大差异,而且这里的空间比我以前工作过的任何地方都要大得多。16.作为前端开发者,你和哪些团队合作最密切?日常交流最常见的形式是什么?我们与后端开发人员、QA测试人员和产品经理合作——大多数时候我们只是走到彼此的办公桌前交谈。如果不是,则经常使用聊天(MSTeams)。然后是电子邮件。17.最后,作为一名在成人网站工作的前端开发者,有什么想分享的吗?参与开发一款被用户广泛使用的产品真的很令人兴奋。随着技术的发展,我们经常处于技术发展的最前沿,这使它变得有趣和具有挑战性。18.在采访结束时,我发现我们的采访真的很有启发性。我有点惊讶他们在开发功能和设计时没有使用图像占位符。很高兴看到Pioneer继续通过WebXR、WebRTC和IntersectionObserver推动网络向前发展。我也很高兴看到他们认为当前的WebAPI集足以抛弃jQuery。我真的希望我能从他们那里得到更具体的技术提示;特别是性能优化和黑客技巧。我敢肯定他们的源代码背后有很多东西需要学习!如果是这样,你会问什么问题?