微信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 年——…

Unity GameObject: 构建游戏世界的基本元素

在Unity这个游戏开发平台中&#xff0c;GameObject是构成游戏世界的基础构件。无论是角色、敌人、道具还是环境元素&#xff0c;它们都是GameObject的不同表现形式。本文将深入探讨Unity中GameObject的概念、重要性以及如何使用它们来构建和丰富你的游戏世界。 GameObject简介…

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;因而是接近…

C++ STL set_symmetric_difference

一&#xff1a;功能 给定两个集合A&#xff0c;B&#xff1b;求出两个集合的对称差&#xff08;只属于其中一个集合&#xff0c;而不属于另一个集合的元素&#xff09;&#xff0c;即去除那些同时在A&#xff0c;B中出现的元素。 二&#xff1a;用法 #include <vector>…

【前端手写代码】手写Object.create

思路&#xff1a;将传入的对象作为原型 // 思路&#xff1a;将传入的对象作为原型 function create(obj) {function F() { }F.prototype objreturn new F() }

Go 语言单例化利器 Once

Once 可以用来执行仅仅执行一次的动作,常常被应用于单个对象的初始化场景。 1. Once 的使用方法 sync.Once 只暴露了一个方法 Do,你可以多次调用 Do 方法,但是只有第一次调用 Do 方法时参数 f 才会执行,这里的 f 是一个无参数、无返回值的函数。 func (o *Once) do(f func…

学习java第一百四十二天

ApplicationContext通常的实现是什么&#xff1f; FileSystemXmlApplicationContext &#xff1a;此容器从一个XML文件中加载beans的定义&#xff0c;XML Bean配置文件的全路径名必须提供给它的构造函数 ApplicationContext context new FileSystemXmlApplicationContext(&quo…

Docker安装 OpenResty详细教程

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

Redis备份策略面试三道题

关于Redis备份策略的面试题&#xff0c;由简单到困难&#xff0c;可以给出以下三道题目及其参考答案&#xff1a; 1. 简单题&#xff1a;Redis支持哪些主要的备份方式&#xff1f; 参考答案&#xff1a; Redis支持两种主要的备份方式&#xff1a; RDB&#xff08;Redis Data…

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

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

MongoDB - 组合聚合阶段:$group、$match、$limit、$sort、$skip、$project、$count

文章目录 1. $group2. $group-> $project2.1 $group2.2 $group-> $project2.3 SpringBoot 整合 MongoDB 3. $match-> $group -> $match3.1 $match3.2 $match-> $group3.3 $match-> $group-> $match3.4 SpringBoot 整合 MongoDB 4. $match-> $group->…

cesium海洋到站提示

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

以乐观心态拥抱生活,坚信美好终会降临

在人生的漫漫长河中,我们每个人都如同漂泊在波涛汹涌的大海上的一叶扁舟,时而遭遇狂风骤雨,时而沐浴温暖阳光。生活中的种种际遇,或喜或忧,或顺或逆,如同变幻莫测的风云,常常让我们心生焦虑与不安。然而,我要在这里郑重地告诉您:凡事您不必担心,会有个好结局的。这并…

2024年暑假ACM集训第1场

A:小青蛙跳台阶 题目描述 想必你应该做过这么一道题&#xff1a;一只小青蛙一次可以跳1级台阶&#xff0c;也可以一次跳2级台阶。求该青蛙跳上第N级台阶总共有多少种跳法&#xff1f;&#xff08;假设小青蛙的初始位置是第0级台阶&#xff09; 现在小青蛙遇到了一点麻烦&#x…

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

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