Adobe面试题2025年3月17日 | 阅读33分钟 关于公司:AdobeAdobe Systems Incorporated,也称为Adobe,是一家美国跨国公司,从事计算机软件业务。Adobe的总部位于美国加利福尼亚州圣何塞,于2017年全球拥有17000名员工。Adobe由John Warnock和Charles Geschke于1982年12月创立。公司最初主要是为了开发和销售PostScript页面描述语言。公司提供各种创意软件产品和服务,供专业人士、应用程序开发者、企业和消费者使用。Adobe以Photoshop、Acrobat Reader、Portable Document Format (PDF)、Adobe Creative Suite和Adobe Creative Cloud而闻名。Adobe主要专注于三个领域:数字媒体、数字营销以及印刷和出版。Adobe是值得工作的优秀公司之一,并于2003年被评为美国第五佳公司。Adobe在2018年被Interbrand评为第51大全球品牌。 Adobe公司高管首席执行官兼董事长:Shantanu Narayen 首席财务官:John F Murphy 首席技术官:Abhay Parasnis Adobe招聘流程Adobe的招聘流程是招聘流程中最困难的之一。Adobe非常谨慎地选拔候选人,经过大量的筛选以在所有候选人中选出最优秀的人才。Adobe的招聘流程也与其他公司不同,因为它需要进行5-6轮面试。以下是招聘流程的主要轮次。
学术要求
第一轮:在线笔试描述第一轮将是线上测试,主要包含两个部分。第一部分是基础的思维能力和推理。第二部分包含基于C/C++/JAVA输出的MCQ问题,以及主观的编程题。此轮测试在Hackerrank平台上进行,候选人可使用任何首选语言(C、C++或Java)进行编码。此轮的第一部分将是整个招聘流程中最轻松的一轮,但需要快速才能通过。 第一轮测试模式
A. 数量和推理部分
为第一轮准备的带答案的示例思维能力题 思维能力面试题1) 如果房间里的一个灯泡每9秒闪一次,那么在3/4小时内它会闪烁多少次?
答案:a 说明 2) Arjun、Ram和Vivek现在的年龄比例是4:7:9。如果9年前,他们年龄之和是53,那么他们现在的年龄是多少?
答案:a 解释:Arjun、Ram和Vivek现在的年龄比例是4:7:9 3) 如果一个办公室员工的平均年龄是40岁,并且有120名新员工加入公司,他们的平均年龄是32岁。因此,所有员工的平均年龄减少了4岁。那么公司现在有多少员工?
答案:d 说明 4) 找出能被88整除的最大的四位数?
答案:c 说明 5) 计算前五个质数的和?
答案:d 说明 6) 'A'单独在2天内能完成1/4的工作。'B'单独在4天内能完成2/3的工作。如果三名工人一起工作,他们可以在3天内完成工作,那么'C'单独在2天内能完成多少工作?
答案:a 说明 7) Ravi有一天从家出发晚了30分钟,但开车比平时慢25%,结果迟到了50分钟。Ravi通常需要多长时间才能从家到办公室?
答案:c 说明 8) 一位店主以20%的利润卖出一张桌子,价格为840卢比,另一张桌子以4%的亏损卖出,价格为960卢比。他的总利润或亏损是多少?
答案:a 说明 9) 如果一个圆锥形帐篷能容纳10人。每个人必须有6平方米的空间站立,并有30立方米的空气呼吸。那么圆锥的高度是多少?
答案:30米 说明 10) A在10天内能完成一项工作,B在12天内能完成同样的工作,Ravi在15天内能完成。他们都一起开始工作,但A在2天后离开,B在工作完成前3天离开。计算工作完成的天数。
答案:d 说明 推理题1) 如果MADRAS可以编码为NBESBT,那么BOMBAY可以如何编码?
答案:C 说明 2) 序列3, 4, 6, 9, 13,_______ 的下一项是什么?
答案:c 说明 3) 如果w, x, y, z是整数。条件是表达式x-y-z是偶数,而表达式y-z-w是奇数。如果x是偶数,那么哪个一定成立?
答案:a 说明 4) BXF, DVI, FTL, HRO,_____ 这个序列的下一项是什么?
答案:d 说明 5) 如果在某种编码语言中,i. Guda buka 意思是 清水
答案:b 说明 6) 如果Win与Competition相关,那么Invention与什么相关?
答案:a 7) Rahul对Akash说,“那个踢足球的男孩是我父亲妻子的女儿的两个兄弟中较小的一个。”那个踢足球的男孩与Rahul是什么关系?
答案:b 说明 8) 介绍Riya时,Sam说:“她是唯一一个我母亲唯一兄弟的唯一侄子的妻子。”Riya与Sam是什么关系?
答案:a 说明 9) 工程师:地图::砌砖工:? 找出这个词。
答案:a 10) 从以下选项中找出 odd word (不相关的词)
答案:c 说明 B: 示例技术MCQ第一轮的第二部分是技术MCQ和编程部分。这一部分比较难。它需要对数据结构、C语言、位操作和算法的概念进行深入研究。这里有一些Adobe面试的示例题目及答案。 1) 以下代码的输出是什么int main()
答案:b 2) 在C语言中,参数总是_______
答案:c 3) 找出以下代码的输出#include <stdio.h>
答案:b 4) 以下语句的用途是什么?scanf ("%3s", str);
答案:a 5) 找出以下代码的输出。char p[10];
答案:d 6) 使用三个未标记的节点可以形成多少个二叉树?
答案:d 7) 具有3个节点的结构上不同的二叉树总数是多少?
答案:b 说明 8) 哪种排序算法可以用来以最小的时间复杂度对随机链表进行排序?
答案:b 9) 计算以下代码的输出#include<stdio.h>
答案:c 说明 10) 计算以下代码的输出#include <stdio.h>
答案:b 编程题这一部分是编程测试,候选人需要用任何首选语言(C/C++/Java)为给定的问题编写代码。以下是一些用于练习的编程题。 1) 编写代码反转链表?输出 Input linked list 68 30 14 20 Reversed Linked list 20 14 30 68 2) 编写代码,用最少次数的加法来计算两个数的乘积。输出 The product of 10 and 20: 200 3) 编写一个程序来交换两个整数指针?输出 Before swap 20 30 After swap 30 20 4) 编写一个程序来计算斐波那契数列的第n项?输出 The series is 0 1 1 2 3 5 8 13 The nth term is 13 5) 编写一个程序来计算数字中所有Set Bits的总数?输出 Total bits are=4 Total zero bits are=0 Total one's bits are= 4 6) 编写一个算法,以log n的复杂度计算X^N的输出。输出 The output for x^n, where x=6, n=3, 216 7) 编写代码检查二叉树是否为BST树?输出 Input Tree is 1 3 4 7 8 9 10 Tree is BST or not: true Tree is BST or not: true Input Tree is 1 3 4 20 7 8 9 10 Tree is BST or not: false Tree is BST or not: false 8) 编写代码找出列表中从末尾开始的第n个元素?输出 18 20 30 15 10 16 4th node from end is: 30 技术轮面试题这是Adobe面试流程的第三轮主要环节。它包含多个环节。在此轮中,候选人将接受技术技能的考核。如果候选人通过一轮,他/她就可以进入下一轮。 技术第一轮1) typedef和#define有什么区别?typedef和#define之间的主要区别如下
示例 输出 10 Andhra Pradesh 2) 为什么我们使用sprintf()函数?sprintf()是一个C库函数,称为“字符串打印”。sprintf函数用于将格式化数据输出保存为字符串。 语法 示例 输出 multiplication of 10 and 5 is 2 3) 如何区分char a[]= "String"和char*a = "String"?陈述
以上两句的区别在于,第一句会创建一个包含9个元素的数组,并自动添加空指针,数组a的大小为9。 但第二句会创建一个指针变量。我们不能对这个指针变量执行任何数组操作,因为它存储在只读模式下。 示例 输出 9 Cnmputer 示例 2 4) 解释数据断点?在哪里可以使用它?数据断点是C++中一个强大的功能,它允许我们在特定内存位置存储的值发生变化时停止执行。数据断点可以用来解决内存损坏问题。 5) 区分new和malloc()?new和malloc()都用于动态内存分配。但new和malloc之间存在各种差异,如下所示,
6) 区分进程和线程?以下是进程和线程之间的基本区别
7) C++的简写属性是什么?它的作用是什么?C++提供了简写属性,使程序员能够以更简洁的方式使用赋值运算符。 示例 x=x+5; 可以写成 x+=5; x=x-10; 可以写成 x-=10; 8) 你对函数原型声明和定义有什么理解?函数原型声明:函数原型声明语句提供了关于函数以下信息
示例: 其中add是函数名,a, b, c是传递的参数。 函数定义:函数定义是函数的实际源代码。函数定义提供了函数实际做什么的信息。 示例 9) 你对条件运算符有什么理解?
语法 示例 10) C语言中的volatile关键字是什么?volatile关键字是声明变量时使用的限定符。 它告知编译器变量的值可以随时更改,即使它看起来没有被修改。 volatile关键字用于将变量声明为 volatile 变量。它可以在数据类型之前或之后使用。 语法 11) 你对OS有什么理解?用最简单的方式解释。
12) 为什么我们在C和C++中使用指针?指针是存储C和C++中另一变量地址的变量。 以下是我们在C和C++中使用指针的主要原因
13) 区分按指针调用和按引用调用?在C++语言中,我们可以通过引用或指针将参数传递给函数,这两种都是正确的方法,并且非常相似,但它们之间的基本区别是
14) 你对calloc()和malloc()有什么理解?在C语言中,calloc()和malloc()是库函数,两者都用于动态内存分配。这意味着它根据需要从堆部分在运行时分配内存。 malloc(): malloc()函数是一个库函数,它分配一块请求的内存并返回一个void指针,该指针可以转换为任何返回类型。如果内存不足,它将返回null值。 语法 calloc(): calloc()函数也是一个库函数,它分配请求大小的多个内存块。它首先将内存初始化为零,并在内存不足时返回NULL。 语法 15) 解释术语“虚拟机”?虚拟机是一个软件程序,它像一台独立的计算机一样运行。它的功能与主计算机相同,并且能够运行应用程序和其他程序。虚拟机,称为客户机,在称为主机的主机内创建。根据用途,有两种类型的虚拟机。
16) 你对同步有什么理解?同步是指同时执行两件事的过程。 同步有两种类型
进程同步:进程/线程同步是一种机制,用于控制两个并发线程之间对共享资源的访问。它确保两个并发线程不会同时共享同一资源。同步处理死锁、饥饿、忙等待等问题。 数据同步:数据同步是一种确保两个设备之间数据完整性的技术。通过数据同步,它可以在不同位置保持单个数据的多个副本。它包括文件同步、日志记录、RAID等。 17) 解释术语互斥锁?读者-写者问题是什么?互斥锁
读者-写者问题 在操作系统中,对于一个特定的共享数据区域,存在一个称为读者-写者问题的情况,该情况涉及
这个问题主要发生在并发或多线程中。 18) 为什么我们使用void关键字?void关键字可以用于两种目的 函数参数:当我们将void用作函数参数时,表示函数不接受任何值。 示例 函数返回类型:当我们将void用作函数返回类型时,表示它不返回任何内容。 示例 void关键字也可以与指针一起使用,这使其更加强大,因为当void与指针一起使用时,它被称为通用类型,它可以保存任何类型的地址。 19) 解释出口控制循环?出口控制循环是一种循环,它首先执行指令,然后检查条件。当我们使用出口控制循环时,即使条件为假,至少会执行一次。do-while循环是出口控制循环的一个例子。 20) 什么是DNS服务器?DNS服务器是DNS(域名系统)基础设施的主要组成部分。它是一台计算机服务器,存储和管理IP地址及其相应主机名的数据库。 DNS服务器也称为名称服务器,用于将域名映射到相应的IP地址。 一个域名可以有多个IP,这意味着IP地址会随时间变化。 ![]() 技术第二轮1) TCP/IP模型中有哪些不同的层?解释每层的协议?TCP/IP模型称为传输控制协议/互联网协议。TCP/IP模型是OSI模型的实用且简洁的版本。当前的網絡架构依赖于TCP/IP模型。它主要包含四个层
1. 链路层 负责通过网络传输数据的物理流。它包含光纤、同轴电缆或双绞线等硬件设备。在此层,数据以比特和帧的形式传输。 此级别使用的协议是Ethernet、令牌环等。 2. Internet层 Internet层是链路层的上一层。此层将数据转换为数据包,称为IP数据报,并将这些数据报通过网络发送到主机。这些数据报包含主机和目标地址,通过它们可以在网络中转发。 此级别主要使用的协议是
3. 传输层:这是TCP/IP模型的第三层,负责源主机和目标主机之间的通信以及无错误的数据传输。 此层主要包含两个协议 TCP(传输控制协议):TCP是一种可靠的协议,用于源主机和目标主机之间的无错误通信。它是一种面向连接的协议。 UDP(用户数据报协议):与TCP协议相比,此协议不可靠,我们可以使用此协议不需要可靠通信。它是一种无连接协议。 4. 应用层:这是TCP/IP模型的最高层。它描述了应用协议并提供节点到节点的通信。 此层包含各种高级协议,它们是
2) 解释调用函数时堆栈的工作原理?堆栈溢出何时发生?堆栈是RAM的一个特定区域,与堆类似。但堆栈用于存储函数内部使用的局部变量、参数和返回值,并且堆栈会自动存储和释放内存。 当我们调用函数时,堆栈执行以下步骤
当我们调用函数时,堆栈会添加一个堆栈帧,其中包含实际参数、局部变量、返回地址等空间。该堆栈帧在函数被调用期间一直存在于活动帧中,一旦执行完成,堆栈就会从堆栈中移除该堆栈帧。 堆栈溢出:正如我们所知,堆栈在执行后会释放内存并清空空间,但仍然存在一种情况,即当堆栈空间完全用完,没有更多空间来保存变量时,这就称为堆栈溢出。它发生的原因是堆栈的空间大小也是有限的,并且在执行时,如果分配的内存超过可用内存,就会发生溢出,程序就会崩溃。堆栈溢出的一些示例如下
3) 解释声明:int* const p 和 const int* const p 的含义?int * const p:通过这样声明指针,意味着我们将指针变量p声明为常量,不能更改。我们不能更改它所持有的地址,或者它不能指向其他变量。如果我们尝试更改p的地址,它将产生编译时错误。 const int * const p:通过这样声明指针,意味着我们既不能更改指针的地址,也不能更改该地址处的值。如果我们尝试这样做,它将产生编译时错误。 4) C++中的默认函数是什么?C++提供了六个默认成员函数,如下所示
5) 用于字典的数据结构是什么?要实现字典,使用哪种数据结构取决于我们的需求,以下是一些可用于字典实现的数据结构。 哈希表:如果我们想要一个简单的字典,没有前缀匹配或最近邻搜索选项,那么我们可以使用哈希或哈希表来实现字典。 Trie:如果我们想要添加前缀和快速查找,它可能是一个不错的选择。但是,它比其他数据结构占用的空间更多。 三元搜索树:如果我们想要Trie的所有功能但又不想占用太多空间,那么我们可以使用三元搜索树。 BK-树:如果我们想要拼写检查器、查找相似单词等功能,BK-树是一种非常好的数据结构。 6) 如何从一个包含重复单词的字符串中找到唯一的单词?我们可以使用HashMap、Set和Regex从字符串中找到唯一的单词。 候选人也可能被问到以下问题
技术第三轮或总监轮这一轮是一个具有挑战性的环节,因为在这轮中,经理会根据你的项目提问,所以候选人必须对他们做过的项目有深入的了解,并且要解决一些难题。 1) 编写汉诺塔的算法?汉诺塔是一个非常流行的数学谜题。在这个谜题中,我们有三个圆盘和三个杆。圆盘按升序堆叠在第一个杆上。我们需要以相同的顺序将圆盘从第一个杆转移到第三个杆。 也有一些规则
算法 假设有三个塔:源塔(Beg)、辅助塔(Aux)和目标塔(Dest),以及两个圆盘,其中n是较大的圆盘,n-1是较小的圆盘。 开始 步骤1:将n-1个圆盘从源塔Beg移动到辅助塔Aux 步骤2:将n个圆盘从源塔Beg移动到目标塔End 步骤3:将n-1个圆盘从辅助塔Aux移动到目标塔C。 2) 编写代码查找链表中的环?如何移除这个环?输出 Loop is occurred Linked List after removing loop 40 15 12 10 4 3) 如何设计Excel电子表格的数据结构?我们可以通过使用以下方式设计Excel电子表格
4) 解释OS中的内存保护。内存保护是一种机制,用于控制计算机中内存的未经授权的访问。内存保护可防止进程访问未分配的内存。在进程使用内存地址之前,会先检查该地址是否已分配。 使用LBR和UBR两个寄存器来实现内存保护。 5) OS中的虚拟内存是什么?虚拟内存是操作系统的内存管理技术。当主内存没有足够的空间来执行代码时,虚拟内存为程序提供额外的空间。它将数据暂时从RAM转移到磁盘存储,利用硬盘的非活动内存,这被称为虚拟内存。 6) 编写一个算法将一个元素插入到排序好的链表中?假设链表按升序排序,那么其算法如下。设输入节点为13,并赋值为n 假设输入链表为: 1) 如果给定的链表为空,则将节点分配为head并返回。 2) 如果节点n的值小于head节点的值,则在开头插入节点并将其设为head。 3) 在循环中,查找输入节点应插入的合适节点。要搜索合适的节点,从head开始,一直移动,直到找到一个值大于输入节点的值的节点x(假设为15)。x之前的节点将是合适的节点(11)。 4) 在步骤3中找到的合适节点(11)之后插入节点(13)。 插入后 7) 查找和为给定数字的元素对?输出 Pair element found at position 0 and 4 Pair element found at position 1 and 7 Pair element found at position 2 and 5 候选人也可能被问到以下问题
HR轮HR轮将是整个招聘流程的最后一轮。与以上所有轮次相比,这一轮会比较轻松,因为在本轮中,面试官只是想与候选人进行互动。在本轮中,面试官将根据沟通技巧和软技能来评判候选人。 1) 简要介绍一下你自己?这个问题是一个非常常见的问题,在大多数面试中都会被问到。这个问题的答案应该如下。
2) 你为什么想加入Adobe?面试官问这个问题是为了检查你是否真的想加入,或者你加入这家公司的动机是什么。你应该这样回答这个问题
3) 你有哪些技能,为什么我们应该雇佣你?通过这个问题,面试官想检查你对自己的技能了解有多深,以及你如何看待自己与众不同。答案应该是
4) 你的梦想公司是哪家?通过这个问题,面试官想检查你的热情。这家公司是你的梦想公司,还是你加入这家公司是因为没有其他选择。所以候选人应该谨慎回答这个问题。 要回答这个问题,候选人不应该提及其他公司的名称,而是可以选择公司的特质。 示例 我的梦想工作是那种致力于创新,并为世界提供能改变人们生活方式的产品的工作。我对这份工作感到兴奋。据我所知,Adobe是一家信奉创新和创造力的公司。 5) 谈谈你的家庭背景?这是一个普遍且轻松的问题,你不需要想太多就能回答。要回答这个问题,你需要说明你有多少家庭成员,他们做什么。 示例
6) 十年后你想在哪里看到自己?示例
7) 你独特而与众不同的品质是什么,这使你成为公司最适合的员工?这个问题与“为什么我应该雇佣你”相同,答案应该参考问题3。 8) 你认为自己是一个目标导向的人吗?
9) 你最大的优点和缺点是什么?我最大的优点是我自我激励的性格。有了这个,我就可以面对任何挑战。 我最大的缺点是我的情绪化。当看到有人处于不利境地时,我很容易受到影响。 |
我们请求您订阅我们的新闻通讯以获取最新更新。