Blog

  • What is the SAP Business Technology Platform?

    Preface – This post is part of the SAP Business Technology Platform (SAP BTP) series.

    Introduction

    The platform is set up to provide the users with the platform they can use to grow their business and company. SAP has been set up to provide users with an intelligent platform that develops business enterprises. The SAP business program helps the users to accelerate the business outcome of the users. It provides them with the platform through their integration, data to value, and extensibility to the users. The SAP business program offers users two different models to the users which users can use to enhance and develop their business according to their choice and business needs. The SAP business program provides users with a pay-as-you-go basis system in which users only have to pay for the amount of technology they have used. Let us learn about the SAP business program’s merits and demerits.

    What is the SAP Business Technology Platform?

    The SAP BTP (business technology platform) users provide many users, including free tier services, development, production, and environment production. It gives the users the flexibility to use the technology through which they can turn on and off the services and features of the SAP business plan according to their needs and demands. It also provides the users with the commitment to get fixed to one single service at a given point in time. The main thing offered by the SAP BTP is that it does not provide the users with the same designs for the development and growth of business enterprises. The SAP business program offers the user the switching service in which users can switch from one service to another as their business requires.

    Merits of the SAP business technology platform

    • The SAP BTP provides the users with the services which are feasible for them.
    • It also gives them a free trial of one year in which users can quickly go through the platform and see whether it is of their type or provides the production capability to their business.
    • It gives the users the pay-as-you-go service they can easily use and pay only for their services.
    • It also allows users to switch between services according to their business requirements.

    Demerits of the SAP business technology platform

    • Demerits of the SAP business technology platform are that the EDI service of the SAP business technology is very complex to connect with the customers. The EDI service linking to the users is tough and necessary to do so because it helps the customers make corrections.
    • The JAVA version we see is difficult to replace in a laptop if users want to replace it with the SAP business technology platform.

    Services of the SAP business technology platform

    The SAP business technology provides the users with analytical solutions in which users have data management. It also provides the users with an extensive library of inbuilt content. It helps them build the unified data solutions built through the SAP or Non-SAP system, which are connected with hundreds of connectors.

    • S/4 Hanna cloud
    • ERP
    • Accounting and Finance
    • Treasury Management
    • Data Warehouse
    • Rapid Application
    • Identity Application
    • Autoscalar
    • Logging Services
    • Automation
    • Integration

    Conclusion

    So, we can conclude that the SAP business technology platform has merits and demerits. The users can easily decide to use it according to the needs and demands of the customers. They also provide the best services to the users.

  • Blockchain Interview Questions

    Preface – This post is part of the Blockchain Basics series.

    Introduction

    Blockchain is a concept that has a list of records called blocks that store data publicly and in chronological order. In Blockchain, the Cryptography methodology is used to encrypt the information or data to ensure the privacy of the user.

    Blockchain is a combination of the following three important technologies:

    • Cryptographic keys
    • Peer-to-peer network
    • Digital ledger

    The various features of blockchain are:

    1. A public distributed ledger works use hashing encryption to encrypt information
    2. Every block within the blockchain has a hash value (generated everytime before the block is added), which is the digital signature of the block

    The most common uses of Blockchain are:

    • Original content creation
    • Real-time IoT operating system
    • Voting mechanism
    • Supply chain and logistics monitoring

    Blockchain is a technology emerging daily, and choosing a career in this field is a very good decision. In this blog, we will provide you most frequently asked questions related to blockchain in technical interview rounds. The industry experts repeatedly ask these questions of Top-notch companies.

    General Blockchain Interview Questions

    1. What do you know about blockchain?
    2. Explain the difference between Bitcoin blockchain and Ethereum blockchain.
    3. Explain the main principle of blockchain technology.
    4. What are the various types of blockchains?
    5. What are the main reasons for considering Blockchain a trusted approach?
    6. Name the types of records present in the blockchain database.
    7. Is there any difference lies in between block records and transactional records?
    8. What type of database is used by Blockchain?
    9. Explain the features/properties of Blockchain.
    10. Explain Encryption. What is the role of encryption in blockchain?
    11. What do you understand by blocks in blockchain technology?
    12. How will you recognize a block in a blockchain approach?
    13. Is it possible to modify the data once written in a block?
    14. Explain Block Identifiers.
    15. Can we remove one or more blocks from the network of blockchain?
    16. What do you know about the security of a block?
    17. Explain Merkle trees. What is the importance of Merkle trees in Blockchains?
    18. What is a ledger?
    19. Is Blockchain an incorruptible ledger?
    20. Name some common types of ledgers that users in blockchain consider.
    21. How is a blockchain ledger different from an ordinary one?
    22. What types of records are kept in a blockchain?
    23. What are the common types of records that are kept in the blockchain?
    24. What does the system rely upon when a distributed digital ledger is used to record blockchain transactions?
    25. Explain the components of the Blockchain Ecosystem.
    26. Highlight some differences between proof-of-work and proof-of-stake.
    27. Name some popular platforms that are used for developing blockchain applications.
    28. Explain Double spending.
    29. Is it possible for a user to double spend in a Blockchain system?
    30. Explain some benefits of Blockchain.
    31. What does a block of blockchain consists of?
    32. Name the first distributed blockchain implementation.
    33. Bitcoin belongs to which type of Blockchain?
    34. How can we store Blockchain as a flat file, a database, or both?
    35. How are blocks linked in a blockchain?
    36. What is the primary benefit of immutability?
    37. Is a block in the blockchain possible to have more than one parent?
    38. What is the result of blockchain forks?
    39. Name one symmetric encryption algorithm.
    40. Explain decentralized network in the blockchain.

    Advanced level Blockchain Interview Questions

    1. Name some widely used cryptographic algorithms.
    2. Explain the RSA algorithm and highlight the security of this algorithm.
    3. Highlight some significance of the blind signature.
    4. What is secret sharing?
    5. Explain off-chain transactions.
    6. What do you know about executive accounting?
    7. What are the threats to the information with which users are familiar?
    8. What will be your approach in handling the risk management when it comes to securing the transaction records?
    9. Does secret sharing have any benefit in blockchain technology?
    10. Does Blockchain support executive accounting?
    11. What do you understand by 51% attack?
    12. What are the various challenges an organization faces due to information leaks?
    13. Explain information processing according to you.
    14. What are the key challenges associated with information processing?
    15. What are the core requirements for a business Blockchain?
    16. Name the principles of Blockchain that help eliminate security threats.
    17. Explain security policy.
    18. List some of the popular consensus algorithms.
    19. Name the steps that must be followed in the Blockchain project implementation.
    20. What is the need for different consensus mechanisms?
    21. Explain a real-life use-case example where Blockchain is being used.
    22. What is the Genesis Block?
    23. Explain the purpose of the Blockchain node.
    24. Why does Blockchain need coins or tokens?
    25. What is the reason behind a fixed supply of bitcoins?
    26. How do verifiers check if a block is valid or not?
    27. Explain Decentralised application.
    28. Define a smart contract.
    29. Explain the trapdoor function.
    30. What is the importance of the trapdoor function in blockchain development?
    31. Explain mining difficulty.
    32. Explain what a target hash is.
    33. Define stealth address.
    34. Compare PoW and PoS.
    35. Is it possible to brute force bitcoin address creation to steal money?
    36. Explain Double spending.
    37. Define smart contracts and their applications.
    38. Where do nodes run a smart contract code?
    39. Name the very first thing you must specify in a Solidity file.
    40. Explain the term ‘Nonce’ and how it is used in mining.
    41. What do you understand about Coinbase transactions?
    42. What do you think about the future of blockchain?
    43. List some demerits of Blockchain.
    44. Explain the use of cryptographic algorithms in blockchain with the help of an example.
    45. Which cloud computing platform is used for hosting an enterprise blockchain network?
    46. Give one example of a smart contract verification tool.
    47. Explain “Gas” on Ethereum.
    48. Explain how you will deploy and develop an Ethereum smart contract using the Ethereum ecosystem tools.
    49. Explain how you will deploy Ethereum smart contract on Hyperledger Fabric.
    50. How will you create a blockchain application using Node.js?
    51. Make some comparisons between ScriptPubKey and P2SH addresses.
    52. Compare and contrast centralized, decentralized, and distributed ledgers.

     

  • Introduction to Quantum Mechanics

    Preface – This post is part of the Quantum Computing series.

    Introduction

    What comes to your mind when someone asks you “what do you find mysterious?” Well, there are a million answers that one can think of. For example, you may find someone’s behavior or actions strange, you may think of the Bermuda Triangle, or those paranormal activities may catch your attention, or what about the time? Does it really exist? How does it work? Truly, there are so many things that puzzle us most of the time. Most of us believe that nothing is more peculiar than the universe itself! This ginormous place of galaxies, black holes, and planets,… (you name it, we include it, and this list will just go on like that) has so much to offer us, but at the same time, it leaves us with some mind-boggling questions that are really fascinating. However, it throws us into a never-ending, exhausting journey. If we look at the bigger picture, then we can say that nature is weird, and it comprises every damn living or non-living thing, an eco-system, etc., and the universe is just a part of it! What if someone tells you that science has all the answers? Then it will be a eureka moment for us. It may seem easy at first but we have to go through a lot of conundrums to solve the mystery. One of the most bizarre topics that we are going to talk about is quantum physics, the mind-blowing theory of modern physics which may help us find some interesting facts about nature.

    Imagine you are driving a car. While driving, there are several parameters that you consider. For example, what should be the speed? What about the velocity? When you are going to press the accelerator, should the speed be slow or fast? How far you have come, when you are going to stop, etc. All these parameters can be solved using classical mechanics. This is all about the things that are visible and sensed by our brain. By using the sophisticated system of math and physics, we can measure certain quantities. Among all these, the most fundamental entity we can think of is an atom. Does it have any connection with quantum mechanics? Is it even possible to talk about an atom that cannot be seen with the naked eye? If we get into the nitty-gritty, it will leave us awestruck with some really difficult ideas about different subatomic particles. Wait a minute! Why is it so herculean to comprehend this subtle idea of quantum mechanics? Well, the spectrum of human perception is not big enough to perceive the spooky actions that happen at such a minute level.

    What is Quantum Mechanics exactly?

    Quantum means discrete quantity i.e. the smallest bit of something. For instance, a single water molecule from the Pacific Ocean or a speck of dust. Mechanics means the behavior and motion of something. So this term together stands for the interaction and motion of individual objects of a bigger quantity. But what if we want to study the constituent particles that are smaller than an atom? To predict the activities that are going on at the subatomic scale, we need a wave function which is typically a mathematical function. For example, using a wave function it is possible to find the location of a particle. This is just a small part of this tiny realm about what it truly means. To understand the underpinnings of quantum strangeness let’s talk about the double-slit experiment. Which was performed by one of the greatest scientists of the 18th century Thomas young.

    Consider two scenarios: 1. Classical case. 2. Quantum Case

    Case 1: Classical case

    Think of an experimental setup shown in the given figure.

    • Imagine you have a source from which marbles are coming out.
    • There are two slits on the slide and a screen is kept at a distance d from the slide to observe the pattern.
    • These marbles pass through slits and hit the screen. You can imagine the bands much like slits appeared on the screen.

    Marble can be thought as a particle. Now replace the source of marble with a source of light. Light behaves like a wave. The pattern of dark and light fringes can be shown as following. There will be an interference: Constructive (Bright) and Destructive (light).

    Image source: Google

     

    This is the real picture of interference. Here Diffraction also plays a role. As of now, we won’t get into the nitty gritty of it.

    Case 2: Quantum Case

    Think of a beam consists of electrons. As we all are aware, electrons are particles. Block one slit and let electrons pass through another slit. The pattern will be as similar to the pattern made with marbles (a single band). However, when they pass through double slits, they must behave like marbles as per our understanding (figure 1, two bands). However, they exactly behave like a wave and create the interference pattern.

    Here is what is more interesting, in 2nd case if we choose to shoot electrons one at a time, there will be a single spot on the screen and no chance of interference. However, after some time the entire pattern is similar to the pattern of a wave. You may think, how it can be possible! Does the electron divide itself into two particles initially and later interfere with each other after passing through slits to hit the screen? Which slit an electron goes through? To observe this carefully, one idea is to place a detector by slits and watch over the electrons! It may sound funny but when we do that they behave like marbles and create the two bands’ pattern. Do electrons really know which slit they are going to pass through? This arises the question does an electron behave like a particle or wave? which leads to a wonderful phenomenon wave-particle duality.

    Stern Gerlach Experiment: PDF

    Postulates of Quantum mechanics: Link

    Applications of Quantum Mechanics

    (Kindly click the link to learn more)

    Other areas: where Quantum Mechanics dominates – Machine learning, communication, finance, optimization, chemistry, astrophysics, etc.

    These are not the actual cases if we choose to ignore the main part. For example, degenerate and non-degenerate time-independent perturbation theory, the semi-classical WKB approximation, time-dependent perturbation theory, the adiabatic approximation, and scattering theory.

  • Architecture of a Quantum Computer

    Preface – This post is part of the Quantum Computing series.

    Introduction

    In the previous module, we discussed some of the most important concepts in Quantum Mechanics and how they are being utilized to design a functional Quantum Computer. In this module, we will discuss the basic architecture of a Quantum Computer.

    The architecture of a Quantum Computer

    Image Source: Fu, Xiang et al. “A heterogeneous quantum computer architecture.” Proceedings of the ACM International Conference on Computing Frontiers (2016): n. pag.

    Layers of Quantum Computer

    As shown in the figure above, there are total of seven layers that can be divided into five main categories as follows:

    1. Qubits

    The two bottom-most layers implement the main hardware of the Quantum Computer. The bottom-most layer is the Quantum Chip which contains the actual arrangement of qubits. Right above the quantum chip, there exists a Quantum-Classical Interface. The primary function of the Quantum Classical Interface is to make the measurement. Classical bits are required to make measurements on a qubit.

    2. Compilers

    A compiler is mainly a translator. It translates a high-level language program into the corresponding machine code. Quantum Computers also need Compilers to translate high-level instructions into corresponding low-level instructions that can be executed on the hardware level.

    The Compiler block shown in the figure consists of two main parts: a Conventional Host Compiler and a Quantum Accelerator Compiler.

    The Conventional Host Compiler compiles the classical logic and the Quantum Accelerator Compiler produces the quantum circuits. The quantum compiler will perform quantum gate decomposition, reversible circuit design, and circuit mapping and translates the logical quantum operations into a series of physical operations.

    The third dimension in the figure represents the error correction schemes that drive the logical to the physical transformation of the quantum instructions.

    3. Quantum Instruction Set Architecture (QIST)

    QIST is the main divide between Quantum Hardware and Software. The Quantum Instruction set provides the programmer with the basic logical instruction set to facilitate the designing of quantum algorithms. The Instruction set also allows the programmer to go with various encoding schemes and provides error correction functionality.

    The block right below QIST is divided into two parts:

    1. QEC

    QEC refers to Quantum Error Correction. Quantum Computers are error-prone, so some error correction schemes must be implemented to make sure the programs on the computers give accurate results. The First Error Correction Codes for Quantum Computers was given by Peter Shor called Shor codes. Since then, various error-correcting codes have been developed making QED an active area of research in the Quantum Computing Community.

    2. QEX

    QEX refers to Quantum Execution. QEX executes the instructions generated by the Compiler.

    4. Software

    The Programming Paradigm and languages block represent the high-level interface used by the programmer or algorithm designer to program a Quantum Computer. Some famous programming frameworks to program Quantum Computers are Qiskit, Cirq, Q#, and many more.

    5. Quantum Algorithm

    Quantum Algorithm is the topmost layer in the Quantum Architecture Stack. Quantum Algorithms are designed by exploiting the Quantum-Mechanical properties of the hardware layers. The high-level programming languages and compilers must be developed such that the algorithms can easily exploit the underlying quantum hardware.

    Information Source: Fu, Xiang et al. “A heterogeneous quantum computer architecture.” Proceedings of the ACM International Conference on Computing Frontiers (2016): n. pag.

     

  • Important Definitions related to Quantum Computing

    Preface – This post is part of the Quantum Computing series.

    Introduction

    To recap, in the last module, we explored the inner workings of a Quantum Computer by mathematically defining the notion of a Quantum State. We introduced the mathematical notation used to define quantum states and, in the end, discussed the design and operating principles of a D-Wave Quantum Computer.

    In this module, we will provide rigorous definitions and corresponding intuition of some technical terms we have encountered in the previous modules.

    Qubit

    Qubit is short for Quantum bit. A qubit is a fundamental unit of Quantum Computation. The book Quantum Computation and Quantum Information by Neilson and Chung -which is as close to a standardized textbook on Quantum Computing as we’ve got so far- defines a qubit as an abstract, mathematical object. Although – as some of you may recall from previous modules – a qubit is a physical entity, defining it as an abstract, mathematical object will yield to us the benefit of describing it as a generalized object, independent of its specific, physical method of implementation.

    A qubit is the fundamental unit of quantum information. A qubit, just like a classical bit has a state. The state of a qubit is described using Dirac’s notation (“”) which is the standardized notation used to describe quantum states. A qubit can be in states |0, |1⟩, or a linear combination of states |0 and |1and as shown below:

    =α|0+β|1

    Here,α and β are complex numbers describing probability amplitudes of the qubit being in the |0 or |1 respectively. |0 and |1 are the orthonormal basis vectors in a two-dimensional vector space. Thus, a qubit can be described as a unit vector in a two-dimensional vector space.

    Using vector notation, the above equation can be written as:

    vector notation

    Superposition

    Superposition is one of the fundamental principles of Quantum Mechanics. The wave-particle duality describes that an electron behaves as both a wave and a particle, but what does it actually mean? How can something behave as both a wave and a particle? Classically, we know that an object can either be discrete or continuous. But how can it be both? Let’s find out!

    The Double Slit Experiment

    Thomas Young in 1802 designed an experiment to demonstrate the wave nature of light. The Double Slit experiment was designed such that a light source randomly launches photons at a barrier containing two slits as shown in figure.

    ————– Double_Slit_Experiment_with_detectors

    Image Source: 老陳, CC BY-SA 4.0, via Wikimedia Commons

    The screen behind the barrier should record the pattern which if the photons are assumed to be particles should show something like two vertical lines of light passing through the barrier.

    Instead, the screen records an interference pattern as shown below.

    Double_slit_interference

    Interference patterns are generally generated when waves constructively and destructively interfere with each other. So, although Mr. Young succeeded in demonstrating the wave nature of light no one really understood what was really going on until the theory of Quantum Mechanics was formalized.

    So, what on Earth is really going on? Well, the thing is no one really understands what is going on. The path of the photons, the slit they go through and the path they take is not exactly traceable. As we know, measuring a quantum system collapses the superposition, so we cannot detect exactly how photons bring about an interference pattern. But we do know that there must be something fundamentally wave-like in the nature of photons to bring about the interference pattern.

    Superposition

    Later, it was discovered that after going into the slit, the photon exists in superposition. Think of it like a dense cloud, the photon can exist anywhere within the cloud with each position corresponding to a probability amplitude. This is Superposition.

    Superposition is defined as the ability of a quantum system to be in a combination of multiple states at the same instance.

    Measurement

    Measurement collapses the superposition. When a quantum system is measured, the superposition collapses and the system comes down to one of its basis states.

    Two-level superposition

    Two level superposition

    Four level superposition

    Four level superposition

    Entanglement

    Entanglement is the phenomenon associated with quantum systems where two systems are correlated to each other such that the measurement or manipulation of one system will affect the other immediately even when separated by vast distances.

    To understand Entanglement better, let’s take an example. Let’s assume we have two balls that are entangled to each other. The balls are in a superposition of black and white before observation, once observed a ball can either be black or white. Let’s say we have two observers Alice and Bob each observing one ball. The balls are entangled so when Alice observes her ball and sees a black ball Bob will immediately see his ball turn white or vice a versa. (Alice and bob can both see the ball turn the same color as well, it depends upon how the objects are entangled).

    Albert Einstein never could reconcile with the theory of entanglement. He referred to entanglement as “spooky”. And it was a perfectly valid reaction as scientists did not know how exactly entanglement worked at the time. How can an object pass information to another object separated by a distance as large as two different galaxies almost immediately? This is only possible if the objects are communicating faster than the speed of light which completely breaks Einstein’s theory of special relativity. This is a common misconception that was later proved false after conducting various experiments. Even Quantum Physics cannot achieve faster than light communication.

    Teleportation

    Quantum Teleportation is the process of sending quantum information from a sender to a receiver. Teleportation is achieved through entanglement, the sender and receiver’s qubits are entangled in Bell States. The Bell State is described as follows in a two-qubit system:

    Bell State

    Here, in |00 and |11the first 0/1 represents the first qubit and the second 0/1 represents the second qubit. Both the states are in equal superposition with probability amplitude probability amplitude:

     

    states are in equal superposition

    Teleportation sends classical information across the channel so it cannot achieve faster than light speed as we discussed in the previous section.

  • What is a Quantum Computer?

    Preface – This post is part of the Quantum Computing series.

    Introduction

    So far, we have discussed how Quantum Computing in contrast to Classical Computing. In this module and upcoming modules, we will start to discuss the inner workings of a Quantum Computer. In this module, we will discuss Quantum Processors Units or QPUs and their architectures. In the end, we will demonstrate the inner workings of the D-Wave Quantum Computer. We have much to discuss so, let’s skedaddle!

    What is a Quantum Processing Unit?

    A Qubit is the fundamental part of a QPU. All the operations in a QPU are performed on Qubits. Now, we would like to point out at the very beginning that many architectures exist to arrange Qubits on Quantum Processors and all of them have their advantages and drawbacks. As of now, no architecture is proven to be better in terms of efficiency for all kinds of problems. Some promising contending architectures include Superconducting, Photonic, and Trapped ion. Now, we realize these names may sound daunting but just keep a lookout for these in the literature until we eventually discuss each architecture in more detail.

    What is a Quantum Computer?

    In the previous sections and modules, we talked about Quantum Computers very abstractly. There were no rigorous proofs or mathematical formulas to actually give you a technical context into the inner workings of Quantum Computers. Here, we will not go all maniac on you with mathematical formulas but we will give you enough to demonstrate our point more clearly. Don’t worry if you don’t understand all of it at once. We advise you to go through this section and do some additional readings we provide at the end of this module.

    We will start by defining and representing a Quantum State mathematically. A Quantum State is represented using a vector. The vector represents the probability of the qubit being in that state. A two-qubit system can be represented as shown below.

    |0=1 0         |1=0 1

    The Quantum States are described using the bra-ket notation. We will discuss it in detail, for now “| ” also known as “ket” is used to specify that 0 and 1 are quantum states.

    The vectors representing the quantum states describe the probability of the qubit being in that state. This is a very powerful idea and should be digested as we go further into Quantum Mechanics. Here, the first vector (1 0) describes that the qubit is in the |0 state with probability 1 and |1 state with probability 0. We index the vector starting with 0 and go further along up to the total number of qubits in the system.

    Similarly, the second vector (0 1) describes that the qubit is in the |0state with probability 0 and |1state with probability 1.

    Representation of a Quantum State

    A pure Quantum state is a superposition of classical states written as,

    Representation of a Quantum State

    Where, is a complex number representing the probability amplitude of each state in |.

    Mathematically, the states |0, . . . , |N-1 form an orthonormal basis of an N-dimensional Hilbert space.

    A quantum state | is a vector in this space, usually written as an N-dimensional column vector of its amplitudes:

    quantum state in N dimension

    Example of a Quantum Computer: D-Wave

    The picture above shows a D-Wave Quantum Computer. Most of the apparatus you see is used to keep the Quantum Processor situated at the bottom at sub-zero temperature. The Qubits get noisy if the temperature is not maintained which results in Quantum Decoherence. Quantum Decoherence results in errors, noise, and sometimes even loss of information in qubits.

    The D-Wave Quantum System is implemented superconducting qubits. There are two models based on which Quantum Computers can be built:

    • Quantum Gate Model: In this model, problems are expressed in terms of quantum gates. Companies like Microsoft, IBM, Google, etc. use the Gate Model in their Quantum Computers.
    • Quantum Annealing Model: In this model, problems are expressed in terms of optimization problems from which the computer then finds the optimal solution. D-Wave systems use Quantum Annealing to search for solutions in state space.

    D-Wave has commercialized its quantum services through its cloud platform Leap. With their latest QPU (Quantum Processing Unit) containing over 5000 qubits, D-Wave is indeed a major player in the Quantum arena.

    With this, we conclude this module. In the next module, we will discuss important Quantum Phenomena like Superposition, Entanglement, Interference, and teleportation in detail.

     

  • Difference between Classical Computing and Quantum Computing

    Preface – This post is part of the Quantum Computing series.

    Introduction

    In the previous module, we discussed classical computing in detail. In this module, we will discuss the key differences between classical and quantum computing. This is perhaps the last module before we dive deep into the nitty-gritty details of quantum computing. So, without further ado let’s get started, shall we?

    Classical Computing

    Once again, Classical or Modern Computers are made up of fundamental units called “bits”. A single bit can take a binary state i.e., 0 or 1, high or low. A bit can be in a single state at a time. It can either be 0 or 1, either at high or low voltage, and nothing in between.

    Quantum Computing

    Quantum computers on the other hand, as we discussed before are fundamentally different from Classical Computers. Fundamental units of Quantum Computers are called Quantum bits or “Qubits”. Unlike “bits”, “qubits” can be in multiple states at the same time. But before talking about the nature of qubits, let’s talk about what exactly they are made of.

    Transistors that make up classical processors are basically silicone (NPN/PNP) semiconductors. The transistor is designed to represent the high or low voltage; the principle as we discussed above, on which modern computing is tethered. An interesting challenge presented itself when physicists began thinking about what should be used to represent a Qubit.

    It was quite obvious that it should be a Quantum material, but basically, everything is a Quantum Material when it is cooled below a certain threshold temperature. Photons, electrons, superconducting materials, etc behave Quantum Mechanically. So, where to start?

    Well, the good news is there are several different effective Quantum Computers that use different materials as qubits. Their effectiveness and efficiency vary according to various circumstances. We will discuss this further in the upcoming modules. Just remember that there is not a single material like the transistor which resides in different Quantum processors. Different groups and companies have different materials representing Qubits and which method is more effective than another is a much-debated topic in the Quantum Computing Community.

    For now, just keep in mind that a qubit can either be in state 1, state 0, or a combination of states 1 and 0. And this is because our Qubits are “Quantum Mechanical”.

    Difference between Classical Computing and Quantum Computing

    Okay, enough with the jargon. Let’s summarize some points we discussed until now for some much-needed clarity.

    Classical Computing Quantum Computing
    A classical computer is fundamentally made up of binary digits or “bits”. A Quantum Computer is fundamentally made up of “Qubits” or Quantum Bits
    A bit can either be in state 0 or state 1 at a given instance. A Qubit can either be in state 0, state 1, or a combination of state 1 and state 0 at a given instance.
    Bits are made up of transistors in a classical processor. Qubits are made up of “Quantum” materials like ions, photons, or superconducting materials.
    Classical computers are relatively less error-prone than quantum computers Quantum Computers are a lot more error-prone than classical computers
    Transistors do not need sub-zero temperatures to operate. Qubits require sub-zero temperatures to preserve their Quantum nature.
    Classical computers cannot run algorithms like optimization problems, machine learning models, etc. Very efficiently in most cases. Quantum computers can theoretically run algorithms like optimization problems, machine learning models, etc. much more efficiently than Classical Computers.

     

  • Introduction to Classical Computing

    Introduction to Classical Computing

    Preface – This post is part of the Quantum Computing series.

    Introduction

    As we discussed in the previous module, all modern computing devices share a common design. In this module, we will discuss the fundamentals of modern or “classical” computing devices. You will encounter the word “classical” to describe mainstream computing devices in Quantum Computing literature quite often. Here it is referred to in the same context as that of physics – “Classical” Physics and “Quantum” Physics where “Classical” is used to describe Newtonian Mechanics while “Quantum” is used to describe, well, Quantum Physics.

    What is Classical Computing?

    A “classical” computer is mainly comprised of three parts: Central Processing Unit (CPU), Memory Unit (MU), and Input/Output Units. This is what we call Von Neumann architecture. The CPU handles all the information processing operations in the computer. When you go to buy a computer and look up the specs of devices something like “Intel Core i5” or “Intel Core i7” pops up. These are the specifications that describe the “Core” or the CPU of the computer. There are millions of transistors embedded on the Core which are in binary states i.e., high or low, 0 or 1. The Core of a computer looks something like this,

    A single transistor on the core can take a discrete state; either be in 0 or 1 state. In technical lingo, we use the word “bit”- short for “binary digit”- to describe a single unit of information in classical computers.

    All the algorithms and programs we write are encoded as a set of instructions which are then carried out on the computer processor. But enough about hardware. Now, we shall talk about how programs are run on the hardware. We already discussed this in the previous module with our Dinner Party example where the state space of possible configurations increases exponentially with the number of patrons. (—insert a link to the previous module—)

    This is because classical computers operate more or less sequentially. That is because a set of transistors can be in a single state in an instance, we have to check all the configurations one by one.

    Advantages of Classical Computing

    Classical computing has gotten us this far. We have advanced software to perform a multitude of specific and generalized tasks. We can perform millions of calculations in a matter of minutes, we can automate redundant tasks very easily, and we can design systems to perform highly specialized operations and this is just the tip of the iceberg.

    Limitation of Classical Computing

    Classical computing has come very far in the previous decades. Moore’s law states that the computing power doubles every two years. More specifically, the number of transistors on a chip or processor doubles every two years. But in recent decades, as shown below, the increase is not very steep.

    After a certain point, there are only so many transistors you can fit on an Integrated Circuit (IC). We will certainly encounter the limit sooner rather than later. With the amount of data that we generate every day, it is important to have the resources to process and store it. Thus, although modern computing has taken us so far, we have to devise and discover alternate technologies so when the time does come when we cannot fit any more transistors on our processors, we have alternative approaches.

    How Quantum can solve the limitations of Classical Computing

    This is where Quantum Computing comes in. Quantum Computing is not the only alternative technology scientists are exploring but it is among the more promising candidates. While Quantum Computers may never fully replace classical computers, computer scientists have proved that all the operations, or shall we say, programs that can be run on a classical computer can also run on a Quantum Computer. But where efficiency is the name of the game, it is not enough for a Quantum Computer to run programs as efficiently as a classical computer. We need Quantum Computers to significantly outperform Classical computers to show their definitive utility. This is what we call “Quantum Supremacy”.

    Google’s 53 qubits Sycamore Processor first demonstrated Quantum supremacy in 2019. It completed a task that takes a classical computer about 10,000 years to complete in mere 200 seconds. We are officially in the beginnings of a Quantum Age and there is still a lot of work to be done.

  • SAP ABAP RAP Interview Questions

    Introduction

    RAP in SAP ABAP RAP stands for RESTful Application Programming Model. Before we start with SAP ABAP RAP Interview Questions, let us understand what this article is all about.

    Since we know SAP Fiori applications are based on the SAP ABAP programming model that provides flexibility and efficient modeling, it also lacks certain criteria like simplicity. Here RAP model is the one that overcomes all the flaws. This model provides an intrinsic approach to building SAP Fiori-based applications that are optimized enough for S/4 HANA. These applications can run on-premise as well as on the cloud.

    This RAP programming model uses the ABAP programming methodology. It uses the following:

    1. ADT: ABAP Development Tools in Eclipse. It is used to develop tasks.
    2. CDS: Core Data Services in Eclipse. It is used for the implementation of the business object layer.
    3. New Framework: It is used to handle business logic.

    This article will discuss all types of interview questions asked by interviewers in their selection process. Before starting with the interview questions, go through the SAP ABAP RAP course here.

    Basic SAP ABAP RAP Interview Questions

    1. What is SAP ABAP RAP?
    2. What is the use of SAP ABAP RAP?
    3. Explain Modernization with RAP?
    4. Name the platforms where RAP is available?
    5. Name the end-to-end scenarios that can be developed with RAP?
    6. What type of services can be developed using RAP?
    7. How RAP model is better than previous programming models?
    8. What is BOPF?
    9. Is BOPF a part of RAP?
    10. How to get started with RAP?
    11. Is it possible to use RAP in standard SAP software?
    12. What information is available on the RAP roadmap?
    13. Where can users find the latest features for RAP?
    14. What is the process of developing an SAP Fiori application using RAP?
    15. How do we maintain the UI semantics while building SAP Fiori elements applications using RAP?
    16. Tell the procedure of testing the code?
    17. Name the software used for providing the documentation for code elements in the ABAP source code?
    18. How do we troubleshoot the SAP ABAP RAP applications?
    19. How to build a PoC app with RAP?
    20. Have you experienced any project on Github related to SAP ABAP RAP?
    21. What does ‘REST’ stand for? Explain?
    22. Name the three main layers of ABAP RESTful Application?
    23. Define ‘Stateless.’
    24. Name the CDS View types that are commonly used?
    25. Explain the Business Object in ABAP RESTful Programming Model?

    Advance level SAP ABAP RAP Interview Questions

    1. Explain SAP RAP Architecture.
    2. Differentiate between SAP ABAP and SAP RAP.
    3. Differentiate between SAP BOPF and SAP RAP.
    4. Differentiate between ABAP on Cloud and SAP RAP.
    5. Differentiate between SAP CAP and SAP ABAP RAP.
    6. Define the concepts of Business Objects.
    7. Define the concept of RAP runtime.
    8. Differentiate between Managed RAP and Unmanaged RAP.
    9. How to use SAP Entity Manipulation Language (EML) to control the behavior of business objects in SAP ABAP RAP?
    10. How to develop an OData using SAP ABAP RAP?
  • SAP Basis Interview Questions

    Introduction

    SAP is a German company whose R/3 products are used to help and manage large corporations. The basis is nothing else but a set of middleware programs and tools from SAP.

    It supports the interoperability and portability of SAP applications across various systems and databases. The main purpose of SAP Basis is to make sure that SAP systems in the environment run smoothly and consistently.

    The various key responsibilities of SAP Basis Administrator include:

    1. System installation and Configuration
    2. Load balancing on servers
    3. Managing services and servers
    4. Performance management of different components

    This article will provide you with all types of interview questions related to SAP Basis.

    SAP Basis FAQs Interview Questions

    1. Define SAP Basis?
    2. Highlight some differences between Developer Trace, System Log, and System Trace?
    3. How will you analyze the problem if a user is unable to log in to the SAP system?
    4. Explain private mode?
    5. What do you understand by OSP$?
    6. Explain Transactional RFC?
    7. What are the different types of RFC?
    8. Explain OCM? How to apply OCM patches?
    9. How will you perform SAP-export and import tables in the SAP model from the Operating System level?
    10. How will you compare the support package, kernel, and SAP note?
    11. How to find the list of objects that have been repaired in the system?
    12. Explain the purpose of table TADIR?
    13. Is it possible to install SAP patches when other users are online?
    14. Mention some differences between SDM and JSPM?
    15. What is the process of disabling the import all option from STMS in SAP?
    16. What is the use of the personalized tab and parameter tab in the user master record?
    17. Name the different types of users in SAP?
    18. What are reference and service users in SAP and their uses?
    19. Explain the process of restricting multiple logins of the user in SAP?
    20. List the various things a user must take care of while writing the ID’s?
    21. Define “Data Sets” in SAP?
    22. Explain what is Heterogenous system copy and homogenous system copy?
    23. What are functional modules in BDC programming??
    24. What is an “OK” code?
    25. Compare and contrast “t-code’ and “OK” code?
    26. Distinguish between client refresh and client copy?
    27. Explain the background processing batch scheduler?
    28. What do you mean by SAP IDES?
    29. What is the main purpose of TDEVC?
    30. What are the various types of work processes present in SAP?
    31. Explain the role of “Application server”?
    32. Explain the process of applying patches?
    33. How can we perform transport?
    34. What are the various types of transport queries?
    35. Explain business KPIs?
    36. Explain the importance of T000?
    37. What does SAPS stand for? Explain?
    38. Explain the difference between Central Instance and Application Server?
    39. What is the way to check whether a system is a Unicode or Non-Unicode?
    40. What are the different types of transport requests present in SAP Basis?
    41. Explain the logical system?
    42. How will you create a logical system?
    43. What is the purpose of creating a logical system?
    44. What is the process of assigning an object 100 roles at a time?
    45. Name the table that is used to get the list of the users with development access on a particular system?
    46. Is it possible to view locked transactions? If yes, how?
    47. What is the process of disabling the ‘Import All’ button on STMS for the queues?
    48. What is the process of applying SAP notes to the SAP system?
    49. What is the main purpose of table USR02?
    50. Distinguish between kernel replacement and support package?
    51. What are the most common errors that occur frequently when a user deals with TRANSPORTS?
    52. What will be your attempt to do a client copy?
    53. Compare and contrast synchronous and asynchronous transport?
    54. What will be your approach in determining whether your SAP server is Unicode or ASCII?
    55. Highlight some differences between the Consolidation and Development route?
    56. Define load balancing in SAP?
    57. Explain supplementation language?
    58. What do you think about SAP as a database or not?
    59. Name the transactions which are used to check Buffer Statistics?
    60. What is the maximum number of profiles we can assign to a user in SAP?
    61. Explain SAP Spool Request?
    62. Which transaction code is used to display the user list?
    63. What do you know about Business KPIs?

    OS related Interview Questions

    1. How will you manage the number of work processes at the OS level?
    2. How will you analyse the work process status at the OS level?
    3. Define Logon groups?
    4. Explain the SAP single stack system?
    5. Where we can check for system logs of SAP application at the O.S level?
    6. Define LUW (Logical Unit of Work)?
    7. Name the various phases of background that are processed in SAP?

    Java-related Interview Questions

    1. Name the tool that is used to install JAVA patches?
    2. What are the different types of Java-related bugs that you have faced, and how have you solved them?