社招-京东零售-App开发工程师岗-动态化方向(共四面)
JD(招C++技术栈)
岗位职责及目标:
- 负责全端动态化的规划和落地;
- 负责动态化容器、底层引擎软件架构设计及开发工作;
- 负责动态化容器、底层引擎的性能和内存优化;
- 负责动态化引擎在跨Android、iOS、鸿蒙多平台的模块设计和编码实现。 任职要求
- 全日制本科及以上学历,计算机或相关专业;
- 熟悉动态化框架的架构设计和落地实现,有相关的成功经验;
- 精通 Android、iOS、CSS Flexbox 等布局方案;
- 熟悉一种原生动态化框架方案,以 JSON、XML 等 DSL 进行布局的方案;
- 精通移动端 Java/Kotlin,Objective-C/Swift 等平台 Native 语言编程,熟悉 C/C++ 编程者优先;
- 熟悉 JSC、V8、QuickJS、Hermes 任一 JS 引擎;
- 有良好的团队沟通、协调能力和责任心;
- 具备较强的自驱力和学习能力。 符合京东价值观:客户为先、创新、拼搏、担当、感恩、诚信。
2025.11.19 一面(同伴面)
-
介绍每个项目,面试官针对项目提问
-
你的技术栈是什么(自我介绍里没说)
-
Java,JvaScipt,OC,Swift知道吗(和部门业务相关)
-
算法题:字符串反转怎么实现,有几种方法可以实现?如果是对一个包含英文单词的字符串进行反转呢?(单词字符串不需要反转,只反转单词即可),有几种方法可以实现?
-
结构体大小,有函数的结构体的大小,有shared_ptr 指针的结构体大小分别是多少?
-
结构体前面用 alignas(64) 修饰是什么含义,对齐应该写多少合适?
-
结构体里的变量内存布局?
-
struct 里边重写一个operator = 操作符,我们可以在结构体之外重写 operator = 操作符吗
-
std::variant 和 std::any 的区别。(注:C++17引入)
-
std::tuple (C++11 开始引入)
-
子类 CC 继承 父类 AA,AA* aa = new CC()类初始化顺序是什么样的,成员变量初始化顺序是什么样的,构造函数的初始化列表和在构造函数里面进行的初始化,先后顺序怎样的。
-
什么是完美转发?
-
函数传参中传变量,传指向这个变量的指针,传引用有什么区别?
-
常量引用会有什么限制?真的不能改吗,还是说有办法改?
-
看过汇编代码吗?
-
C++ 中有栈内存和堆内存,在使用场景上,速度上有什么分别,或者说写代码时我们如何考量使用哪一个?
-
rust知道吗
-
vector底层数据结构,vector和 list的区别, C++ 编译器下 vector 扩容规则是啥样的
-
实现一个生产者消费者模型。生产者生产5个东西,然后消费者开始消费这5个,消费者5个消费完了,然后生产者再生产5个,消费者再消费五个,就是这样不断的来回。
-
一个方法里边操作一个静态变量,这个静态变量是在别处被定义的,这个方法被并发调用,如果仅仅需要保证改变量的内存可见性,我有哪些做法?
-
互斥锁,lock_guard, 条件变量的使用
-
是否了解模板元编程
-
对 RAII 的理解
-
C++里面没有 GC机制,怎么能避免内存泄漏,还有尽量减少内存开销
-
智能指针的循环引用怎么解决?
-
平常写代码会用到哪些AI工具
-
说下 MCP 协议
-
AI大语言模型的上游,中游,下游是指什么,你了解多少?
-
Agent 是什么,智能体是什么
-
反问
下午三点面试,面到4点多,接着hr面,说是为了加快面试流程。当天晚上约了二面。
2025.11.21 二面(面试官是我的+1)
-
问项目中的一些细节
-
场景题: 消息队列中如何控制消息是一个一个给出去的。现在有一个队列里边放多个任务(执行任务的过程可以理解为是执行函数的过程),怎么能够保证队列中的任务是一个一个被消费掉的。
-
算法题: Leetcode 543. 求二叉树的直径
之前没有刷过这道题,没写出来。 问递归深度过深,栈溢出怎么办,答可以采用迭代法。 要求分别使用递归法和迭代法实现。 官方给的解题思路挺巧妙的,但是代码不是很友好。 这里给出我自己的题解,已AC,供参考: https://leetcode.cn/problems/diameter-of-binary-tree/solutions/139683/er-cha-shu-de-zhi-jing-by-leetcode-solution/comments/3176713/
- 反问 此时已经快到面试尾声,前面答的不是很好,惭愧。
-
问题1:请面试官介绍下组内业务 这个问题是激发面试官自我表达的欲望,人们都愿意分享自己熟悉的领域的事务。让面试环节有来有往。
-
问题2:如果我入职,您期待我在入职后半年,一年的时间分别具备什么样的能力,达成什么样的业绩,有什么样的产出。
因为特意搜过这个岗位(端动态化)的一些公众号文章,以及我自己对于JD拆的很细,让AI帮我总结了许多资料,所以面试官说到的一些业务内容和挑战我大概知道在说什么。 当他提到要解决什么样的问题的时候我也会联想自己过去做过什么事情,表达我有相关的经验,我有能力解决你说的这些问题。
感觉得聊了半小时左右。能接住面试官的话,并针对性的做一些提问或着给出自己的理解和看法。
Tips: 反问实际上仍然是一个展示个人能力的机会。即使前面没答好,也不要放弃,试着展示自己的稳定性,对这个岗位极大的兴趣和匹配度。
2025.11.26 三面(面试官是我的+2)
两个面试官(猜测一个是 hr, 一个是 老板),面试时间40min 前五个问题都是围绕我的项目相关的,看看就行。 大家专一地准备自己项目中涉及到的技术点就好。
- 客制化内核会带来什么样的效果呢?比如说有什么样的一些提升吗?
- 后续我们希望你在coding上能有更多的能力体现,有没有那种开发的项目?在你的技术点上体现的比较多的项目,我们讨论下?
- 了解memory tag 吗
- 如何定位野指针,有什么工具或者机制可以做。
- 介绍下ASAN机制
- 上一家工作中coding代码量大概有多少?
- gap期间在做什么?
- 离职时候的职级和绩效
- AI 方面你了解什么,用过什么,做过什么
- 反问
2025.12.1 交叉面
跨部门的同事面,面之前网上搜了下这一面主要考察跨部门协调、沟通能力。所以提前准备了一些跨部门合作沟通解决问题的部门在项目介绍的时候去说。
问的所有问题都是围绕着项目展开的,这里我个人的工作项目对大家没有参考意义就不放出来了。
面试反问环节大家还是要精心准备两个问题。
2025.12.2 进入收集薪资环节。四轮面试已通过。
祝看到这里的大家都好运!
