查看: 1083| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

PM 产品经理 intern面试 技术面试问题technical question 2

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
-- Has a technical solution designed by you or your team ever become a commercial product? 您或您的团队设计的技术解决方案是否曾经成为商业产品?


What are the important elements of competitive analysis?
A competitive analysis should examine your
competitors' features,
market share,
pricing,
marketing strategy (4 important components: porter's five forces, SWOT analysis, business models, customer journey mapping) and tactics
differentiators,
strengths,
weaknesses,
geography,
culture
and customer reviews.

Explain the difference between C++ and Java.
C++ and Java differ in their platform dependency, memory management, and use of classes. C++ is platform dependent and needs to be compiled on every platform.
Java is platform-independent. Once it's compiled into bytecode it can be executed on any platform.
以下解释给非计算机小白们:
C++ 简介Introduction to C++

C++ 是游戏引擎、高频交易等多个领域中最流行的编程语言之一。它是一种半面向对象的编程语言,由 Bjarne Stroustrup 开发,作为现有编程语言 C 的扩展。C++,也俗称“带类的 C”,随着时间的推移已经发展和多样化,并且是作为编译语言实现。C++ 已在微软、IBM 等许多大型软件公司中得到应用,可用于开发桌面应用程序、视频游戏、服务器,例如电子商务、网络搜索和数据库,以及高性能应用程序,例如,电话交换机、空间探测器等One of the most popular programming languages in a variety of fields like Game engine, high frequency trading, etc. is C++. It is a semi object oriented programming language which was developed by Bjarne Stroustrup as an extension of the already existing programming language C. C++, also popularly known as ‘C with classes’, has evolved and diversified a lot over the course of time and is implemented as a compiled language. C++ has found its usage in a lot of big Software Companies like Microsoft, IBM, etcetera and  can be used to develop desktop applications, video games, servers for instance, E-Commerce, web search and databases, and high performance applications for instance, telephone switches, space probes, etc.   

C++ 支持许多特性,如面向对象原则,例如继承、封装、多态(静态和动态)等。但是即使没有类或创建对象,也可以编译 C++ 代码。因此,它被正确地称为半面向对象的语言。


C++ 必须提供的一些特性如下:
Some of the features that C++ has to offer are as follows:

1.静态和动态内存分配:在C++中,静态和动态分配都是可能的。这意味着 C++ 允许用户在编译时(静态内存分配)和运行时(动态内存分配)为变量、对象等分配内存。使用malloc()、calloc()、realloc()等函数可以实现动态内存分配。Static and Dynamic Memory allocation: In C++, both static and dynamic allocation is possible. This means that C++ allows the users to allocate memory to variables, objects, etc., both at compile time(static memory allocation) and at run time (dynamic memory allocation). Dynamic memory allocation can be achieved with the usage of malloc(), calloc(), realloc(), etc. functions.
2.模板的创建: C++ 模板用于强制通用编程。从本质上讲,模板化意味着创建一个通用函数、类等,这些函数、类等将为多个数据类型执行特定任务。Creation of Templates: C++ templates are used to enforce generic programming. Essentially, templating means to create a generic function, class, etc. that would perform a particular task for more than one data type.
3.运算符重载: C++ 支持运算符重载,即赋予特定运算符一个不同于其通常用途的含义。例如,C++ 的加法运算符 ('+') 通常用于将两个数字相加,无论是整数还是小数。但是,它可以被重载以连接两个字符串或添加两个复数对象。  Operator Overloading: C++ has support for operator overloading, that is, giving a meaning to a particular operator other than what it is usually used for. For instance, the addition operator (‘+’) of C++ is generally used to add two numbers, be it integer or fractional values. However, it can be overloaded to concatenate two strings or add two Complex Number objects also.
4. Lambda 函数: C++ 提供了对匿名函数的支持,通常称为 lambda 表达式。lambda函数的语法如下:Lambda Functions: There is support provided by C++ for anonymous functions, popularly called lambda expressions. The syntax of lambda functions is given below:

[capture](parameters) -> return_type { function_body }

Java 简介
Java 最初由 Sun Microsystems(现已被甲骨文收购)的 James Gosling 开发,Originally developed by James Gosling at Sun Microsystems (now acquired by Oracle) 是当今最多样化的语言之一。Java 已被全球数百家软件公司和数百万开发人员使用,已成为用于构建软件应用程序以解决现实世界问题的最流行的语言。Java 是一种高级面向对象的编程语言,旨在尽可能减少实现依赖项。Java 支持 WORA 的特性——一次写入,随处读取。换句话说,编译后的 Java 代码可以在所有支持 Java 的平台上运行,而无需重新编译。
, Java is one of the most diverse languages of today’s time. Used by hundreds of Software Companies and millions of developers all round the globe, Java has become the most popular language which is used to build software applications to solve real world problems. Java is a high level object oriented programming language which is designed to have as few implementation dependencies as possible. Java supports the feature of WORA – Write Once Read Anywhere. In other words, compiled Java code can run on all platforms that support Java without the need for recompilation.


Java 还支持许多特性,这些特性增强了开发人员开发可扩展应用程序的能力。Applet、Servlet、JavaServer Pages 等特殊类使应用程序的开发更加容易。此外,Java 还构建了许多框架,例如 Spring、Dagger 等,可帮助开发人员无缝工作。
Java also has support for a lot of features which enhances a developer’s capabilities to develop scalable applications. Special classes like Applets, Servlets, JavaServer Pages, etc. make the development of applications easier. Also, Java has a lot of frameworks built on top of it like Spring, Dagger etc. which helps developers to work seamlessly.

现在我们知道了 CPP 和 Java 是什么,让我们深入探讨这两种语言之间的区别,即让我们从各种属性的角度来看看 C++ Vs Java//  let us deep dive into the difference between the two languages, that is, let us take a look at C++ Vs Java in terms of various attributes.


下表总结了 C++ 和 Java 之间的主要区别:




1        开发/创建者 developed/founded by
C++ 由贝尔实验室的 Bjarne Stroustrup 于 1979 年开发。它是作为 C 语言的扩展开发的。        Java 由 Sun Microsystems 的 James Gosling 开发。现在,它归甲骨文所有。
2        编程模型 programming model
它支持过程式编程和面向对象的编程。        Java 仅支持面向对象的编程模型。
3        平台依赖 platform dependence
C++ 依赖于平台。它基于 Write 、Once Compile Anywhere 的概念。       
Java 是独立于平台的。它基于 Write Once Run Anywhere 的概念。
4        支持的功能 features supported
C++ 支持运算符重载、Goto 语句、结构、指针、联合等功能。       
Java 不支持运算符重载、Goto 语句、结构、指针、联合等功能。
5        编译与解释 compilation and interpretation
C++ 只能编译,不能解释。        Java 既可以编译也可以解释。
6        库和代码可重用性支持 library and code resuability support
C++ 具有非常有限的低级功能库。
C++ 允许直接调用本机系统库。        另一方面,Java 拥有更多样化的库,并为代码可重用性提供了很多支持。在 Java 中,只允许通过 Java Native Interface 和最近的 Java Native Access 进行调用。
7        内存管理 memory management
在 C++ 中,内存管理是手动的。       
在 Java 中,内存管理是系统控制的。
8        类型语义 type semantics
C++ 在原始类型和对象类型之间非常一致。       
在 Java 中,原始类型和对象类型的语义不同。
9        全球范围 global scope
在 C++ 中,支持全局和命名空间范围。       
Java 不支持全局范围。
10        访问控制和对象保护 access control and object protection
在 C++ 中,可以使用具有恒定保护的灵活模型。       
在 Java 中,模型很麻烦,并且鼓励弱封装。
结论
两种语言都被大量的大型软件公司使用,因此,学习这两种语言可能会非常有用。So, in conclusion,we would like to mention that both the languages are used by a plethora of big Software Companies and therefore, learning both of them could prove to be extremely useful.
对于期待在软件行业工作或已经拥有软件工程工作的人来说,最好了解更多有关 Java 的知识,因为它提供了多样性和灵活性。For people looking forward to taking a job in the Software Industry, or already have a Software Engineering Job, it is better to learn more about Java because of the diversity and flexibility it provides.
然而,对于那些希望在需要高性能的情况下构建操作系统、游戏引擎等的人来说,C++ 可以证明是一种比 Java 更好的编程语言,因为它比 Java 快得多。However, for people looking to work on building operating systems, gaming engines, etc. where high performance is needed, C++ can turn out to be a better programming language than Java as it is way faster than Java.

简要概括:
C++ 和 Java 的主要区别是什么?What is the main key difference between C++ and Java?
答:C++ 和 Java 的主要区别在于 C++ 只是一种编译语言,
而 Java 既是编译语言又是解释语言。
The main difference between C++ and Java is that C++ is only a compiled language while Java is both compiled and interpreted.
C++ 编译器将源代码转换为机器代码,因此它依赖于平台。The C++ compiler converts the source code into machine code and therefore, it is platform dependent.
但是,Java 源代码由其编译器转换为字节码,然后,Java 解释器在运行时执行此字节码并产生输出。Java 被解释的事实是它独立于平台的原因
  However, Java source code is converted into bytecode by its compiler and following that, the Java interpreter executes this bytecode at runtime and produces output. The fact that Java is interpreted is the reason as to why it is platform independent.


求大米大佬们(加米不掉米),捞孩子上180分。本文过20米会分享行为面试问题,过25米分享更多可选答案!!30米推荐给大家免费可学的product M 书籍,certificate,网课等等资料!!!

评分

参与人数 1大米 +1 收起 理由
irene_77 + 1 赞一个

查看全部评分


上一篇:PM technical question
下一篇:分享Springboard Referral Code
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表