微信Android一面凉经(2024)

微信Android一面凉经(2024)

wechat

笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《微信Android一面凉经(2024)》。

面试职位: 微信-客户端开发工程师-基础功能(广州)
Android/iOS终端小程序、小游戏以及公众号、微信搜索、以及其他的创新业务的开发。

技术一面

  • 面试形式:视频面试
  • 面试时长: 110min(提问80min + 代码15min + 反问15min)
  • 代码考核: 20.有效的括号
  • 岗位地点: 广州

面试问题(80min)

  • 自我介绍, 是否在职
  • 哪些项目比较有亮点能体现你的个人能力的
  • RN页面打开速度优化
    • 改成RN的目的?
    • 最终能媲美原生?
    • 除了预载还做了什么, 能达到媲美原生?
    • 如果不做视图预热, 这个页面打开过程中, 有哪些路径、节点是性能瓶颈?
    • xx业务的自定义View逻辑比较复杂是吧?为什么不让这个View异步地去渲染, 拿到数据再加载出来?
    • 视图预热包括几个阶段?总共做了几个事情?
    • 视图预热场景深入的技术研究, 改造相关的技术难点?
    • 怎么去做?
    • 每个业务去做预热都需要知道你们的这个xx机制。有没有想过能力下沉, 在框架层做掉?让业务更少程度去感知这个事情
    • 这个方案, 多了xx内存。第二个业务增大也会有xxM吗?
    • 有没有想过在保持预热后快速打开页面的效果的同时再把内存降下来?
    • 升级中有没有遇到什么困难?
    • 你上面说的是事实, 针对这些问题, 你们做了什么?
    • 页面内优化?
    • 有没有不能batch的请求?
    • 我这边体验下来, 你们app的这个页面在小米14Ultra上滑动卡顿, 触顶反弹会卡.这块有优化吗?
    • RN基建有没有做相关的监控?
    • RN没有首帧渲染的回调吗?
    • 除了首帧还有其他吗?
    • 内存占用怎么做的?什么时机拿内存数据?通过什么上报?
  • 播放优化
    • 做策略的依据?
    • 经验值or有依据?
    • 策略动态下发?
    • 拉线上数据, 根据数据支持做方案?
    • 音质提升方案从远端迁移到本地会不会导致音质降低?
    • 迁移过程中涉及什么难的、深的技术?

代码考核(15min)

20.有效的括号
进阶: 以代码上线的标准要求自己, 将代码写好。包括但不限于: 命名规范、合理的约束、代码可读性、可维护性、拓展性等。

public class Main {private static final List<Character> LEFT = List.of('(', '[', '{');private static final List<Character> RIGHT = List.of(')', ']', '}');public static boolean isValid(String str) {final Stack<Character> stack = new Stack<>();for (int i = 0; i < str.length(); i++) {final char ch = str.charAt(i);if (LEFT.indexOf(ch) != -1) {stack.push(ch);} else {if (stack.isEmpty() || ch != RIGHT.get(LEFT.indexOf(stack.pop()))) {return false;}}}return stack.isEmpty();}public static void main(String[] args) {System.out.println(isValid("()")); // trueSystem.out.println(isValid("{[()]}")); // trueSystem.out.println(isValid("(")); // falseSystem.out.println(isValid("{(]}")); // false}
}

反问问题(15min)

岗位负责内容

业务: 小程序、小游戏、公众号、搜索。
技术:

  • WebView(渲染小程序前端视图)、
  • 小游戏(游戏引擎(unity、自研引擎)、移植游戏(比如: 仙剑)引擎性能调优)、广告(朋友圈、订阅号/服务号/公众号)。
  • matchbrush渲染框架(广告动态化))
  • 公众号(timeline、flutter、c++逻辑和UI跨平台)
    不确定具体做哪一块, 根据招人情况和候选人意愿。
    跨平台是这几年在主推的一些方案:
  • H5
  • flutter
  • 游戏引擎
  • c/c++
  • 小程序

招聘岗位候选人的要求, 技能专精或其他方面的考量?

对项目的技术要点是否有深刻的理解。除了做了,是不是会理解里面的逻辑。比如播放器可以理解得更加深入。
不局限自己做的事情, 需要了解产品层面, 或者技术更底层的, 或者合作方的东西。
这样可以更好cover整个项目, 可以考虑得更加周到。
对不同工龄的同学的要求不同。刚毕业、毕业1-2年、毕业3、4、5、6年。
技术深度+技术广度+工程能力
工程能力:

  • 性能,
  • 全程cover思考
  • 做方案前周全考虑
  • 落地怎么把代码写好
  • 发布后怎么追踪数据
  • 业务优化闭环

面试顺利的话, 多久会通知下一轮?

2-4天。
面试量比较大。很多简历, 面试压力也很大。偶尔可能会稍晚一点, 看下一位面试官安排。

是不是HC比较充足?

充足不代表会降低标准。整个团队都比较充足。
微信本来就是一个精兵模式, 不会招很多人。
目前微信只有5、6千人, 但是CDG(企业发展事业群)、其他事业群可能会有2-3w人
我们现在有需求, 所以会招多一点人。
能过我们这边OK, 不能过也可以更好地准备其他部门的面试。机会都很多。
今天表现还不错, 要有信心。

总结

  • 据说WXG是腾讯所有BG里最难进的, 也可以考虑先进腾讯其他部门, 再内部转岗到WXG。据说这样会比直接社招轻松些 -> 《我是如何拿到微信 offer 的?》
  • 面试问得非常细节, 面试官真的有在好好听你描述项目, 细致地询问你在项目每个阶段的思考和行动。
  • 可以看到全程都在问项目经历, 但整体面试下来, 面试官并不是在考察你做的过往工作是否有价值, 还是在考察你的做事风格, 行为规范, 是否符合逻辑。
  • 直接把面试官说的要求贴这里吧, 希望对想要加入微信的朋友们有所帮助:
    • 技术深度+技术广度+工程能力
    • 性能
    • 全程cover思考
    • 做方案前周全考虑
    • 落地怎么把代码写好
    • 发布后怎么追踪数据
    • 业务优化闭环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

D语言

提起编程语言&#xff0c;相信大家第一时间想到的肯定都是C,但是相信资历较大的程序员们都不会忘记D语言 D语言自 1999 年发布至今已发展了 20 年 它既拥有 Java 那样强大的表现力 又具有 C 相当的性能 却因为 2.x 版本破坏性升级 导致社区大量核心开发者将其放弃。 2010 年——…

Ubuntu22.04系统安装nodejs 14 保姆级教程

下载软件包 从NodeSource 的官方源下载并安装 Node.js 14.x 版本的软件包&#xff0c;适用于 Debian 和 Ubuntu 系统&#xff1a; curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - 更新软件源 更新软件源 sudo apt-get update 下载bodejs14 下载nodejs14 sud…

双指针算法的实现(三题详解)

这是C算法基础-基础算法专栏的第十五篇文章&#xff0c;专栏详情请见此处。 ps&#xff1a;转眼间暑假已过半&#xff0c;我在这段时间也积累了很多文章&#xff0c;所以到开学&#xff08;9月1日&#xff09;为止&#xff0c;每个周我将会在周三和周六发文章(o&#xff9f;▽&…

Springboot项目的行为验证码AJ-Captcha(源码解读)

目录 前言1. 复用验证码2. 源码解读2.1 先走DefaultCaptchaServiceImpl类2.2 核心ClickWordCaptchaServiceImpl类 3. 具体使用 前言 对于Java的基本知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目…

针对datax-web 中Swagger UI接口未授权访问

application.yml 添加以下配置 实现访问doc.html 以及/v2/api-docs 接口时需要进行简单的校验 swagger:basic:enable: trueusername: adminpassword: 12345 配置重启后再进行相关访问则需要输入用户名和密码

Ubuntu 24.04 LTS Noble安装 FileZilla Server

FileZilla Server 是一款使用图形用户界面快速创建 FTP 服务器的软件。它有助于测试需要 FTP 服务器功能的各种项目。虽然早期的 FileZilla FTP 服务器仅适用于 Windows 和 macOS&#xff0c;但现在我们也可以在 Linux&#xff08;例如 Ubuntu 24.04&#xff09;上安装 FileZil…

c++红黑树,插入公式

概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff0c;因而是接近…

Docker安装 OpenResty详细教程

OpenResty 是一个基于 Nginx 的高性能 Web 平台&#xff0c;它集成了 Lua 脚本语言&#xff0c;使得开发者可以在 Nginx 服务器上轻松地进行动态 Web 应用开发。OpenResty 的核心目标是通过将 Nginx 的高性能与 Lua 的灵活性结合起来&#xff0c;提供一个强大且高效的 Web 开发…

Hadoop3.3.5的安装与单机/伪分布式配置

文章目录 一、安装须知二、安装jdk三、安装shh四、安装配置hadoop五、运行hadoop 一、安装须知 本次安装的Hadoop版本为hadoop3.3.5。 在这之前完成了VMware虚拟软件的安装&#xff0c;并安装了Ubuntu22.04&#xff0c;在这基础上进行相关配置。 二、安装jdk 在Ubuntu中使用…

cesium海洋到站提示

项目地址:Every Admin: 用于快速搭建后台管理和其他页面的项目,组件化开发,以及大屏展示. <template> <div class"topbox"> xx海洋管理 </div> <div class"selectbox"> <div class"title"> 航线列表 </div>…

Docker快速搭建WordPress博客系统网站

WordPress 是一款广泛使用的开源内容管理系统(CMS),用于创建和管理网站和博客。 主要功能: 易于使用的界面:WordPress 提供了一个直观的后台管理界面,使用户能够轻松创建、编辑和管理网站内容。 主题和模板:WordPress 提供了各种主题和模板,可根据网站需求进行选择和自…

MQ消息队列+Lua 脚本实现异步处理下单流程

具体实现和代码可参考我以前做过的笔记&#xff1a;《黑马点评》异步秒杀优化|消息队列 回顾一下下单流程&#xff1a; 用户发起请求 会先请求Nginx,Nginx反向代理到Tomcat&#xff0c;而Tomcat中的程序&#xff0c;会进行串行工作&#xff0c; 分为以下几个操作&#xff1…

前端(1)HTML

1、标签 创建1.html文件&#xff0c;浏览器输入E:/frontheima/1.html&#xff0c;可以访问页面 页面展示 在VSCODE安装IDEA的快捷键&#xff0c;比如ctld复制一行、ctrlx剪切 <p id"p1" title"标题1">Hello,world!</p> <p id"p2"…

聊一聊知识图谱结合RAG

因为最近在做一些关于提高公司内部使用的聊天机器人的回答准确率&#xff0c;并且最近微软官方也是开源了一下graphrag的源码&#xff0c;所以想聊一聊这个知识图谱结合rag。 rag在利用私有数据增强大模型回答的领域是一种比较典型的技术&#xff0c;也就是我们提出问题的时候&…

排序系列 之 希尔排序

&#xff01;&#xff01;&#xff01;排序仅针对于数组哦本次排序是按照升序来的哦 介绍 英文名为ShellSort&#xff0c;又称“缩小增量排序”是直接插入排序算法的一种更高效的改进版本希尔排序是把记录按下标的指定步长分组&#xff0c;然后按照每组使用直接插入排序&#…

C++程序的UI界面闪烁问题的解决办法总结

Windows C++程序复杂的UI界面要使用多种绘图技术(使用GDI、GDI+、ddraw、D3D等绘图),并要贴图去美化,在窗口移动或者改变大小的时候可能会出现闪烁。下面罗列一下UI界面产生闪烁的几种可能的原因,并给出相应的解决办法。 1、原因一 如果熟悉显卡原理的话,调用GDI函数向屏…

【动态规划】不同路径

不同路径&#xff08;难度&#xff1a;中等&#xff09; AC代码 有点水 class Solution { public:int uniquePaths(int m, int n) {//以m为行&#xff0c;n为列&#xff0c;创建二维数组vector <vector<int>> dp(m1,vector<int>(n1));dp[0][1]1;dp[1][0]1;…

内网渗透—内网穿透工具NgrokFRPNPSSPP

前言 主要介绍一下常见的隧道搭建工具&#xff0c;以此来达到一个内网穿透的目的。简单说一下实验滴环境吧&#xff0c;kali作为攻击机&#xff0c;winserver2016作为目标靶机。 kali 192.168.145.171 winserver2016 10.236.44.127 显然它们处于两个不同的局域网&#xff0c…

Android 软键盘挡住输入框

Android原生输入法软键盘挡住输入框,网上各种解法,但不起效。 输入框都是被挡住了,第二张图的小点,实际就是输入法的光标。 解法: packages\inputmethods\LatinIME\java\res\values-land config.xml <!-- <fraction name="config_min_keyboard_height"&g…

JavaWeb--Servlet和JSP的基本使用

JavaWeb--Servlet和JSP的基本使用 文章说明servlet和jsp的发展历程最早的手动拼接html页面的servlet使用示例采用jsp技术进行交互与展示页面标签jsp与servlet共同使用、分层处理示例项目下载 文章说明 介绍了javaWeb中Servlet和JSP的基本使用&#xff0c;尽管它们的技术相对比较…