ITBots.in
ITBots.in
  • Home
  • About
  • Jobs
  • Events
  • Courses
  • Exams
  • Blog
  • Recruiter
  • Pricing
Sign In
Applicant Recruiter/Advertiser

Categories

  • Artificial Intelligence (AI) (4)
  • Career Space (30)
  • Cheatsheets (0)
  • Cybersecurity (3)
  • Data Science (0)
  • DevOps (0)
  • Gaming (1)
  • Guest Authors (0)
  • Interview Questions (22)
  • Interviews (3)
  • IT News (2)
  • Others (14)
  • Project Management (0)
  • Scholarships and Fellowships (92)
  • Software Development and Programming (10)
  • Students Corner (4)
  • Testing (0)
  • Videos (0)
  • All(166)

IT Blog

Publish with us

Filter Clear
An Interview With Prajwala Puttappa- A Career In Design Verification Engineering
Apr 03, 2023
An Interview With Prajwala Puttappa- A Career In Design Verification Engineering

Design verification engineers are production development professionals who are responsible for verifying the functionality of the architecture/micro-architecture specifications of a product. They create efficient techniques to improve the products and services by utilising various system tools and applications. With the ever-evolving landscape of technology and innovation, opportunities for design engineers are growing rapidly in various industries including electronics, aerospace, and consumer manufacturing. In India as well as around the world, it is one of the fastest-growing careers. In our effort to share more knowledge about Design Verification Engineering with you, we interviewed Prajwala Puttappa, a Design Verification Engineer who started her journey in Bangalore and is presently working at a multinational tech company in the United Kingdom.   1. Please tell us a bit about yourself. What exactly is ‘design verification engineering’? How did you come to work as a design engineer? Thank you for having me, to begin with, I am a design verification engineer with over 8 years of experience in the field. My interest in design verification began through an internship in Bangalore during the 8th semester of my college. Since then, I have been fascinated by the intricacies of this field and have continued to enjoy it to this day. Concerning the second part of the question, design verification engineering, in simple terms, is the process of ensuring that semiconductor chips function properly. This involves verifying the functional correctness of the behavioural code written by the RTL (Register Transfer Level) designer, also known as the front-end designer, using languages like Verilog or VHDL. The verification engineer must ensure that the design meets the customer's specifications, functions correctly, is optimised for power and performance and is within the required area constraints. The process of ASIC (Application-Specific Integrated Circuit) design involves a series of iterations between the designer and the verification engineer to ensure the design is functionally correct before it is sent for manufacturing. The verification engineer is responsible for detecting any bugs or issues before the chip is manufactured. This is critical because fixing any bugs on the hardware can be very costly and may require starting the entire design process from scratch. Hence, design verification engineering is a critical aspect of semiconductor chip design. It requires a high level of technical expertise and attention to detail to ensure that the design is optimised for power, performance, and manufacturability and that any issues are detected and resolved early in the design process.   2. How has your professional journey been so far starting from Design E - I, Bangalore, to now working in England? How has your experience been in the technology field? I started my career at Asarva, a small startup, right after completing my engineering. Despite a job offer from a well-established IT service company that promised to pay me significantly more, I accepted the internship at Asarva. This decision proved to be the best I ever made, as I gained a wealth of knowledge by working with a team that had to design everything from scratch due to financial constraints. I learned how to navigate challenges and learn from the internet when resources were scarce. When deciding between a start-up and a well-established company, I would suggest giving the start-up a higher preference based on their area of interest and what the start-up is doing. It can provide a unique and valuable learning experience, which could help in the long run. My journey continued with Intel, where I worked on 5G chip projects, and with Texas Instruments, where I worked on digital and analogue chip design. In each role, I had to set up everything from scratch, which gave me hands-on experience in building test benches and working with different teams. Eventually, I received a job offer from a small start-up called “lowRISC” in the UK, which allowed me to work on processor design. After a year there, I interviewed for a job at Apple and found a great match, where I currently work and enjoy every day. Every job I did, even if it was for a short duration, taught me something valuable that I could apply in my future roles. The journey was challenging, but it helped me develop my skills and become a better professional.   3. 'While women have the skill set to excel in tech roles, the biases in organisations and society are barriers to opportunities' - do you agree with this statement? (If yes, how do you think this can be changed?)  In my experience, women are underrepresented in VLSI (Very Large Scale Integration) and software occupations. Throughout my 8-year profession, I have never encountered sexism. Nowadays, many tech businesses are trying to support women through various initiatives such as back-to-work schemes, referral bonuses, maternity programs, and working-from-home options. But unfortunately, I have noticed a reduction in the number of women in leadership positions. Even though employers strive to give women-centric benefits and other amenities, the fundamental issue that women confront is societal pressure. Sometimes everyone must work more hours owing to project deadlines. Men do it more easily than women because women are mostly the primary caretakers at home. This is partly due to societal norms that dictate that a mother should be at home with her children instead of the father. People have been programmed to believe that a mother should be at home with her children and not the father. Therefore, it is hard to juggle work and responsibilities at home. Hence to remain in the workforce, they require a supportive team as well as a support system at home. The latter, however, is not an issue for men. In most cases, they are not expected to do both their job and their housework.  Furthermore, women often struggle with confidence once they return to work after a long break which may be due to maternity leave or just taking a career break to focus on their homes. Lack of confidence and constant juggling between work and home can take a toll on anyone. This is the reason why women eventually give up on their careers at later stages and hence there is an under-representation of women in leadership positions. A few women in high leadership positions are there because of their sacrifices and life modifications, which come with a lot of guilt for not spending enough time with their children and families.    4. How do you keep yourself updated in a broad sector like information and technology? I believe that through regular work, one will automatically be updated. However, when we take a break from work, it is difficult to keep ourselves updated in this fast-growing sector. I constantly develop my skills to be more efficient and add value to my work. There is a need for verification engineers to focus on automation. It is beneficial to learn scripting languages. Thus, along with System Verilog, I make a conscious effort to learn languages like Python, Perl, etc.  Lastly, if you are in love with your career and are passionate about it, then you will naturally get fascinated and curious to know about a variety of topics that may be outside of your comfort zone to keep yourself up to date in such a broad sector.   5. As a design verification engineer, what does your regular day at work look like? My work involves a structured approach to project management, which is determined by the current stage of a project. The initial months are spent on planning and preparation, followed by consultations with architects, designers, managers, and other stakeholders. Once the project is underway, the focus shifts to coding, setting up environments, checkers, and test cases. The most critical part of my work involves building a test bench and running test cases multiple times at various speeds. I work with design engineers, architects, and other managers to ensure that the design is verified and meets the project requirements. A major aspect of my job is to catch bugs early, which can save significant costs for the company and prevent delays in the project timeline. To ensure the successful completion of a project, I establish deadlines for each task and run multiple iterations of regressions to achieve full coverage. The project cycle can be compared to a roller coaster, with its ups and downs. It's crucial to stay mentally prepared, enjoy the learning process, and be accountable for your responsibilities. While the job may seem glamorous from the outside, it's important to recognize that it can become routine and lose its shine over time. Nevertheless, my passion for the work and the sense of accomplishment that comes with each completed project keep me motivated and engaged.   6. To be a design verification engineer, is it necessary to be proficient in programming? Can non-IT background people also pursue design engineering? To pursue a career in VLSI, a computer science engineering degree is not required. More importance is given to engineers from an electronics background. However, you should possess programming skills or be willing to learn how to code on the job.  The ability to code in scripting languages like Python and Perl will make you better at your job irrespective of which domain in VLSI you’re working in. Engineers in physical design, physical verification, analogue layout, etc don’t code on an everyday basis. While having coding skills is advantageous everywhere, it is still possible to excel in these positions without them. Even if you haven't performed well in your previous job or college, you can always acquire new skills and improve your performance. 7. What is your advice for students/young professionals who want to pursue a career as a design engineer? What avenues are open in this field? Where can they work? What is the future in this field? If you're interested in pursuing a career in VLSI engineering, there are many resources available to you. For example, universities like Manipal and Vellore Institute of Technology offer master's degrees in VLSI as well. At the end of the first year, many reputed companies like Intel and Qualcomm come to these colleges to hire students for internships. These internships are a great way to gain experience and make connections with potential employers. Companies like Intel and Qualcomm often offer internships and may even hire interns for full-time positions. These internships are also typically well-paid and provide valuable work experience.  Several institutions like RV-VLSI, Maven-Silicon, Sandipini, etc provide training courses in VLSI. They help you get placed, but mostly in service-based VLSI companies. The starting pay in these companies can be low and they may ask you to sign a bond to work with them for a period of three to four years. Additionally, some startups may also be looking for talented individuals and conducting interviews. By taking advantage of these opportunities, you may find an easier path into VLSI businesses. However, in my experience after those few initial years of struggle, you should be able to get a good job with good pay if you have learned well. It's important to remember that at the beginning of your career, focusing on learning and gaining experience can take you further than focusing solely on money. By prioritizing growth and development, you can build a strong foundation for your future in VLSI engineering.      

  • Sumasri Sumasri
React JavaScript Interview Questions With Answers
Mar 31, 2023
React JavaScript Interview Questions With Answers

React is a free JavaScript framework for creating user experiences. It was created by Facebook and is currently utilised extensively in computer programming. It lessens the need for direct DOM handling by using a component-based strategy to create apps. Additionally, React can effortlessly combine with other JS tools and frameworks, giving developers the ability to create robust, adaptable applications that are simple to manage and grow with time. For web developers seeking to create high-performance apps, it is a common option. We have prepared a collection of questions to be asked in the interview which can help you with the preparation.   1) What is Reactjs? React is a JavaScript library that makes building user interfaces easy. It was developed by Facebook.   2) Does React use HTML? No, It uses JSX, which is similar to HTML. 3) When was React first released? React was first released on March 2013.   4) Give me the two most significant drawbacks of React Integrating React with an MVC framework like Rails requires complex configuration. React require the users to know the integration of user interface into the MVC framework. 5) State the difference between Real DOM and Virtual DOM Virtual DOM It updates faster. It cannot be used to update HTML directly. Memory Consumption is less Real DOM It is updated slowly. It allows a direct update from HTML. It wastes too much memory. 6) What is Flux Concept In React? Facebook widely uses flux architecture concept for developing client-side web applications. It is not a framework or a library. It is simply a new kind of architecture that complements React and the concept of Unidirectional Data Flow. 7) Define the term Redux in React Redux is a library used for front end development. It is a state container for JavaScript applications which should be used for the applications state management. You can test and run an application developed with Redux in different environments.   8) What is the 'Store' feature in Redux? Redux has a feature called 'Store' which allows you to save the application's entire State at one place. Therefore all it's component's State are stored in the Store so that you will get regular updates directly from the Store. The single state tree helps you to keep track of changes over time and debug or inspect the application.   9) What is an action in Redux? It is a function which returns an action object. The action-type and the action data are always stored in the action object. Actions can send data between the Store and the software application. All information retrieved by the Store is produced by the actions.   10) Name the important features of React Here, are important features of React. Allows you to use 3rd party libraries Time-Saving Faster Development Simplicity and Composable Fully supported by Facebook. Code Stability with One-directional data binding React Components   11) Explain the term stateless components Stateless components are pure functions that render DOM-based solely on the properties provided to them.   12) Explain React Router React Router is a routing library which allows you to add new screen flows to your application, and it also keeps URL in sync with what’s being shown on the page.   13) What is a dispatcher? A dispatcher is a central hub of the app where you will receive actions and broadcast payload to registered callbacks.   14) What is meant by the callback function? What is its purpose? A callback function should be called when setState has finished, and the component is retendered. As the setState is asynchronous, which is why it takes in a second callback function.   15) Explain the term high order component A higher-order component also shortly known as HOC is an advanced technique for reusing component logic. It is not a part of the React API, but they are a pattern which emerges from React’s compositional nature.   16) Explain the Presentational segment A presentational part is a segment which allows you to renders HTML. The segment’s capacity is presentational in markup.   17) What are Props in react js? Props mean properties, which is a way of passing data from parent to child. We can say that props are just a communication channel between components. It is always moving from parent to child component.   18) Explain yield catchphrase in JavaScript The yield catchphrase is utilized to delay and resume a generator work, which is known as yield catchphrase.   19) Name two types of React component Two types of react Components are: Function component Class component   20) Explain synthetic event in React js Synthetic event is a kind of object which acts as a cross-browser wrapper around the browser’s native event. It also helps us to combine the behaviors of various browser into signal API.   21) What is React State? It is an object which decides how a specific component renders and how it behaves. The state stores the information which can be changed over the lifetime of a React component.   22) How can you update state in react js? A state can be updated on the component directly or indirectly.   23) Explain the use of the arrow function in React The arrow function helps you to predict the behavior of bugs when passed as a callback. Therefore, it prevents bug caused by this all together.   24) State the main difference between Pros and State The main difference the two is that the State is mutable and Pros are immutable.   25) Explain pure components in React js Pure components are the fastest components which can replace any component with only a render(). It helps you to enhance the simplicity of the code and performance of the application.   26) What kind of information controls a segment in React? There are mainly two sorts of information that control a segment: State and PropsState: State information that will change, we need to utilize State. Props: Props are set by the parent and which are settled all through the lifetime of a part.   27) What is 'create-react-app'? 'create-react-app' is a command-line tool which allows you to create one basic react application.   28) Explain the use of 'key' in react list Keys allow you to provide each list element with a stable identity. The keys should be unique.   29) What are children prop? Children props are used to pass component to other components as properties.   30) Explain error boundaries? Error boundaries help you to catch Javascript error anywhere in the child components. They are most used to log the error and show a fallback UI.   31) What is the use of empty tags ? Empty tags are used in React for declaring fragments.   32) Explain strict mode StrictMode allows you to run checks and warnings for react components. It runs only on development build. It helps you to highlight the issues without rendering any visible UI.   33) What are reacted portals? Portal allows you to render children into a DOM node. CreatePortalmethod is used for it.   34) What is Context? React context helps you to pass data using the tree of react components. It helps you to share data globally between various react components.   35) What is the use of Webpack? Webpack in basically is a module builder. It is mainly runs during the development process.   36) What is Babel in React js? Babel, is a JavaScript compiler that converts latest JavaScript like ES6, ES7 into plain old ES5 JavaScript that most browsers understand.   37) How can a browser read JSX file? If you want the browser to read JSX, then that JSX file should be replaced using a JSX transformer like Babel and then send back to the browser.   38) What are the major issues of using MVC architecture in React? Here are the major challenges you will face while handling MVC architecture: DOM handling is quite expensive Most of the time applications were slow and inefficient Because of circular functions, a complex model has been created around models and ideas 39) What can be done when there is more than one line of expression? At that time a multi-line JSX expression is the only option left for you.   40) What is the reduction? The reduction is an application method of handling State.   41) Explain the term synthetic events It is a cross-browser wrapper around the browser’s native event. These events have interface stopPropagation() and preventDefault().   42) When should you use the top-class elements for the function element? If your element does a stage or lifetime cycle, we should use top-class elements.   43) How can you share an element in the parsing? Using the State, we can share the data.   44) Explain the term reconciliation When a component's state or props change then rest will compare the rendered element with previously rendered DOM and will update the actual DOM if it is needed. This process is known as reconciliation.   45) How can you re-render a component without using setState() function? You can use forceUpdate() function for re-rending any component.   46) Can you update props in react? You can’t update props in react js because props are read-only. Moreover, you can not modify props received from parent to child.   47) Explain the term 'Restructuring.' Restructuring is extraction process of array objects. Once the process is completed, you can separate each object in a separate variable.   48) Can you update the values of props? It is not possible to update the value of props as it is immutable.   49) Explain the meaning of Mounting and Demounting The process of attaching the element to the DCOM is called mounting. The process of detaching the element from the DCOM is called the demounting process.   50) What is the use of ‘props-types’ liberary? 'Prop-types' library allows you to perform runtime type checking for props and similar object in a recent application.   ITBots.in wishes you all the best!    

  • Sumasri Sumasri
How to Land Your Dream Job by Sending Cold Emails
Mar 24, 2023
How to Land Your Dream Job by Sending Cold Emails

Are you a recent graduate or someone looking to change jobs? Have you decided to pursue your dream job, but don't know how to get started? With the changing job market, the ways of applying for jobs and making connections are also evolving. Nowadays, it's possible to land your dream job by sending cold emails.   What is a Cold Email? Cold emails are unsolicited messages sent to people with whom you have no prior relationship or communication. The goal of a cold email is to initiate a conversation for collaboration, build professional relationships, or pursue business opportunities such as acquiring new customers or clients. Cold emails are commonly used for networking or job searching, but they are also frequently employed in sales and marketing to promote goods or services. For a cold email to be effective, it should be personalised, relevant, and well-targeted. However, if not done properly, it may be perceived as spam or unwanted communication.   Whom to cold mail or massage? Before diving into the steps and examples of cold emails, it's important to know to whom you should be sending them. If you're reaching out to a small business with 40 or fewer employees, try to target the CEO, CTO, or founding members. For mid-sized and larger companies, look to see if they have a designated HR department. LinkedIn can be a useful tool for identifying specific decision-makers or hiring managers within a company. You can often find their email address on their profile or on similar websites. Alternatively, you can connect with them and send a direct message by following the steps outlined for cold emailing. Or in the worst-case scenario for small businesses, it's typically just the founder's first name@firm domain. Together with first initial and last name, [email protected] also works effectively for mid-sized businesses.   Give a small introduction and the reason for contacting It's important to introduce yourself in a cold email and provide information about who you are, where you work, how you obtained their information, and why you're interested in their company. Clearly state your purpose early on in the email to capture their interest and give them a reason to continue reading. With the average attention span now at around 8 seconds, it's crucial to make a strong impression and grab their attention in the first few lines. Mention a few accomplishments of yours (if any) Think of your cold email as a sales pitch and use it to showcase your skills and qualities. Don't hesitate to mention your achievements and highlight your past experiences. Explain how you plan to use these experiences in the future and why you believe you would be a valuable asset to their company. By promoting your strengths and abilities, you can demonstrate why you're a good fit for the position and why they should consider you. Have a specific and reasonable request  It's important to avoid coming across as too demanding when sending a cold email. Instead, focus on building a relationship with the recipient. Asking for the job directly can be too upfront and may turn off the reader, potentially damaging your chances of making a connection. Instead, try to set up a time for a chat or call to discuss potential opportunities. Ask about the interview process or inquire if there are any recent job openings that might be a good fit for your skills and experience. By taking a more indirect approach, you can establish a connection with the recipient and build a relationship that may lead to future job opportunities. Follow up (3 times) If you don't receive a response to your cold email within a week, it's acceptable to send a brief follow-up email. Keep in mind that the person you're reaching out to may be busy and may have a backlog of emails to respond to. It's often necessary to follow up at least three times before giving up. Sending a great email only once may not be enough to be effective. In fact, several successful cold emails that resulted in interviews were only answered after several follow-ups.   Tips for do’s and don’t- DO’s Use a professional id  Email addresses that begin with fancy, unusual names, or numerals may not be taken seriously by potential employers. To make a good impression, it's best to use a professional-looking email address that includes your first and last name. This can help convey a sense of professionalism and seriousness to your potential employer. Write a strong subject line and keep it short When crafting a subject line for your cold email, it's important to keep it short, creative, and practical enough to entice the reader to open and read your message. You may want to consider using a common contact name or position within the company you're targeting to create a subject line that is both relevant and attention-grabbing. By doing so, you can increase the chances of your email being noticed and read by the recipient.   Leave room for conversation (build relationships) When closing your cold email, it's important to avoid using a closed-ended statement and instead, leave room for the next person to reply. If you have a connection with the recruiter or company, it's a good idea to mention it in your email. You may also want to try finding any alumni from your university who have worked with the company and mention that in your email as well. By doing so, you can demonstrate that you have a genuine interest in the company and increase your chances of getting a response.   DONTs Don’t follow up obsessively Following up on a cold email is essential, but it's important to avoid spamming the recipient with too many emails or messages. Instead, aim to follow up in a professional and courteous manner, and be patient in waiting for a response. Try not to look for HR always If possible, try to get in touch with the founding members or someone in charge of the recruiting process instead of relying solely on the HR department. While HR may receive a lot of these emails, there is a chance that yours could be overlooked. By targeting specific decision-makers within the company, you can increase the likelihood of your email being read and considered. Don’t send the same mail to everyone  Personalization is the key to crafting a successful cold email or message. Before you begin writing, do your homework on the person and company you are contacting. Avoid sending the same generic email to everyone with only minor changes to the name and address. This approach suggests a lack of effort and interest in the recipient and is unlikely to result in a positive response.   "Before sending cold emails, ensure that your resume is up-to-date. Keep in mind that cold emails typically have a low response rate and an even lower conversion rate. To improve your chances, consider sending 3 to 4 emails per day. With consistent effort and a well-crafted message, cold emailing can open the door to your dream job."   Samples-1 Dear/Hello/Greetings (First Name or Mr./Ms. Last Name) Hope you are doing well. My name is (your name) and I’m 21 years old. I am a (your profession). Have worked/done an internship with (provide company name) before. Currently looking for opportunities. I have experience in (name the fields). Your assistant provided me with this email so I could get in touch with you [or state the specific way you located the person's name and email]. The purpose of the mail is whether we can get into a call/meeting to discuss your career and whether there may be any upcoming opportunities with your company.  I have a flexible schedule so I can schedule a meeting or call at a time convenient for you.  I look forward to your response. Sincerely, (Your Name) Sample-2 Dear/Hello/Greetings (First Name or Mr./Ms. Last Name) Hope you are having a great day. I applied for an open position at (Company name)/ for the position of (the position you applied for) on your online career site. I believe the position fits incredibly well with my 15 years of experience in (your field). Attaching my profile for you to have a look at my work and experiences. (profile link). I recently followed you on the same business social media page and I appreciate the interesting articles you provide for job seekers and how you interact with candidates. We also have a common interest in AI. I'd love to schedule a call and talk with you further about the position and my experience. I can be available for next week's working hours. I look forward to speaking with you.  Sincerely, (Your Name)   ITBots.in wishes you all the best!

  • Sumasri Sumasri
Web Crawling: Understanding the Basics
Mar 17, 2023
Web Crawling: Understanding the Basics

Web crawling is an essential process that has transformed the way we interact with the internet. It is the backbone of many search engines and helps to index and categorize massive amounts of web data. In this article, we will explore the ins and outs of web crawling.   What is web crawling? Web crawling is the process of indexing data on web pages by using a program or automated script. These automated scripts or programs are known by multiple names, including web crawler, spider, spider bot, and often shortened to the crawler. A web crawler starts by downloading the website's robot.txt file, which includes sitemaps that list the URLs that the search engine can crawl. Once web crawlers start crawling a page, they discover new pages via hyperlinks. Crawlers add newly discovered URLs to the crawl queue so that they can be crawled later if they are interesting to be crawled for the crawler's developer. Thanks to this flow, web crawlers can index every single page that is connected to others.   Different types of web crawlers are classified into four categories based on how they operate: Focused web crawler: A focused crawler is a web crawler that searches, indexes and downloads only web content that is relevant to a specific topic to provide more localized web content. Unlike standard web crawlers, focused web crawlers seek out and index the most relevant links while ignoring irrelevant ones. Incremental crawler: Once a web page is indexed and crawled by a web crawler, the crawler revisits the URLs and refreshes its collection regularly to replace out-of-date links with new URLs. The process of revisiting URLs and recrawling old URLs is referred to as incremental crawling. Recrawling pages helps to reduce inconsistency in downloaded documents. Distributed crawler: Multiple crawlers are operating simultaneously on different websites to distribute web crawling processes. Parallel crawler: A parallel crawler is a crawler that runs multiple crawling processes in parallel to maximize the download rate.   Web crawling can be used for various purposes, such as: Search engines: Web crawlers are used by search engines to index web pages and build their databases. This allows users to find information quickly and easily when searching for specific topics. Price comparison: Web crawlers can be used by e-commerce companies to collect and compare prices of products across multiple websites. Social media monitoring: Web crawlers can be used by companies to monitor mentions of their brand on social media and analyze customer sentiment. Academic research: Web crawlers can be used by researchers to collect data for their studies, such as analyzing trends or tracking the spread of information online.   Why is Web Crawling Important? Thanks to the digital revolution, the total amount of data on the web has increased significantly. Global data generation is anticipated to increase to more than 180 zettabytes over the following two years, up until 2025. According to IDC, 80% of worldwide data will be unstructured by 2025. Therefore, web crawling has become crucial for managing and making sense of this data.   How do Web Crawlers Affect SEO? SEO stands for search engine optimization, which is the discipline of readying content for search indexing so that a website shows up higher in search engine results. If spider bots don't crawl a website, then it can't be indexed, and it won't show up in search results. For this reason, if a website owner wants to get organic traffic from search results, it is essential that they don't block web crawler bots.   Is Web Crawling the Same as Web Scraping? Web scraping is using web crawlers to scan and store all the content from a targeted webpage. In other words, web scraping is a specific use case of web crawling to create a targeted dataset, such as pulling all the finance news for investment analysis and searching for specific company names.   Examples of web crawlers Here are some of the most commonly used web crawlers: Amazonbot is the Amazon web crawler. Bingbot is Microsoft's search engine crawler for Bing. DuckDuckBot is the crawler for the search engine DuckDuckGo. Googlebot is the crawler for Google's search engine. Yahoo Slurp is the crawler for Yahoo's search engine. Yandex Bot is the crawler for the Yandex search   However, web crawling can also have ethical and legal implications. Some websites prohibit web crawling and consider it a violation of their terms of service. Additionally, web crawling can potentially collect private or sensitive information, leading to privacy concerns. Overall, web crawling is a useful tool for extracting data from websites and can be used for various purposes. However, it is important to use it responsibly and respect website owners' terms of service and privacy.

  • Sumasri Sumasri
JavaScript Interview Questions & Answers
Mar 10, 2023
JavaScript Interview Questions & Answers

1. What is JavaScript and how is it used in web development? JavaScript is a programming language used to create interactive effects within web browsers. It can be used for front-end development to create interactive user interfaces, and also for back-end developers to create server-side applications. JavaScript is one of the three core technologies used in web development, alongside HTML and CSS.   2. What is the difference between JavaScript and other programming languages? JavaScript is a dynamically-typed, high-level programming language that is used mainly for front-end and back-end web development. It is unique in that it is executed on the client side, meaning that it runs within a web browser. Other programming languages may be compiled or interpreted and can be used for a wide variety of applications, such as desktop or mobile applications.   3. What is the Document Object Model (DOM) in JavaScript? The Document Object Model (DOM) is a programming interface for HTML and XML documents. It represents the page so that programs can change the document structure, style, and content. The DOM provides a way for programmers to access and manipulate HTML and XML documents, which makes it essential for building dynamic web pages and applications.   4. What are the different data types in JavaScript? JavaScript has seven different data types: undefined, null, boolean, number, string, object, and symbol.   5. How do you declare variables in JavaScript? Variables can be declared using the var, let, or const keywords in JavaScript. The var keyword is used for declaring variables with global or functional scope, while let and const are used for block-scoped variables.   6. What is hoisting in JavaScript? Hoisting is a behaviour in JavaScript where variable and function declarations are moved to the top of their respective scopes. This means that a variable or function can be used before it has been declared, although it will still be undefined until it is assigned a value.   7. What is the scope of JavaScript? Scope refers to the accessibility of variables, functions, and objects in different parts of a JavaScript program. There are two types of scope in JavaScript: global scope and local scope.   8. What are closures in JavaScript? Closures are functions that have access to variables in their outer (enclosing) functions, even after the outer function hasreturned. This is possible because the inner function retains a reference to the variables in the outer function, which are kept alive in memory.   9. What is the difference between an object and an array in JavaScript? An object is a collection of properties, where each property is a key-value pair. An array is an ordered list of values, where each value is accessed by its index number   10. How do you create an object in JavaScript? Objects can be created using object literals or using the Object constructor function. For example, an object can be created using an object literal like this: const person = { name:'John', age:30, address:{ street:'123 Main St', city: 'Anytown', state:'CA' } };   11. What is prototypal inheritance in JavaScript? Prototypal inheritance is a way of creating new objects based on existing objects, by inheriting their properties and methods. In JavaScript, every object has a prototype, which is a reference to another object that it inherits properties and methods from.   12. What is a promise in JavaScript? A promise is a JavaScript object that represents a value that may not be available yet but will be resolved in the future.   13. What is async/await in JavaScript? Async/await is a way to write asynchronous code that looks like synchronous code. It allows developers to write code that waits for a promise to resolve before executing the next line of code.   14. What are the different types of operators in JavaScript? JavaScript has several types of operators, including arithmetic, assignment, comparison, logical, bitwise, and string operators   15. What is the difference between == and === in JavaScript? The == operator compares values for equality, whereas the === operator compares values for equality and type.   16. What is event bubbling in JavaScript? Event bubbling is the process by which an event propagates from the innermost element that triggered the event up to the document root, triggering all event handlers along the way.   17. What is event delegation in JavaScript? Event delegation is a technique in which a single event handler is added to a parent element, rather than multiple event handlers being added to multiple child elements.   18. What is a decorator in JavaScript? A decorator in JavaScript is a function that is used to modify the behaviour of another function or object. Decorators are typically used to add functionality to an existing function or object without modifying its original source code.   19. What is the difference between onclick and addEventListener in JavaScript? The main difference between onclick and addEventListener in JavaScript is how they handle multiple event listeners for the same element. onclick is an inline event handler attribute that can be added to an HTML element to execute a JavaScript function when the element is clicked. It can only handle a single function at a time, which means that if multiple onclick attributes are added to the same element, only the last one will be executed. Also, it cannot be removed once it is set. On the other hand, addEventListener is a method that allows you to attach multiple event listeners to an element. It can handle multiple functions at the same time and the order in which they are added is preserved. Also, it allows you to remove a specific listener from the element using the removeEventListener method.   20. What is JSON and how is it usd in Javascript? JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write and easy for machines to parse and generate. It is a text format that is used to represent data in a structured way and is widely used for data exchange between web servers and clients. In JavaScript, JSON is used to exchange data between a web server and a web application. The JSON format is based on a subset of the JavaScript programming language and is natively supported by most modern web browsers.  While working with .json file, the syntax will be like:     {                   "First_Name" :  "value";                    "Last_Name": "value ";                      }     While working with JSON objects in .js or .html file, the syntax will be like this:     var varName ={                      "First_Name" :  "value";                       "Last_Name":  "value ";                          }     21. What is AJAX in Javascript? AJAX (Asynchronous JavaScript and XML) is a technique used in web development to exchange data with a web server asynchronously, without the need to reload the entire page. It allows web applications to update parts of a web page without refreshing the entire page, providing a smoother and more responsive user experience. In JavaScript, AJAX is typically implemented using the XMLHttpRequest (XHR) object, which allows you to send HTTP requests to a server and receive responses in different formats,such as HTML, XML, JSON, or plain text. Example: var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() {     if (this.readyState == 4 && this.status == 200) {        // Typical action to be performed when the document is ready:        document.getElementById("demo").innerHTML = xhttp.responseText;     } }; xhttp.open("GET", "filename", true); xhttp.send();   22. What are the different types of errors in JavaScript? Syntax errors: These occur when the syntax of a program is incorrect and prevent the program from running. Syntax errors are usually caused by typographical errors, missing brackets, or invalid statements. For example, forgetting to close a bracket or using an incorrect operator can cause a syntax error. Runtime errors: These occur during the execution of a program and can cause it to crash or behave unexpectedly. Runtime errors are usually caused by invalid data or unexpected conditions, such as dividing a number by zero or trying to access a non existent object property. Logical errors: These occur when a program runs without crashing but produces incorrect or unexpected results. Logical errors are usually caused by errors in the program's algorithm or logic, such as using the wrong formula for a calculation or not handling a specific condition.   23. What is a try-catch in JavaScript? try-catch is a JavaScript statement that allows you to handle exceptions that occur during the execution of a program. The try block contains the code that might throw an exception, while the catch block handles the exception by executing a set of statements.      24. What is the difference between null and undefined in JavaScript? Null is a value that represents the intentional absence of any object value. It is often used to indicate that a variable has no value assigned to it. undefined, on the other hand, is a value that represents an uninitialized variable or a missing property in an object.   25. What is the event loop in JavaScript? The event loop is a mechanism in JavaScript that allows for asynchronous programming. It continuously monitors the call stack and the message queue, and when the call stack is empty, it takes the first message from the queue and adds it to the call stack.   26. IS JAVASCRIPT A CASE-SENSITIVE LANGUAGE? Yes, JavaScript is a case-sensitive language. The language keywords, variables,function names, and any other identifiers must always be typed with a consistent capitalization of letters. So the identifiers Time and TIME will convey different meanings in JavaScript.   27. DEFINE ANONYMOUS FUNCTION It is a function that has no name. These functions are declared dynamically at runtime using the function operator instead of the function declaration. The function operator is more flexible than a function declaration. It can be easily used in the place of an expression For example: var display=function() { alert("Anonymous Function is invoked"); } display();   28. WHAT IS THE MAIN DIFFERENCE BETWEEN VAR, CONST, AND LET? Variables declared with let and const are block-scoped; Variables declared with var are globally-scoped or function-scoped. var variables can be updated and redeclared within its scope; let variables can be updated but not re-declared;const variables can neither be updated nor re-declared. var can be hoisted to the top of their scope.Where var variables are initialised as undefined, let and const variables are not initialised(Temporary Dead Zone, TDZ). While var and let can be declared without being initialised, const must be initialised during declaration.   29. WHAT IS A CALLBACK AND HOW DOES IT WORK BEHIND THE SCENE? The callback is possible only because JavaScript supports the first-class function. A function that has passed as an argument to another function or it can be executed in that other function is called a callback. In short, Callback is a function that is passe to another function. In Node.js, it consists of 4 default threads that are responsible for maintaining the main stack and other queues, most asynchronous functions call other asynchronous functions and then call the callback. You can think of it as a chain of functions and callbacks. All asynchronous and IO operations are directly not handled by the main thread, All callbacks and asynchronous calls have been handled by the other queue which presents in the JS engine.   30. WHAT IS "CALLBACK HELL"? Callback hell is a situation where we nest callbacks in callbacks.   31. HOW MANY WAYS DO WE HAVE FOR DECLARING A FUNCTION AND HOW ARE THEY DIFFERENT FROM EACH OTHER? A function declaration has made of a function keyword, followed by an obligatory function name, a list of parameters in a pair of parenthesis. Shorthand method definition can be possible to use in a method declaration on object literals and ES2015 classes. An Arrow function is defined using a pair of parenthesis that contains the list of parameters. Followed by a fat arrow => and a pair of curly braces that delimits the body statements. In a function expression, you assign a function to a variable. A function can be dynamically created using the Function constructor, but it suffers from security and performance issues and is not advisable to use.   32. WHAT IS THE USE OF THE NAN() FUNCTION? In JavaScript NaN is short for "Not-a-Number". The isNaN() method returns true if a value is NaN. The isNaN() method converts the value to a number before testing it. The NaN() function has only one purpose— to check whether a value is an illegal number.   33. DIFFERENCE BETWEEN ISNAN() AND NUMBER.ISNAN() ? isNaN() method returns true if a value is Not-a-Number. Number.isNaN() returns true if a numberis Not-a-Number. isNaN() converts the value to a number before testing it.   34. WHAT DOES THE ‘THIS’ KEYWORD DO? In an object method, this refers to the object. Alone, this refers to the global object. In a function, this refers to the global object. This keyword is a self-reference for JavaScript objects.   35. Which object? It depends on how this is being invoked: 1. In an object method, this refers to the object. 2. Alone, this refers to the global object. 3. In a function, this refers to the global object. 4. In a function, in strict mode, this is undefined. 5. In an event, this refers to the element that received the event. 6. Methods like call(), apply(), and bind() can refer this to any object.  

  • Sumasri Sumasri
Harvard University MBA Scholarship 2023
Mar 02, 2023
Harvard University MBA Scholarship 2023

Overview The Harvard MBA is one of the world’s leading business programmes, taught at one of the world’s most prestigious Universities. The Boustany MBA Harvard Scholarship is granted once every two years for a two year course at Harvard Business School.   The Scholarship offers the following: • Financial aid amounting to 75% of the  tuition fees • Travel and accommodation expenses related to the internship. The next Scholarship will be awarded for the class commencing Autumn 2023.   Eligibility Criteria Candidates must have an excellent academic background and show considerable promise. Although the Scholarship can be awarded to candidates of any nation, priority will be given to candidates of Lebanese descent. Candidates may apply for the Scholarship only after receiving an offer of admission from the Harvard MBA programme.   Application Process If you wish to apply, please send a copy of your curriculum vitae with a photograph, GMAT scores and acceptance letter from the University to: [email protected] If shortlisted, you may be invited to an interview with the Foundation. One candidate will then be awarded the Scholarship   Deadline for the submission of candidacy: 31st May 2023. The Scholarship will be awarded during the month of June 2023. For more information visit here. 

  • Sumasri Sumasri
15 Common Interview Questions and How to Answer Them
Feb 24, 2023
15 Common Interview Questions and How to Answer Them

Job searching and interview preparation are two different but equally important aspects of the job-seeking process. While it's impossible to predict exactly what questions an employer will ask, there are some common interview questions that can be anticipated. It is recommended to prepare for these questions to improve the chances of a successful interview. Here are some sample questions and answers:   1. Can you tell me a little about yourself? To respond, guide them through your past, beginning with how you got started in your career or your present field of work take them through your important successes and professional movements, and then share what you want to do next in your career and why you are seeking this job. Good answer sample: "I started my work after graduating with a Business degree in 2018. I've spent my whole career at Google, where I've received three promotions for exceptional performance. I want to join a smaller firm and take on additional leadership and project management responsibilities."   2. How did you hear about the position? The fact that this is the simplest question-and-response situation in an interview doesn't mean it can't harm your prospects at the job if you answer poorly. Answer sample: "I noticed the job advertised on a website and it seemed fascinating, so I wanted to learn more." “I found the position while looking for jobs online” “I heard about it from a friend”   3. What do you know about our company? Your key objective is to demonstrate that you did your study or were familiar with their firm before applying.  If you don't appear to know anything about them, you will come out as desperate, taking whatever work you can find. And that will make you unappealing to any potential employers. Answer sample: “According to what I've read, your organisation is a market leader in supplying security software to other businesses. I glanced over your client list on your website. According to your website, your headquarters are in ........ and you have 25,000 workers globally."   4. Why did you apply for this job? You should sound as though you want the job and are selective. Companies want the top performers, and the best performers are selective when it comes to job opportunities. Avoid negativity and complaints as well. Do not disparage your existing employer or supervisor. Concentrate on the good aspects of the firm you are talking with. Answer sample: "I've always wanted to work for a larger business in this area, and I know you're one of the leaders in this space," is a good example of an answer. I'm quite interested in your services, particularly the mobile applications you've lately developed, and I'd be thrilled to come here and expand my talents with a company like yours."   5. Why should we hire you? Talk about them and how you can help them. What will be the benefit to them if they hire you? What will you do better for them? And demonstrate that you have done your homework. Make it obvious that you understand the responsibilities of this job and are  Answer sample: "I saw in the job role that you're searching for someone with software development experience. I've been doing it for three years and can quickly assist you with software programming".   6. Why do you want to work here? Show them that you understand their job (at least as much as you can from the job description and company website) and that you are happy to be interviewing for this position. Answer sample: "I've been actively looking for work since receiving my Nursing degree. I'm interested in critical care and emergency medicine, and I've heard that your hospital has one of the greatest ERs in the region. I believed the job description suited my experience well, and I saw some of my personal characteristics highlighted, such as multitasking and being able to flourish in a fast-paced workplace, therefore I'd love to start my career here."   7. Why are you looking to leave your current company? Stay optimistic and focused on what you wanted to gain from the decision if you opted to leave on your own terms, rather than bad-mouthing or dwelling on downsides you wanted to avoid. Answer sample: "I was hired for a project management function, but over time that changed and I was no longer being given the opportunity to perform the work I was interested in. I left to seek an opportunity that I believed was better aligned with the direction I'd like to take with my career."   8. Why did you leave your last job? If we decided to leave on our own terms, we must remain optimistic and focus on what we want to learn from the experience. We choose to avoid bad-mouthing or dwelling on negativity. Answer sample: "I left in order to better my career." "My department hired a new boss, and I thought it was the proper moment to quit." "I was employed for a certain purpose, but that changed over time, and I was no longer given that role." “I didn’t feel there was an opportunity to grow or advance further in that role so I decided a   9. What is your greatest weakness? You never want to confess that you have problems relating with others, that you are bad at resolving disagreements, that you are bad at receiving instructions from your bosses, and so on. These things will result in our rejection during the interview. So select a specific speciality, but one that will have no substantial impact on our ability to do this assignment. Answer sample: "I'm not particularly skilled at social media marketing. For the first several years of my career, I was entirely focused on email marketing. That is still my expertise, which is why I applied for the role of Email Marketing Manager. However, I've discovered that understanding the fundamentals of social media marketing is also important since some of the techniques that work there also work well in email. So I started researching and learning about this new area on my own time, a few hours every week, and it's really helped me."   10. What type of work environment do you prefer? Ideally, one that is comparable to the setting of the organisation for which you are applying.  Make your point. Although most companies have a section on their websites dedicated to defining their culture, it is usually loaded with platitudes like "committed to customer satisfaction" and "we encourage our staff to flourish." That tells us absolutely nothing.   11. Where do you see yourself in 5 years? Choose a work-related objective for where you want to be in five years, and make it seem a little tough or ambitious. Also, discuss an objective that is relevant to the sort of position you are interviewing for. You want to sound as though the experience you will get in this position will help you achieve your long-term goals. Answer sample: "I'm delighted you inquired. I envision myself taking on additional responsibility in five years, either through management or higher-level individual contributions. I'm not sure which road to take, but I know my priority right now is to lay a solid foundation and gather significant experience so that I may have a great future in this business."   12. How do you deal with pressure or stressful situations? A fantastic method is to go over our go-to stress-reduction techniques (creating the world's best to-do list, pausing to take 10 deep breaths), and then provide an example of a difficult scenario you handled with ease. People assume that these queries are all about the narrative. And it's a crucial component. Even if our tale isn't precisely what the interviewer asked for, if it's well-framed and we go the additional mile to inform the interviewer what he or she should take away from it, we'll end up making a greater impact. So don't worry too much about having the proper story or appropriate experience. Instead, concentrate on the messages we want to convey.   13. What are your salary requirements? Unfortunately, this question is missing from many listings of example job interview questions and responses. But it's critical because the wrong response here might cost you a lot later in the discussion. They're not convinced if you are any good or if they want to hire you at all. As a result, you can't command a large wage right now. If we set our pricing too low, they will hold us to it afterwards. Have you gone too far? We'll frighten them away before they realise how much we're worth! Maintain our position and tell them we don't have a figure in mind yet or are unsure. Answer sample: "Right now, I'm focused on finding a job that is a good fit for my career. Following that, I'm willing to take any offer you feel is acceptable, but I don't have a certain number in mind just yet, and my goal is to find a position that's a good fit for me."   14. What do you like to do outside of work? If someone asks about our hobbies outside of work, it’s totally OK to open up and share what really makes us tick. (Do keep it semi-professional, though: Saying we like to have a few beers at the local hot spot on Saturday night is fine. Telling them that Monday is usually a rough day for us because we’re always hungover is not.)   15. Do you have any questions for us? Do not inquire about compensation, benefits, time off, or anything else unrelated to the job. Wait for them to bring it up, or until we know they want to hire us. We are highly unlikely to get employed if we do not ask good questions to each individual we interact with. Answer sample: "Yes, I do have a few questions. The first question I had was if this was a freshly formed position or if someone had previously held this post. And, if so, what did that person do after leaving this position?"  

  • Sumasri Sumasri
DevOps Interview Questions & Answers (For Experienced and Intermediate)
Feb 10, 2023
DevOps Interview Questions & Answers (For Experienced and Intermediate)

1. Explain the different phases in DevOps methodology. DevOps mainly has 6 phases and they are: Planning: This is the first phase of a DevOps lifecycle that involves a thorough understanding of the project to ultimately develop the best product. When done properly, this phase gives various inputs required for the development and operations phases. This phase also helps the organization to gain clarity regarding the project development and management process. Tools like Google Apps, Asana, Microsoft teams, etc are used for this purpose.   Development: The planning phase is followed by the Development phase where the project is built by developing system infrastructure, developing features by writing codes, and then defining test cases and the automation process. Developers store their codes in a code manager called remote repository which aids in team collaboration by allowing view, modification, and versioning of the code. Tools like git, IDEs like the eclipse, IntelliJ, and technological stacks like Node, Java, etc are used.   Continuous Integration (CI): This phase allows for automation of code validation, build, and testing. This ensures that the changes are made properly without development environment errors and also allows the identification of errors at an initial stage. Tools like Jenkins, circleCI, etc are used here.   Deployment: DevOps aids in the deployment automation process by making use of tools and scripts which has the final goal of automating the process by means of feature activation. Here, cloud services can be used as a force that assists in upgrade from finite infrastructure management to cost-optimized management with the potential to infinite resources. Tools like Microsoft Azure, Amazon Web Services, Heroku, etc are used.   Operations: This phase usually occurs throughout the lifecycle of the product/software due to the dynamic infrastructural changes. This provides the team with opportunities for increasing the availability, scalability, and effective transformation of the product. Tools like Loggly, BlueJeans, Appdynamics, etc are used commonly in this phase.   Monitoring: Monitoring is a permanent phase of DevOps methodology. This phase is used for monitoring and analyzing information to know the status of software applications. Tools like Nagios, Splunk, etc are commonly used.   2. How is DevOps different than the Agile Methodology? DevOps is a practice or a culture that allows the collaboration of the development team and the operations team to come together for successful product development. This involves making use of practices like continuous development, integration, testing, deployment, and monitoring of the SDLC cycle. DevOps tries to reduce the gap between the developers and the operations team for the effective launch of the product. Agile is nothing but a software development methodology that focuses on incremental, iterative, and rapid releases of software features by involving the customer by means of feedback. This methodology removes the gap between the requirement understanding of the clients and the developers.   3. Differentiate between Continuous Deployment and Continuous Delivery? The main difference between Continuous Deployment and Continuous Delivery are given below: Continuous Deployment Continuous Delivery The deployment to the production environment is fully automated and does not require manual/ human intervention. In this process, some amount of manual intervention with the manager’s approval is needed for deployment to a production environment. Here, the application is run by following the automated set of instructions, and no approvals are needed Here, the work of the application depends on the decision of the team.   4. What can you say about the antipatterns of DevOps? A pattern is something that is most commonly followed by large masses of entities. If a pattern is adopted by an organization just because it is being followed by others without gauging the requirements of the organization, then it becomes an anti-pattern. Similarly, there are multiple myths surrounding DevOps which can contribute to antipatterns, they are:  DevOps is a process and not a culture.  DevOps is nothing but Agile.  There should be a separate DevOps group.  DevOps solves every problem.  DevOps equates to developers running a production environment.  DevOps follows Development-driven management  DevOps does not focus much on development.  As we are a unique organization, we don’t follow the masses and hence we won’t implement DevOps.  We don’t have the right set of people, hence we cant implement DevOps culture.   5. Can you tell me something about Memcached? Memcached is an open-source and free in-memory object caching system that has high performance and is distributed and generic in nature. It is mainly used for speeding the dynamic web applications by reducing the database load. Memcached can be used in the following cases:  Profile caching in social networking domains like Facebook.  Web page caching in the content aggregation domain.  Profile tracking in Ad targeting domain.  Session caching in e-commerce, gaming, and entertainment domain.  Database query optimization and scaling in the Location-based services domain. Benefits of Memcached:  Using Memcached speeds up the application processes by reducing the hits to a database and reducing the I/O access.  It helps in determining what steps are more frequently followed and helps in deciding what to cache. Some of the drawbacks of using Memcached are:  In case of failure, the data is lost as it is neither a persistent data store nor a database.  It is not an application-specific cache.  Large objects cannot be cached.   6. What are the various branching strategies used in the version control system? Branching is a very important concept in version control systems like git which facilitates team collaboration. Some of the most commonly used branching types are: Feature branching This branching type ensures that a particular feature of a project is maintained in a branch. Once the feature is fully validated, the branch is then merged into the main branch. Task branching Here, each task is maintained in its own branch with the task key being the branch name. Naming the branch name as a task name makes it easy to identify what task is getting covered in what branch. Release branching This type of branching is done once a set of features meant for a release are completed, they can be cloned into a branch called the release branch. Any further features will not be added to this branch. Only bug fixes, documentation, and release-related activities are done in a release branch. Once the things are ready, the releases get merged into the main branch and are tagged with the release version number. These changes also need to be pushed into the development branch which would have progressed with new feature development. The branching strategies followed would vary from company to company based on their requirements and strategies.   7. Can you list down certain KPIs which are used for gauging the success of DevOps? KPIs stand for Key Performance Indicators. Some of the popular KPIs used for gauging the success of DevOps are: Application usage, performance, and traffic Automated Test Case Pass Percentage. Application Availability Change volume requests Customer tickets Successful deployment frequency and time Error/Failure rates Failed deployments Meantime to detection (MTTD) Meantime to recovery (MTTR)   8. What is CBD in DevOps? CBD stands for Component-Based Development. It is a unique way for approaching product development. Here, developers keep looking for existing well-defined, tested, and verified components of code and relieve the developer of developing from scratch.   9. What is Resilience Testing? Resilience Testing is a software process that tests the application for its behavior under uncontrolled and chaotic scenarios. It also ensures that the data and functionality are not lost after encountering a failure.   10. Can you differentiate between continuous testing and automation testing? The difference between continuous testing and automation testing is given below: Continuous Testing Automation Testing This is the process of executing all the automated test cases and is done as part of the delivery process. This is a process that replaces manual testing by helping the developers create test cases that can be run multiple times without manual intervention. This process focuses on the business risks associated with releasing software as early as possible. This process helps the developer to know whether the features they have developed are bug-free or not by having set of pass/fail points as a reference.   11. Can you say something about the DevOps pipeline? A pipeline, in general, is a set of automated tasks/processes defined and followed by the software engineering team. DevOps pipeline is a pipeline which allows the DevOps engineers and the software developers to efficiently and reliably compile, build and deploy the software code to the production environments in a hassle-free manner. The flow is as follows: Developer works on completing a functionality. Developer deploys his code to the test environment. Testers work on validating the feature. The business team can intervene and provide feedback too. Developers work on the test and business feedback in a continuous collaboration manner. The code is then released to production and validated again.   12. Tell me something about Ansible work in DevOps It is a DevOps open-source automation tool which helps in modernizing the development and deployment process of applications in faster manner. It has gained popularity due to simplicity in understanding, using, and adopting it which largely helped people across the globe to work in a collaborative manner.   13. How does Ansible work? Ansible has two types of servers categorized as: Controlling machines Nodes For this to work, Ansible is installed on a controlling machine using which the nodes are managed by means of using SSH. The location of the nodes would be specified and configured in the inventories of the controlling machine. Ansible does not require any installations on the remote node servers due to its nature of being agentless. Hence, no background process needs to be executed while managing any remote nodes. Ansible can manage lots of nodes from a single controlling system my making use of Ansible Playbooks through SSH connection. Playbooks are of the YAML format and are capable to perform multiple tasks.   14. How does AWS contribute to DevOps? AWS stands for Amazon Web Services and it is a well-known cloud provider. AWS helps DevOps by providing the below benefits: Flexible Resources: AWS provides ready-to-use flexible resources for usage. Scaling: Thousands of machines can be deployed on AWS by making use of unlimited storage and computation power. Automation: Lots of tasks can be automated by using various services provided by AWS. Security: AWS is secure and using its various security options provided under the hood of Identity and Access Management (IAM), the application deployments and builds can be secured.   15. What can be a preparatory approach for developing a project using the DevOps methodology? The project can be developed by following the below stages by making use of DevOps: Stage 1: Plan: Plan and come up with a roadmap for implementation by performing a thorough assessment of the already existing processes to identify the areas of improvement and the blind spots. Stage 2: PoC: Come up with a proof of concept (PoC) just to get an idea regarding the complexities involved. Once the PoC is approved, the actual implementation work of the project would start. Stage 3: Follow DevOps: Once the project is ready for implementation, the actual DevOps culture could be followed by making use of its phases like version control, continuous integration, continuous testing, continuous deployment, continuous delivery, and continuous monitoring. DevOps Interview Questions For Experienced   16. Can you explain the “Shift left to reduce failure” concept in DevOps? In order to understand what this means, we first need to know how the traditional SDLC cycle works. In the traditional cycle, there are 2 main sides - The left side of the cycle consists of the planning, design, and development phase The right side of the cycle includes stress testing, production staging, and user acceptance. In DevOps, shifting left simply means taking up as many tasks that usually take place at the end of the application development process as possible into the earlier stages of application development. From the below graph, we can see that if the shift left operations are followed, the chances of errors faced during the later stages of application development would greatly reduce as they would have been identified and solved in the earlier stages themselves. The most popular ways of accomplishing shift left in DevOps is to: Work side by side with the development team while creating the deployment and test case automation. This is the first and the obvious step in achieving shift left. This is done because of the well-known fact that the failures that get notices in the production environment are not seen earlier quite often. These failures can be linked directly to:o Different deployment procedures used by the development team while developing their features. o Production deployment procedures sometimes tend to be way different from the development procedure. There can be differences in tooling and sometimes the process might also be manual.  Both the dev team and the operations teams are expected to take ownership to develop and maintain standard procedures for deployment by making use of the cloud and the pattern capabilities. This aids in giving the confidence that the production deployments would be successful.  Usage of pattern capabilities to avoid configurational level inconsistencies in the different environments being used. This would require the dev team and the operation team to come together and work in developing a standard process that guides developers to test their application in the development environment in the same way as they test in the production environment.   17. Do you know about post mortem meetings in DevOps? Post Mortem meetings are those that are arranged to discuss if certain things go wrong while implementing the DevOps methodology. When this meeting is conducted, it is expected that the team has to arrive at steps that need to be taken in order to avoid the failure(s) in the future.   18. What is the concept behind sudo in Linux OS? Sudo stands for ‘superuser do’ where the superuser is the root user of Linux. It is a program for Linux/Unix-based systems that gives provision to allow the users with superuser roles to use certain system commands at their root level.   19. Can you explain the architecture of Jenkins? Jenkins follows the master-slave architecture. The master pulls the latest code from the GitHub repository whenever there is a commitment made to the code. The master requests slaves to perform operations like build, test and run and produce test case reports. This workload is distributed to all the slaves in a uniform manner. Jenkins also uses multiple slaves because there might be chances that require different test case suites to be run for different environments once the code commits are done.   20. Can you explain the “infrastructure as code” (IaC) concept? As the name indicates, IaC mainly relies on perceiving infrastructure in the same way as any code whichis why it is commonly referred to as “programmable infrastructure”. It simply provides means to define and manage the IT infrastructure by using configuration files. This concept came into prominence because of the limitations associated with the traditional way of managing the infrastructure. Traditionally, the infrastructure was managed manually and the dedicated people had to set up the servers physically. Only after this step was done, the application would have been deployed. Manual configuration and setup were constantly prone to human errors and inconsistencies. This also involved increased cost in hiring and managing multiple people ranging from network engineers to hardware technicians to manage the infrastructural tasks. The major problem with the traditional approach was decreased scalability and application availability which impacted the speed of request processing. Manual configurations were also time-consuming and in case the application had a sudden spike in user usage, the administrators would desperately work on keeping the system available for a large load. This would impact the application availability. IaC solved all the above problems. IaC can be implemented in 2 approaches: Imperative approach: This approach “gives orders” and defines a sequence of instructions that can help the system in reaching the final output. Declarative approach: This approach “declares” the desired outcome first based on which the infrastructure is built to reach the final result.   21. What is ‘Pair Programming’? Pair programming is an engineering practice where two programmers work on the same system, the same design, and the same code. They follow the rules of “Extreme Programming”. Here, one programmer is termed as the “driver” while the other acts as an “observer” who continuously monitors the project's progress to identify any further problems.   22. What is Blue/Green Deployment Pattern? A blue-green pattern is a type of continuous deployment, application release pattern which focuses on gradually transferring the user traffic from a previously working version of the software or service to an almost identical new release - both versions running on production. The blue environment would indicate the old version of the application whereas the green environment would be the new version. The production traffic would be moved gradually from blue to green environment and once it is fully transferred, the blue environment is kept on hold just in case of rollback necessity. In this pattern, the team has to ensure two identical prod environments but only one of them would be LIVE at a given point of time. Since the blue environment is more steady, the LIVE one is usually the blue environment.   23. What is Dogpile effect? How can it be prevented? It is also referred to as cache stampede which can occur when huge parallel computing systems employing caching strategies are subjected to very high load. It is referred to as that event that occurs when the cache expires (or invalidated) and multiple requests are hit to the website at the same time. The most common way of preventing dogpiling is by implementing semaphore locks in the cache. When the cache expires in this system, the first process to acquire the lock would generate the new value to the cache.   24. What are the steps to be undertaken to configure git repository so that it runs the code sanity checking tooks before any commits? How do you prevent it from happening again if the sanity testing fails? Sanity testing, also known as smoke testing, is a process used to determine if it’s reasonable to proceed to test. Git repository provides a hook called pre-commit which gets triggered right before a commit happens. A simple script by making use of this hook can be written to achieve the smoke test. The script can be used to run other tools like linters and perform sanity checks on the changes that would be committed into the repository. The following snippet is an example of one such script: #!/bin/sh files=$(git diff –cached –name-only –diff-filter=ACM | grep ‘.py$’) if [ -z files ]; then exit 0 fi unfmtd=$(pyfmt -l $files) if [ -z unfmtd ]; then exit 0 fi echo “Some .py files are not properly fmt’d” exit 1 The above script checks if any .py files which are to be committed are properly formatted by making use of the python formatting tool pyfmt. If the files are not properly formatted, then the script prevents the changes to be committed to the repository by exiting with status 1.   25. How can you ensure a script runs every time repository gets new commits through git push? There are three means of setting up a script on the destination repository to get executed depending on when the script has to be triggered exactly. These means are called hooks and they are of three types: Pre-receive hook: This hook is invoked before the references are updated when commits are being pushed. This hook is useful in ensuring the scripts related to enforcing development policies are run. Update hook: This hook triggers the script to run before any updates are actually made. This hook is called once for every commit which has been pushed to the repository. Post-receive hook: This hook helps trigger the script after the updates or changes have been accepted by the destination repository. This hook is ideal for configuring deployment scripts, any continuous integration-based scripts or email notifications process to the team, etc.

  • Sumasri Sumasri
Anubhav Graduate Internship Fellowship
Feb 08, 2023
Anubhav Graduate Internship Fellowship

IIT Mandi iHub and HCI Foundation - IIT Mandi iHub and HCI Foundation, C/o IIT Mandi, North campus, Kamand, Mandi, Mandi - 175075, Himachal Pradesh IIT Mandi iHub & HCI Foundation   About iHub: IIT Mandi iHub and HCI Foundation (iHub) is a Section 8 company established under the National Mission on Interdisciplinary Cyber-Physical Systems (NM-ICPS). The vision of iHub is “To be an internationally recognized hub that nurtures HCI research, enables technology translation for industry, and scale skill development.” For more information, visit www.ihubiitmandi.in   Objective: To provide opportunities for undergraduate students to apply academic knowledge, develop professional skills, network with professionals, and gain a competitive edge in the job market. Additionally, offer the chance to explore different fields, discover personal interests, and make informed decisions about a future career in HCI and allied areas.   Fellowship Grant: INR 5,000 per month. If selected, the applicant cannot avail of any other fellowship in parallel.   Duration: Maximum 3 months.   Eligibility for Fellowship Programme: ? Bachelor or pursuing a bachelor’s degree in Computer Science/ Electrical/Electronics/Information Technology/ Mechanical/Cognitive Science/ Life Science from a recognized University/ Institute. ? Applicants must be aspiring to work in the areas related to “Human-Computer Interaction (HCI)”. ? The nationality of the candidate is not a constraint.   Selection Procedure: ? Each candidate needs to submit a proposal (maximum 2 pages) that should consist of the details of the project and the candidate, the aim of the project and methodology, and expected deliverables with a timeline. ? Any idea that has the potential to lead to a technology (start-up) is highly encouraged. ? The proposals will be shortlisted based on the eligibility criteria, feasibility, and originality of the proposal. Shortlisted applicants may be asked to present their proposals to the evaluation committee.   Benefits: ? Opportunity to apply your innovative ideas for solving real-time problems for the industries. ? Graduate fellowship will be for a period of three months with a fellowship amount of INR 5,000 per month. ? A certificate from IIT Mandi iHub and HCI Foundation (iHub) highlighting the outcome of the project. ? Funding opportunity for creating start-ups, an d incubation centers after careful evaluation of the project outcomes. ? Opportunity to enhance learning, explore entrepreneurial skills, and innovate. ? Get an opportunity to work with industries.   Project Area: The project proposals are invited from any of the technology areas mentioned below. TIH – HCI Domain: Project proposals for the Fellowship must be in the broad area of HCI and the area of its industrial applications. Project Area: The project proposals are invited from any of the technology areas mentioned below. TIH – HCI Domain: Project proposals for the Fellowship must be in the broad area of HCI and the area of its industrial applications.   Technology Area: Industrial Design/Usability Engineering Computer Vision Image Processing Cognitive Modelling Artificial intelligence and Machine learning Natural language processing (NLP) Augmented reality (AR) and Virtual Reality (VR)   Industry Area: Defence & Security Healthcare Environment & Agriculture Information Technology. Workplace: IIT Mandi iHub HCI Foundation, online.   Terms & Conditions: ? iHub reserves the right to accept or reject any submission without giving specific reasons. ? iHub reserves the right to offer a different project to candidates instead of their proposed project/idea. ? The fellowship amount would be released only at the successful completion of the project ? For successful completion, the fellow must submit a project report along with any hardware/software, and source code. ? The iHub may assist fellows in publishing papers and/or patents as per iHub policies if recommended by the faculty mentor guiding the fellow.   Application Deadline: This is a Rolling Advertisement and/therefore, can be submitted at any time; however, the received proposals shall be evaluated every three (3) months. Application Link: https://forms.gle/JiTGz576zjZLp9ta7 Website https//www.ihubiitmandi.in Job Type: Internship Salary: ?5,000.00 per month Schedule: Day shift

  • Sumasri Sumasri
DevOps Interview Questions and Answer (For Freshers)
Feb 03, 2023
DevOps Interview Questions and Answer (For Freshers)

1. Who is a DevOps engineer? A DevOps engineer is a person who works with both software developers and the IT staff to ensure smooth code releases. They are generally developers who develop an interest in the deployment and operations domain or the system admins who develop a passion for coding to move towards the development side. In short, a DevOps engineer is someone who has an understanding of SDLC (Software Development Lifecycle) and of automation tools for developing CI/CD pipelines.   2. Why has DevOps become famous? These days, the market window of products has reduced drastically. We see new products almost daily. This provides a myriad of choices to consumers but it comes at a cost of heavy competition in the market. Organizations cant afford to release big features after a gap. They tend to ship off small features as releases to the customers at regular intervals so that their products don't get lost in this sea of competition. Customer satisfaction is now a motto to organizations which has also become the goal of any product for its success. In order to achieve this, companies need to do the below things: Frequent feature deployments Reduce time between bug fixes Reduce the failure rate of releases Quicker recovery time in case of release failures. In order to achieve the above points and thereby achieve seamless product delivery, DevOps culture acts as a handy tool. Due to these advantages, multi-national companies like Amazon and Google have adopted the methodology which has resulted in their increased performance.   3. What is the use of SSH? SSH stands for Secure Shell and is an administrative protocol that lets users access and controls the remote servers over the Internet to work using the command line. SSH is a secured encrypted version of the previously known Telnet which was unencrypted and not secure. This ensured that the communication with the remote server occurs in an encrypted form. SSH also has a mechanism for remote user authentication, input communication between the client and the host, and sending the output back to the client.   4. What is configuration management? Configuration management (CM) is basically a practice of systematic handling of changes in such a way that system does not lose its integrity over a period of time. This involves certain policies, techniques, procedures, and tools for evaluating change proposals, managing them, and tracking their progress along with maintaining appropriate documentation for the same. CM helps in providing administrative and technical directions to the design and development of the appreciation.   5. What is the importance of having configuration management in DevOps? Configuration management (CM) helps the team in the automation of time-consuming and tedious tasks thereby enhancing the organization’s performance and agility. It also helps in bringing consistency and improving the product development process by employing means of design streamlining, extensive documentation, control, and change implementation during various phases/releases of the project.   6. What does CAMS stand for in DevOps? CAMS stands for Culture, Automation, Measurement, and Sharing. It represents the core deeds of DevOps.   7. What is Continuous Integration (CI)? Continuous Integration (CI) is a software development practice that makes sure developers integrate their code into a shared repository as and when they are done working on the feature. Each integration is verified by means of an automated build process that allows teams to detect problems in their code at a very early stage rather than finding them after the deployment. A brief overview of the CI process. Developers regularly check out code in their local workspaces and work on the features assigned to them. Once they are done working on it, the code is committed and pushed to the remote shared repository which is handled by making use of effective version control tools like git. The CI server keeps track of the changes done to the shared repository and it pulls the changes as soon as it detects them. The CI server then triggers the build of the code and runs unit and integration test cases if set up. The team is informed of the build results. In case of the build failure, the team has to work on fixing the issue as early as possible and then the process repeats   8. Why is Continuous Integration needed? By incorporating Continuous Integration for both development and testing, it has been found that the software quality has improved and the time taken for delivering the features of the software has drastically reduced. This also allows the development team to detect and fix errors at the initial stage as each and every commit to the shared repository is built automatically and runs against the unit and integration test cases.   9. What is Continuous Testing (CT)? Continuous Testing (CT) is that phase of DevOps which involves the process of running the automated test cases as part of an automated software delivery pipeline with the sole aim of getting immediate feedback regarding the quality and validation of business risks associated with the automated build of code developed by the developers. Using this phase will help the team to test each build continuously (as soon as the code developed is pushed) thereby giving the dev teams a chance to get instant feedback on their work and ensuring that these problems don’t arrive in the later stages of the SDLC cycle. Doing this would drastically speed up the workflow followed by the developer to develop the project due to the lack of manual intervention steps to rebuild the project and run the automated test cases every time the changes are made.   10. What are the three important DevOps KPIs? A few KPIs of DevOps are given below: Reduce the average time taken to recover from a failure. Increase Deployment frequency in which the deployment occurs. Reduced Percentage of a failed deployment

  • Sumasri Sumasri
Database and SQL Interview Question with Answer
Jan 27, 2023
Database and SQL Interview Question with Answer

1. What is a Database? A database is an organized collection of data, stored and retrieved digitally from a remote or local computer system. Databases can be vast and complex, and such databases are developed using fixed design and modelling approaches.   2. What is DBMS? DBMS stands for Database Management System. DBMS is a system software responsible for the creation, retrieval, updation, and management of the database. It ensures that our data is consistent, organized, and easily accessible by serving as an interface between the database and its end-users or application software.   3. What is RDBMS? How is it different from DBMS? RDBMS stands for Relational Database Management System. The key difference here, compared to DBMS, is that RDBMS stores data in the form of a collection of tables, and relations can be defined between the common fields of these tables. Most modern database management systems like MySQL, Microsoft SQL Server, Oracle, IBM DB2, and Amazon Redshift are based on RDBMS.   4. What is SQL? SQL stands for Structured Query Language. It is the standard language for relational database management systems. It is especially useful in handling organized data comprised of entities (variables) and relations between different entities of the data.   5. What is the difference between SQL and MySQL? SQL is a standard language for retrieving and manipulating structured databases. On the contrary, MySQL is a relational database management system, like SQL Server, Oracle or IBM DB2, that is used to manage SQL databases.   6. What are Tables and Fields? A table is an organized collection of data stored in the form of rows and columns. Columns can be categorized as vertical and rows as horizontal. The columns in a table are called fields while the rows can be referred to as records.   7. What are the Constraints in SQL? Constraints are used to specify the rules concerning data in the table. It can be applied for single or multiple fields in an SQL table during the creation of the table or after creating using the ALTER TABLE command. The constraints are: • NOT NULL - Restricts NULL value from being inserted into a column. • CHECK - Verifies that all values in a field satisfy a condition. • DEFAULT - Automatically assigns a default value if no value has been specified for the field. • UNIQUE - Ensures unique values are inserted into the field. • INDEX - Indexes a field providing faster retrieval of records. • PRIMARY KEY - Uniquely identifies each record in a table. • FOREIGN KEY - Ensures referential integrity for a record in another table.   8. What is a Primary Key? The PRIMARY KEY constraint uniquely identifies each row in a table. It must contain UNIQUE values and has an implicit NOT NULL constraint. A table in SQL is strictly restricted to have one and only one primary key, which is comprised of single or multiple fields (columns). CREATE TABLE Students ( /* Create table with a single field as primary key */ ID INT NOT NULL Name VARCHAR(255) PRIMARY KEY (ID) ); CREATE TABLE Students ( /* Create table with multiple fields as primary key */ ID INT NOT NULL LastName VARCHAR(255) FirstName VARCHAR(255) NOT NULL, CONSTRAINT PK_Student PRIMARY KEY (ID, FirstName) ); ALTER TABLE Students /* Set a column as primary key */ ADD PRIMARY KEY (ID); ALTER TABLE Students /* Set multiple columns as primary key */ ADD CONSTRAINT PK_Student /*Naming a Primary Key*/ PRIMARY KEY (ID, FirstName);   9. What is a UNIQUE constraint? A UNIQUE constraint ensures that all values in a column are different. This provides uniqueness for the column(s) and helps identify each row uniquely. Unlike the primary key, there can be multiple unique constraints defined per table. The code syntax for UNIQUE is quite similar to that of PRIMARY KEY and can be used interchangeably. CREATE TABLE Students ( /* Create table with a single field as unique */ ID INT NOT NULL UNIQUE Name VARCHAR(255) ); CREATE TABLE Students ( /* Create table with multiple fields as unique */ ID INT NOT NULL LastName VARCHAR(255) FirstName VARCHAR(255) NOT NULL CONSTRAINT PK_Student UNIQUE (ID, FirstName) ); ALTER TABLE Students /* Set a column as unique */ ADD UNIQUE (ID); ALTER TABLE Students /* Set multiple columns as unique */ ADD CONSTRAINT PK_Student /* Naming a unique constraint */ UNIQUE (ID, FirstName);   10. What is a Foreign Key? A FOREIGN KEY comprises of single or collection of fields in a table that essentially refers to the PRIMARY KEY in another table. Foreign key constraint ensures referential integrity in the relation between two tables. The table with the foreign key constraint is labelled as the child table, and the table containing the candidate key is labelled as the referenced or parent table. CREATE TABLE Students ( /* Create a table with foreign key - Way 1 */ ID INT NOT NULL Name VARCHAR(255) LibraryID INT PRIMARY KEY (ID) FOREIGN KEY (Library_ID) REFERENCES Library(LibraryID) ); CREATE TABLE Students ( /* Create table with foreign key - Way 2 */ ID INT NOT NULL PRIMARY KEY Name VARCHAR(255) LibraryID INT FOREIGN KEY (Library_ID) REFERENCES Library(LibraryID) ); ALTER TABLE Students /* Add a new foreign key */ ADD FOREIGN KEY (LibraryID) REFERENCES Library (LibraryID);   11. What is a Join? List its different types. The SQL Join clause is used to combine records (rows) from two or more tables in a SQL database based on a related column between the two. There are four different types of JOINs in SQL: • (INNER) JOIN: Retrieves records that have matching values in both tables involved in the join. This is the widely used join for queries. SELECT * FROM Table_A JOIN Table_B; SELECT * FROM Table_A INNER JOIN Table_B; • LEFT (OUTER) JOIN: Retrieves all the records/rows from the left and the matched records/rows from the right table. SELECT * FROM Table_A A LEFT JOIN Table_B B ON A.col = B.col; • RIGHT (OUTER) JOIN: Retrieves all the records/rows from the right and the matched records/rows from the left table. SELECT * FROM Table_A A RIGHT JOIN Table_B B ON A.col = B.col; • FULL (OUTER) JOIN: Retrieves all the records where there is a match in either the left or right table. SELECT * FROM Table_A A FULL JOIN Table_B B ON A.col = B.col;   12. What is a Self-Join? A self JOIN is a case of regular join where a table is joined to itself based on some relation between its own column(s). Self -join uses the INNER JOIN or LEFT JOIN clause and a table alias is used to assign different names to the table within the query. SELECT A.emp_id AS "Emp_ID",A.emp_name AS "Employee", B.emp_id AS "Sup_ID",B.emp_name AS "Supervisor" FROM employee A, employee B WHERE A.emp_sup = B.emp_id;   13. What is a Cross-Join? Cross-join can be defined as a cartesian product of the two tables included in the join. The table after join contains the same number of rows as in the cross-product of the number of rows in the two tables. If a WHERE clause is used in cross join then the query will work like an INNER JOIN. SELECT stu.name, sub.subject FROM students AS stu CROSS JOIN subjects AS sub;   14. What is an Index? Explain its different types. A database index is a data structure that provides a quick lookup of data in a column or columns of a table. It enhances the speed of operations accessing data from a database table at the cost of additional writes and memory to maintain the index data structure. CREATE INDEX index_name /* Create Index */ ON table_name (column_1, column_2); DROP INDEX index_name; /* Drop Index */ There are different types of indexes that can be created for different purposes: • Unique and Non-Unique Index: Unique indexes are indexes that help maintain data integrity by ensuring that no two rows of data in a table have identical key values. Once a unique index has been defined for a table, uniqueness is enforced whenever keys are added or changed within the index. CREATE UNIQUE INDEX myIndex ON students (enroll_no); Non-unique indexes, on the other hand, are not used to enforce constraints on the tables with which they are associated. Instead, non- unique indexes are used solely to improve query performance by maintaining a sorted order of data values that are used frequently. • Clustered and Non-Clustered Index: Clustered indexes are indexes whose order of the rows in the database corresponds to the order of the rows in the index. This is why only one clustered index can exist in a given table, whereas, multiple non-clustered indexes can exist in the table. The only difference between clustered and non-clustered indexes is that the database manager attempts to keep the data in the database in the same order as the corresponding keys appear in the clustered index. Clustering indexes can improve the performance of most query operations because they provide a linear-access path to data stored in the database.   15. What is the difference between Clustered and a Non-clustered index? As explained above, the differences can be broken down into three small factors - • Clustered index modifies the way records are stored in a database based on the indexed column. A non-clustered index creates a separate entity within the table which references the original table. • Clustered index is used for easy and speedy retrieval of data from the database, whereas, fetching records from the non-clustered index is relatively slower. • In SQL, a table can have a single clustered index whereas it can have multiple non-clustered indexes.   16. What is Data Integrity? Data Integrity is the assurance of accuracy and consistency of data over its entire life cycle and is a critical aspect of the design, implementation, and usage of any system that stores, processes, or retrieves data. It also defines integrity constraints to enforce business rules on the data when it is entered into an application or a database.   17. What is a Query? A query is a request for data or information from a database table or combination of tables. A database query can be either a select query or an action query. SELECT fname, lname /* select query */ FROM myDb.students WHERE student_id = 1; UPDATE myDB.students /* action query */ SET fname = 'Captain', lname = 'America' WHERE student_id = 1;   18. What is a Subquery? What are its types?  A subquery is a query within another query, also known as a nested query or inner query. It is used to restrict or enhance the data to be queried by the main query, thus restricting or enhancing the output of the main query respectively. For example, here we fetch the contact information for students who have enrolled for the maths subject: SELECT name, email, mob, address FROM myDb.contacts WHERE roll_no IN ( SELECT roll_no FROM myDb.students WHERE subject = 'Maths'); There are two types of subquery - Correlated and Non-Correlated. • A correlated subquery cannot be considered as an independent query, but it can refer to the column in a table listed in the FROM of the main query. • A non-correlated subquery can be considered as an independent query and the output of the subquery is substituted in the main query.   19. What is the SELECT statement?The  SELECT operator in SQL is used to select data from a database. The data returned is stored in a result table, called the result set. SELECT * FROM my DB.students;   20. What are some common clauses used with SELECT queries in SQL? Some common SQL clauses used in conjunction with a SELECT query are as follows: • WHERE clause in SQL is used to filter records that are necessary, based on specific conditions. • ORDER BY clause in SQL is used to sort the records based on some field(s) in ascending (ASC) or descending order (DESC). SELECT * FROM myDB.students WHERE graduation_year = 2019 ORDER BY studentID DESC; • GROUP BY clause in SQL is used to group records with identical data and can be used in conjunction with some aggregation functions to produce summarized results from the database. • HAVING clause in SQL is used to filter records in combination with the GROUP BY clause. It is different from WHERE, since the WHERE clause cannot filter aggregated records. SELECT COUNT(studentId), country FROM myDB.students WHERE country != "INDIA" GROUP BY country HAVING COUNT(studentID) > 5;   21. What are UNION, MINUS and INTERSECT commands? The UNION operator combines and returns the result-set retrieved by two or more SELECT statements. The MINUS operator in SQL is used to remove duplicates from the result-set obtained by the second SELECT query from the result-set obtained by the first SELECT query and then return the filtered results from the first. The INTERSECT clause in SQL combines the result-set fetched by the two SELECT statements where records from one match the other and then returns this intersection of result-sets. Certain conditions need to be met before executing either of the above statements in SQL - • Each SELECT statement within the clause must have the same number of columns • The columns must also have similar data types • The columns in each SELECT statement should necessarily have the same order SELECT name FROM Students /* Fetch the union of queries */ UNION SELECT name FROM Contacts; SELECT name FROM Students /* Fetch the union of queries with duplicates*/ UNION ALL SELECT name FROM Contacts; SELECT name FROM Students /* Fetch names from students */ MINUS /* that aren't present in contacts */ SELECT name FROM Contacts; SELECT name FROM Students /* Fetch names from students */ INTERSECT /* that are present in contacts as well */ SELECT name FROM Contacts;   22. What is Cursor? How to use a Cursor? A database cursor is a control structure that allows for the traversal of records in a database. Cursors, in addition, facilitates processing after traversal, such as retrieval, addition, and deletion of database records. They can be viewed as a pointer to one row in a set of rows. Working with SQL Cursor: 1. DECLARE a cursor after any variable declaration. The cursor declaration must always be associated with a SELECT Statement. 2. Open cursor to initialize the result set. The OPEN statement must be called before fetching rows from the result set. 3. FETCH statement to retrieve and move to the next row in the result set. 4. Call the CLOSE statement to deactivate the cursor. 5. Finally use the DEALLOCATE statement to delete the cursor definition and release the associated resources. DECLARE @name VARCHAR(50) /* Declare All Required Variables */ DECLARE db_cursor CURSOR FOR /* Declare Cursor Name*/ SELECT name FROM myDB.students WHERE parent_name IN ('Sara', 'Ansh') OPEN db_cursor /* Open cursor and Fetch data into @name */ FETCH next FROM db_cursor INTO @name CLOSE db_cursor /* Close the cursor and deallocate the resources */ DEALLOCATE db_cursor   23. What are Entities and Relationships? Entity: An entity can be a real-world object, either tangible or intangible, that can be easily identifiable. For example, in a college database, students, professors, workers, departments, and projects can be referred to as entities. Each entity has some associated properties that provide it an identity. Relationships: Relations or links between entities that have something to do with each other. For example - The employee's table in a company's database can be associated with the salary table in the same database.   24. List the different types of relationships in SQL. • One-to-One - This can be defined as the relationship between two tables where each record in one table is associated with the maximum of one record in the other table. • One-to-Many & Many-to-One - This is the most commonly used relationship where a record in a table is associated with multiple records in the other table. • Many-to-Many - This is used in cases when multiple instances on both sides are needed for defining a relationship. • Self-Referencing Relationships - This is used when a table needs to define a relationship with itself.   25. What is an Alias in SQL? An alias is a feature of SQL that is supported by most, if not all, RDBMSs. It is a temporary name assigned to the table or table column for the purpose of a particular SQL query. In addition, aliasing can be employed as an obfuscation technique to secure the real names of database fields. A table alias is also called a correlation name. An alias is represented explicitly by the AS keyword but in some cases, the same can be performed without it as well. Nevertheless, using the AS keyword is always a good practice. SELECT A.emp_name AS "Employee" /* Alias using AS keyword */ B.emp_name AS "Supervisor" FROM employee A, employee B /* Alias without AS keyword */ WHERE A.emp_sup = B.emp_id;   26. What is a View? A view in SQL is a virtual table based on the result-set of an SQL statement. A view contains rows and columns, just like a real table. The fields in a view are fields from one or more real tables in the database.   27. What is Normalization? Normalization represents the way of organizing structured data in the database efficiently. It includes the creation of tables, establishing relationships between them, and defining rules for those relationships. Inconsistency and redundancy can be kept in check based on these rules, hence, adding flexibility to the database.   28. What is Denormalization? Denormalization is the inverse process of normalization, where the normalized schema is converted into a schema that has redundant information. The performance is improved by using redundancy and keeping the redundant data consistent. The reason for performing denormalization is the overheads produced in the query processor by an over-normalized structure.   29. What are the various forms of Normalization? Normal Forms are used to eliminate or reduce redundancy in database tables. The different forms are as follows: • First Normal Form:   A relation is in first normal form if every attribute in that relation is a single-valued attribute. If a relation contains a composite or multi-valued attribute, it violates the first normal form. Let's consider the following students table. Each student in the table, has a name, his/her address, and the books they issued from the public library   Student  Address Books Issued Salutation Sara Amanora Park Town 94 Until the Day I Die (Emily Carpenter), Inception (Christopher Nolan) Ms. Ansh 62nd Sector A-10 The Alchemist (Paulo Coelho), Inferno (Dan Brown) The Alchemist (Paulo Coelho), Inferno (Dan Brown) Sara 24th Street Park Avenue Beautiful Bad (Annie Ward), Woman 99 (Greer Macallister) Mrs. Ansh Windsor Street   777 Dracula (Bram Stoker) Mr   As we can observe, the Books Issued field has more than one value per record, and to convert it into 1NF, this has to be resolved into separate individual records for each book issued. Check the following table in 1NF form -   Student Address Books Issued Salutation Sara Amanora Park Town 94 Until the Day I Die (Emily Carpenter) Ms. Sara Amanora Park Town 94 Inception (Christopher Nolan) Ms. Ansh 62nd Sector A-10 The Alchemist (Paulo Coelho) Mr. Ansh 62nd Sector A-10 Inferno (Dan Brown) Mr. Sara 24th Street Park Avenue Beautiful Bad (Annie Ward) Mrs. Sara 24th Street Park Avenue Woman 99 (Greer Macallister) Mrs. Ansh Windsor Street 777 Dracula (Bram Stoker) Mr.   Second Normal Form: A relation is in second normal form if it satisfies the conditions for the first normal form and does not contain any partial dependency. A relation in 2NF has no partial dependency, i.e., it has no non-prime attribute that depends on any proper subset of any candidate key of the table. Often, specifying a single column Primary Key is the solution to the problem. Examples - Example 1 - Consider the above example. As we can observe, the Students Table in the 1NF form has a candidate key in the form of [Student, Address] that can uniquely identify all records in the table. The field Books Issued (non-prime attribute) depends partially on the Student field. Hence, the table is not in 2NF. To convert it into the 2nd Normal Form, we will partition the tables into two while specifying a new Primary Key attribute to identify the individual records in the  Students table. The Foreign Key constraint will be set on the other table to ensure referential integrity.   Students Table (2nd Normal Form)   Student  Address Books Issued Salutation Sara Amanora Park Town 94 Until the Day I Die (Emily Carpenter), Inception (Christopher Nolan) Ms. Ansh 62nd Sector A-10 The Alchemist (Paulo Coelho), Inferno (Dan Brown) The Alchemist (Paulo Coelho), Inferno (Dan Brown) Sara 24th Street Park Avenue Beautiful Bad (Annie Ward), Woman 99 (Greer Macallister) Mrs. Ansh Windsor Street   777 Dracula (Bram Stoker) Mr   Books Table (2nd Normal Form)   Student_ID Book Issued 1 Until the Day I Die (Emily Carpenter) 1 Inception (Christopher Nolan) 2 The Alchemist (Paulo Coelho) 2 Inferno (Dan Brown) 3 Beautiful Bad (Annie Ward) 3 Woman 99 (Greer Macallister) 4 Dracula (Bram Stoker)   Example 2 - Consider the following dependencies in relation to R(W,X,Y,Z) WX -> Y [W and X together determine Y] XY -> Z [X and Y together determine Z] Here, WX is the only candidate key and there is no partial dependency, i.e., any proper subset of WX doesn’t determine any non-prime attribute in the relation.   Third Normal Form A relation is said to be in the third normal form, if it satisfies the conditions for the second normal form and there is no transitive dependency between the non-prime attributes, i.e., all non-prime attributes are determined only by the candidate keys of the relation and not by any other non-prime attribute. Example 1 - Consider the Students Table in the above example. As we can observe, the Students Table in the 2NF form has a single candidate key Student_ID (primary key) that can uniquely identify all records in the table. The field Salutation (non-prime attribute),however, depends on the Student Field rather than the candidate key. Hence, the table is not in 3NF.  To convert it into the 3rd NormalForm, we will once again partition the tables into two while specifying a new Foreign Key constraint to identify the salutations forindividual records in the Students table. The Primary Key constraint for the same will be set on the Salutations table to identify eachrecord uniquely.   Students Table (3rd Normal Form)   Student  Address Books Issued Salutation Sara Amanora Park Town 94 Until the Day I Die (Emily Carpenter), Inception (Christopher Nolan) Ms.&l

  • Sumasri Sumasri
Java Hibernate Interview Questions With Answers
Jan 23, 2023
Java Hibernate Interview Questions With Answers

1. What is Hibernate? Hibernate - Hibernate Interview Questions- EdurekaHibernate is one of the most popular Java frameworks that simplify the development of Java applications to interact with the database. It is an Object-relational mapping (ORM) tool. Hibernate also provides a reference implementation of Java API. It is referred to as a framework which comes with an abstraction layer and also handles the implementations internally. The implementations include tasks like writing a query for CRUD operations or establishing a connection with the databases, etc. Hibernate develops persistence logic, which stores and processes the data for longer use. It is a lightweight tool and most importantly open-sourced which gives it an edge over other frameworks.   2. What are the major advantages of Hibernate Framework?  It is open-sourced and lightweight. The performance of Hibernate is very fast. Helps in generating database independent queries. Provides facilities to automatically create a table. It provides query statistics and database status.   3. What are the advantages of using Hibernate over JDBC? The major advantages of using Hibernate over JDBC are: Hibernate eliminates a lot of boilerplate code that comes with JDBC API, the code looks cleaner and readable. This Java framework supports inheritance, associations, and collections. These features are actually not present in JDBC. HQL (Hibernate Query Language) is more object-oriented and close to Java. But for JDBC, you need to write native SQL queries. Hibernate implicitly provides transaction management whereas, in JDBC API, you need to write code for transaction management using commit and rollback. JDBC throws SQLException which is a checked exception, so you have to write a lot of try-catch block code. Hibernate wraps JDBC exceptions and throw JDBCException or HibernateException which are the unchecked exceptions, so you don’t have to write code to handle it has built-in transaction management which helps in removing the usage of try-catch blocks. 4. What is an ORM tool? It is basically a technique that maps the object that is stored in the database. An ORM tool helps in simplifying data creation, manipulation, and access. It internally uses the Java API to interact with the databases.   5. Why use Hibernate Framework? Hibernate overcomes the shortcomings of other technologies like JDBC. It overcomes the database dependency faced in the JDBC. Changing of the databases costs a lot working on JDBC, and hibernate overcomes this problem with flying colours. Code portability is not an option while working on JDBC. This is easily handled by Hibernate. Hibernate strengthens the object-level relationship. It overcomes the exception-handling part which is mandatory while working on JDBC. It reduces the length of code with increased readability by overcoming the boilerplate problem. 6. What are the different functionalities supported by Hibernate? Hibernate is an ORM tool. Hibernate uses Hibernate Query Language(HQL) which makes it database-independent. It supports auto DDL operations. This Java framework also has Auto Primary Key Generation support. Supports cache memory. Exception handling is not mandatory in the case of Hibernate. 7. What are the technologies that are supported by Hibernate? Hibernate supports a variety of technologies, like: XDoclet Spring Maven Eclipse Plug-ins J2EE 8. What is HQL? HQL is the acronym for Hibernate Query Language. It is an Object-Oriented Query Language and is independent of the database.   9. How to achieve mapping in Hibernate? Association mappings are one of the key features of Hibernate. It supports the same associations as the relational database model. They are: One-to-One associations Many-to-One associations Many-to-Many associations You can map each of them as a uni- or bidirectional association.    10. Name some of the important interfaces of Hibernate framework? Hibernate interfaces are: SessionFactory (org.hibernate.SessionFactory) Session (org.hibernate.Session) Transaction (org.hibernate.Transaction)   11. What is a One-to-One association in Hibernate? In this type of mapping,  you only need to model the system for the entity for which you want to navigate the relationship in your query or domain model. You need an entity attribute that represents the association, so annotate it with an @OneToOne annotation.   12. What is the One-to-Many association in Hibernate? In this type of association, one object can be associated with multiple/different objects. Talking about the mapping, the One-to-Many mapping is implemented using a Set Java collection that does not have any redundant element. This One-to-Many element of the set indicates the relation of one object to multiple objects.   13. What is a Many-to-Many association in Hibernate? Many-to-Many mapping requires an entity attribute and a @ManyToMany annotation. It can either be unidirectional or bidirectional. In Unidirectional, the attributes model the association and you can use it to navigate it in your domain model or JPQL queries. The annotation tells Hibernate to map a Many-to-Many association. The bidirectional relationship, mapping allows you to navigate the association in both directions.    14. How to integrate Hibernate and Spring? Spring is also one of the most commonly used Java frameworks in the market today. Spring is a JavaEE Framework and Hibernate is the most popular ORM framework. This is why the Spring Hibernate combination is used in a lot of enterprise applications.  Following are the steps you should follow to integrate Spring and Hibernate. Add Hibernate-entity manager, Hibernate-core and Spring-ORM dependencies. Create Model classes and corresponding DAO implementations for database operations. The DAO classes will use SessionFactory which will be injected by the Spring Bean configuration. Note that you don’t need to use Hibernate Transaction Management, as you can leave it to the Spring declarative transaction management using @Transactional annotation.   15. What do you mean by Hibernate Configuration File? Hibernate Configuration File mainly contains database-specific configurations and is used to initialize SessionFactory. Some important parts of the Hibernate Configuration File are Dialect information, so that hibernate knows the database type and mapping file or class details. Hibernate Interview Questions for intermediate 16. Mention some important annotations used for Hibernate mapping. Hibernate supports JPA annotations. Some of the major annotations are: javax.persistence.Entity: This is used with model classes to specify they are entity beans. javax.persistence.Table: It is used with entity beans to define the corresponding table name in the database. javax.persistence.Access: Used to define the access type, field or property. The default value is a field and if you want Hibernate to use the getter/setter methods then you need to set it to a property. javax.persistence.Id: Defines the primary key in the entity bean. javax.persistence.EmbeddedId: It defines a composite primary key in the entity bean. javax.persistence.Column: Helps in defining the column name in the database table. javax.persistence.GeneratedValue: It defines the strategy to be used for the generation of the primary key. It is also used in conjunction with javax.persistence.GenerationType enum. 17. What is a Session in Hibernate and how do get it? Hibernate Session is the interface between the Java application layer and Hibernate. It is used to get a physical connection with the database. The Session object created is lightweight and designed to be instantiated each time an interaction is needed with the database. This Session provides methods to create, read, update and delete operations for a constant object. To get the Session, you can execute HQL queries, SQL native queries using the Session object.   18. What is Hibernate SessionFactory? SessionFactory is the factory class that is used to get the Session objects. The SessionFactory is a heavyweight object so usually, it is created during application startup and kept for later use. This SessionFactory is a thread-safe object which is used by all the threads of an application. If you are using multiple databases then you would have to create multiple SessionFactory objects.   19. What is the difference between openSession and getCurrentSession? This getCurrentSession() method returns the session bound to the context and for this to work, you need to configure it in Hibernate configuration file. Since this session object belongs to the context of Hibernate, it is okay if you don’t close it. Once the SessionFactory is closed, this session object gets closed. openSession() method helps in opening a new session. You should close this session object once you are done with all the database operations. And also, you should open a new session for each request in a multi-threaded environment. 20. What do you mean by Hibernate configuration file? The following steps help in configuring Hibernate file: First, identify the POJOs (Plain Old Java Objects) that have a database representation. Identify which properties of POJOs need to be continued. Annotate each of the POJOs in order to map the Java objects to columns in a database table. Create a database schema using the schema export tool which uses an existing database, or you can create your own database schema. Add Hibernate Java libraries to the application’s classpath. Create a Hibernate XML configuration file that points to the database and the mapped classes. In the Java application, you can create a Hibernate Configuration object that refers to your XML configuration file. Also, build a Hibernate SessionFactory object from the Configuration object. Retrieve the Hibernate Session objects from the SessionFactory and write down the data access logic for your application (create, retrieve, update, and delete). 21. What are the key components of a Hibernate configuration object? The configuration provides 2 key components, namely: Database Connection: This is handled by one or more configuration files. Class Mapping setup: It helps in creating the connection between Java classes and database tables.   22. Discuss the Collections in Hibernate Hibernate provides the facility to persist the Collections. A Collection basically can be a List, Set, Map, Collection, Sorted Set, Sorted Map. java.util.List, java.util.Set, java.util.Collection, etc, are some of the real interface types to declared the persistent collection-value fields. Hibernate injects persistent Collections based on the type of interface. The collection instances generally behave like the types of value behavior.   23. What are the collection types in Hibernate? There are five collection types in hibernate used for one-to-many relationship mappings. Bag Set List Array Map 24. What is a Hibernate Template class? When you integrate Spring and Hibernate, Spring ORM provides two helper classes – HibernateDaoSupport and HibernateTemplate. The main reason to use them was to get two things, the Session from Hibernate and Spring Transaction Management. However, from Hibernate 3.0.1, you can use the SessionFactory getCurrentSession() method to get the current session. The major advantage of using this Template class is the exception translation but that can be achieved easily by using @Repository annotation with service classes.   25. What are the benefits of using Hibernate template? The following are the benefits of using this Hibernate template class: Automated Session closing ability. The interaction with the Hibernate Session is simplified. Exception handling is automated.   26. What are the design patterns that are used in Hibernate framework? There are a few design patterns used in Hibernate Framework, namely: Domain Model Pattern: An object model of the domain that incorporates both behaviours as well as data. Data Mapper: A layer of the map that moves data between objects and a database while keeping it independent of each other and the map itself. Proxy Pattern: It is used for lazy loading. Factory Pattern: Used in SessionFactory. 27. Define Hibernate Validator Framework Data validation is considered an integral part of any application. Also, data validation is used in the presentation layer with the use of Javascript and the server-side code before processing. It occurs before persisting it in order to make sure it follows the correct format. Validation is a cross-cutting task, so we should try to keep it apart from the business logic. This Hibernate Validator provides the reference implementation of bean validation specs.   28. What is Dirty Checking in Hibernate? Hibernate incorporates a Dirty Checking feature that permits developers and users to avoid time-consuming write actions. This Dirty Checking feature changes or updates fields that need to be changed or updated, while keeping the remaining fields untouched and unchanged.   29. How can you share your views on mapping description files? Mapping description files are used by Hibernate to configure functions. These files have the *.hbm extension, which facilitates the mapping between database tables and Java class. Whether to use mapping description files or not entirely depends on the business entities. 30. What is meant by Light Object Mapping? This means that the syntax is hidden from the business logic using specific design patterns. This is one of the valuable levels of ORM quality and this Light Object Mapping approach can be successful in the case of applications where there are very fewer entities, or for applications having data models that are metadata-driven. Hibernate Interview Questions for experienced 31. What is meant by Hibernate tuning? Optimizing the performance of Hibernate applications is known as Hibernate tuning. The performance tuning strategies for Hibernate are: SQL Optimization Session Management Data Caching 32. What is Transaction Management in Hibernate? How does it work? Transaction Management is a property which is present in the Spring framework. Now, what role does it play in Hibernate? Transaction Management is a process of managing a set of commands or statements. In hibernate, Transaction Management is done by the transaction interface. It maintains abstraction from the transaction implementation (JTA, JDBC). A transaction is associated with Session and is instantiated by calling session.beginTransaction().   33. How do you integrate Hibernate with Struts2 or Servlet web applications? You can integrate any Struts application with Hibernate. There are no extra efforts required. Register a custom ServletContextListener. In the ServletContextListener class, first, initialize the Hibernate Session, and store it in the servlet context. Action class helps in getting the Hibernate Session from the servlet context, and performing other Hibernate tasks as normal. 34. What are the different states of a persistent entity? It may exist in one of the following 3 states: Transient: This is not associated with the Session and has no representation in the database. Persistent: You can make a transient instance persistent by associating it with a Session. Detached: If you close the Hibernate Session, the persistent instance will become a detached instance. 35. How can the primary key be created by using Hibernate? A Primary key is a special relational database table column designated to uniquely identify all table records. It is specified in the configuration file hbm.xml. The generator can also be used to specify how a Primary key can be created in the database. 36. Explain Hibernate Proxy and how it helps in Lazy loading? Hibernate uses a proxy object in order to support Lazy loading. When you try loading data from tables, Hibernate doesn’t load all the mapped objects. After you reference a child object through getter methods, if the linked entity is not present in the session cache, then the proxy code will be entered into the database and load the linked object. It uses Java assist to effectively and dynamically generate sub-classed implementations of your entity objects. 37. How can we see Hibernate-generated SQL on the console? In order to view the SQL on a console, you need to add the following in Hibernate configuration file to enable viewing SQL on the console for debugging purposes: true 38. What is Query Cache in Hibernate? Hibernate implements a separate cache region for queries resultset that integrates with the Hibernate second-level cache. This is also an optional feature and requires a few more steps in the code. Note: This is only useful for queries that are run frequently with the same parameters.    39. What is the benefit of Native SQL query support in Hibernate? Hibernate provides an option to execute Native SQL queries through the use of the SQLQuery object. For normal scenarios, it is however not the recommended approach because you might lose other benefits like Association and Hibernate first-level caching. Native SQL Query comes in handy when you want to execute database-specific queries that are not supported by Hibernate API such as query hints or the Connect keyword in Oracle Database.   40. What is a Named SQL Query? Hibernate provides another important feature called Named Query using which you can define at a central location and use anywhere in the code. You can create named queries for both HQL as well as for Native SQL. These Named Queries can be defined in Hibernate mapping files with the help of JPA annotations @NamedQuery and @NamedNativeQuery.   41. When do you use merge() and update() in Hibernate? This is one of the tricky Hibernate Interview Questions asked. update(): If you are sure that the Hibernate Session does not contain an already persistent instance with the same id. merge():  Helps in merging your modifications at any time without considering the state of the Session. 42. Difference between get() vs load() method in Hibernate? This is one of the most frequently asked Hibernate Interview Questions. The key difference between the get() and load() method is: load(): It will throw an exception if an object with an ID passed to them is not found. get():  Will return null. load(): It can return the proxy without hitting the database unless required. get(): It always goes to the database. So sometimes using load() can be faster than the get() method.   43. Difference between the first and second-level cache in Hibernate?  The first-level cache is maintained at the Session level while the second-level cache is maintained at a SessionFactory level and is shared by all sessions. 44. Difference between Session and SessionFactory in Hibernate? This is yet another popular Hibernate Interview Question asked. A Session is a single-threaded, short-lived object. It provides the first-level cache. SessionFactory is immutable and shared by all Sessions. It also lives until the Hibernate is running. It also provides the second-level cache. 45. Difference between the save() and saveOrUpdate() methods of Hibernate? Even though the save() and saveOrUpdate() method is used to store an object into Database, the key difference between them is that save() can only Insert records but saveOrUpdate() can either Insert or Update records.   46. Difference between sorted and ordered collection in Hibernate? Sorted collection sorts the data in JVM’s heap memory using Java’s collection framework sorting methods. The ordered collection is sorted using the order by clause in the database itself. Note: A sorted collection is more suited for small datasets but for a large dataset, it’s better to use an ordered collection to avoid   47. What difference between the transient, persistent and detached states in Hibernate? Transient state: New objects are created in the Java program but are not associated with any Hibernate Session. Persistent state: An object which is associated with a Hibernate session is called a Persistent object. While an object which was earlier associated with Hibernate session but currently it’s not associated is known as a detached object. You can call the save() or persist() method to store those objects in the database and bring them into the Persistent state. Detached state: You can re-attach a detached object to Hibernate sessions by calling either update() or saveOrUpdate() method.   48. Difference between managed associations and Hibernate associations? Managed associations:  Relate to container management persistence and are bi-directional. Hibernate Associations: These associations are unidirectional. 49. What are the best practices that Hibernate recommends for persistent classes? All Java classes that will be persisted need a default constructor. All classes should contain an ID in order to allow easy identification of your objects within Hibernate and the database. This property maps to the primary key column of a database table. All attributes that will be persisted should be declared private and have getXXX and setXXX methods defined in the JavaBean style. A central feature of Hibernate, proxies, depends upon the persistent class being either non-final or the implementation of an interface that declares all public methods. All classes that do not extend or implement some specialized classes and interfaces are required by the EJB framework. 50. What are the best practices to follow with Hibernate framework? Always check the primary key field access, if it’s generated at the database layer then you should not have a setter for this. By default hibernate sets the field values directly, without using setters. So if you want Hibernate to use setters, then make sure proper access is defined as @Access(value=AccessType.PROPERTY). If the access type is property, make sure annotations are used with getter methods and not setter methods. Avoid mixing or using annotations on both file and getter methods. Use native SQL query only when it can’t be done using HQL, such as using the database-specific feature. If you have to sort the collection, use the ordered list rather than sorting it using Collection API. Use named queries wisely, and keep them in a single place for easy debugging. Use them for commonly used queries only. For entity-specific queries, you can keep them in the entity bean itself. For web applications, always try to use JNDI DataSource rather than configuring to create a connection in hibernate. Avoid Many-to-Many relationships, it can be easily implemented using bidirectional One-to-Many and Many-to-One relationships. For collections, try to use Lists, maps and sets. Avoid array because you don’t get the benefit of lazy loading. Do not treat exceptions as recoverable, roll back the Transaction and close the Session. If you do not do this, Hibernate cannot guarantee that the in-memory state accurately represents the persistent state. Prefer DAO pattern for exposing the different methods that can be used with entity bean Prefer lazy fetching for associations.  

  • Sumasri Sumasri
What is ChatGPT?
Jan 13, 2023
What is ChatGPT?

ChatGPT is a new AI bot that's worth your attention, even if you're not into artificial intelligence. OpenAI's chatbot gives conversational, but slightly stilted answers to natural language questions when you type them. By using your previous questions and answers, the bot remembers the thread of your dialogue. The answers it provides are based on a vast amount of information on the internet. Now let’s understand what exactly a Chatbot is and Why is ChatGPT is being the talk of the moment.   What is Chatbot? A chatbot is a conversational application that aids in customer service, engagement, and support by replacing human support agents with artificial intelligence (AI) and other automation technologies that can communicate with end-users via chat   What is ChatGPT?   ChatGPT is an AI chatbot system that OpenAI released in November. It's trained to recognize patterns in vast swaths of text harvested from the internet. A study found that 72% of people found chatbots to be a waste of time. Chat GPT uses conversational artificial intelligence to interact with customers, answer their queries, and generate leads. For years, corporations searching for methods to assist consumers to obtain what they need and AI researchers attempting to solve the Turing Test have been interested in chatbots. That's the classic "Imitation Game," created by computer scientist Alan Turing in 1950 as a technique to assess intelligence: Can a human chatting with a human and a machine distinguish which is which? However, chatbots come with a lot of baggage, since firms have tried, with limited success, to replace humans in customer support.   The Company behind ChatGPT Chat GPT– short for the chat-based generative pre-trained transformer, was introduced by Open AI towards the end of November 2022.OpenAI is a non-profit research company that aims to develop and direct artificial intelligence (AI) in ways that benefit humanity as a whole. The company was founded by Elon Musk and Sam Altman in 2015 and is headquartered in San Francisco, California.   How ChatGPT works? Chat GPT is a chatbot powered by artificial intelligence (AI) that is designed to understand human language and answer questions. It works through the use of natural language processing (NLP) technology, which helps it understand a wide variety of human interactions, including text, audio, and video. What sets chat GPT apart from other chatbot technologies is its ability to generate responses in real-time, based on the user’s input. This allows for a more natural and fluid conversation, as the chat GPT can understand and respond to a wide range of questions and statements.   Advantages of ChatGPT One of the main advantages of ChatGPT is its ability to generate human-like responses to a wide range of inputs. This makes it ideal for applications such as chatbots, virtual assistants, and conversation agents. With its advanced language generation capabilities, ChatGPT can hold engaging and informative conversations with users on a variety of topics. Another advantage of ChatGPT is its ability to learn and adapt to new contexts. Unlike some other NLP models, ChatGPT is able to retain information from previous conversations and use it to generate more relevant and personalized responses. This allows it to provide a more natural and intuitive user experience.   Disadvantages  One of the main limitations is that it requires a significant amount of computational power to run, which can make it difficult to deploy in some environments. In addition, because it is a machine-learning model, it is not always able to generate perfect responses and may produce nonsensical or irrelevant output at times. Another potential concern with ChatGPT is its potential impact on privacy. Because it is able to retain and use information from previous conversations, there are potential concerns about how it may be used to collect and store personal data. This is an important issue that developers and users of ChatGPT will need to consider carefully.   Future of ChatGPT By offering customers more than simply links to browse through, it could fundamentally alter how people use search engines by delivering answers to complex problems and problems. It may happen so that in future we may not need search engines such as Google.   Is it a Threat to Google? And why? Google works by crawling billions of web pages, indexing that content, and then ranking it in order of the most relevant answers. It then spits out a list of links to click through. ChatGPT offers something interesting: a single answer based on its own search and synthesis of that information. Chat GPT also gives a single, immediate response that requires no further scanning of other websites. Asking a computer a question and getting an answer is useful, and often ChatGPT delivers the goods. Google often supplies you with its suggested answers to questions and with links to websites that it thinks will be relevant. Often ChatGPT's answers far surpass what Google will suggest, so it's easy to imagine GPT-3 is a rival. But you should think twice before trusting ChatGPT. As with Google itself and other sources of information like Wikipedia, it's best practice to verify information from original sources before relying on it. Vetting the veracity of ChatGPT answers takes some work because it just gives you some raw text with no links or citations. But it can be useful and in some cases thought provoking. You may not see something directly like ChatGPT in Google search results, but Google has built large language models of its own and uses AI extensively already in search.  

  • Sumasri Sumasri
What is UPI? What Should You Do When You Send Money To The Wrong UPI?
Jan 05, 2023
What is UPI? What Should You Do When You Send Money To The Wrong UPI?

Unified Payments Interface (UPI) has transformed the Indian digital payment system. It has been termed a revolutionary product in the payment ecosystem. Launched in 2016, it has emerged as one of the most popular tools in the country for carrying out digital transactions. UPI is an instant payment system developed by the National Payments Corporation of India (NPCI). It powers multiple bank accounts into a single mobile application, merging several banking features, seamless fund routing, and merchant payments into one hood. UPI has gone a long way in making digital payments a habit, and in firmly placing India on the track toward a cashless economy. In the month of August 2022, 346 banks were live on the UPI interface, with 6.58 billion financial transactions being carried out for a total value of nearly Rs. 10.73 lakh crores. People can transfer money directly to bank accounts at any time using their smartphones. While the UPI system is safe and secure, the digital gateway often prompts errors like transactions getting stuck after the money is debited or making people vulnerable to UPI fraud. National Payments Corporation of India (NPCI) allows money transfers between bank accounts using mobile numbers or QR codes. Users can process UPI payments through the BHIM app or other UPI service providers like GPay, PhonePe, and more. However, despite all the security features and instructions, users often ignore double-checking for the receiver's phone number or QR code and mistakenly send money to someone else's bank account.   Here are several methods through which you can raise your dispute for the unintentional transaction through UPI:   Contact customer care support - As per Reserve Bank of India (RBI) guidelines, a user should first report the issue of an unintentional transaction with the payment service provider. One can raise the issue with the customer service department of the GPay, PhonePe, Paytm, or UPI app through which you transferred the money. You can seek help from the customer service of applications such as Paytm, Google Pay, and PhonePe, and request a refund. You can report your problem and request a refund.    File a complaint in the National Payments Corporation of India (NPCI) portal Go to NPCI's official website npci.org.in  Click on the 'What we do' option and then tap on the UPI option underneath  Open select Dispute Redressal Mechanism Under the complaint section, fill in all your ‘transaction details’ which include UPI transaction ID, virtual payment address, the amount transferred, date of transaction, email ID, and mobile number. Select 'Incorrectly transferred to another account as the reason for the complaint. Submit your complaint.   Contact the payment service provider If the complaint is still unresolved you can escalate your complaint with the payment service provider (PSP) bank followed by the bank where the end-user customer maintains its account.    Banking ombudsman If even after following all the above processes the complaint remains unresolved, then after 30 days you (the end-user customer) can approach the Banking Ombudsman and/or the Ombudsman for Digital Complaints. According to the RBI, one can file a complaint with the Ombudsman by writing on plain paper and sending it to the concerned office of the Ombudsman by post/fax/hand delivery. A complaint form along with the scheme is also available on RBI’s website, though it is not mandatory to use that format.   As per RBI guidelines, the ombudsman for digital transactions is a senior official appointed by it to redress customer complaints against System Participants as defined in the Scheme for deficiency in certain services covered under the grounds of complaint specified under Clause 8 of the Scheme.   Under this, complainants can file their queries after the payment system or PSP banks fail to resolve the issue related to payment transactions through UPI, Bharat QR code, and others. They can site grounds such as failure to credit funds to the beneficiaries account or failure to return the amount within a reasonable time. The Payment Vision 2025 of RBI observes providing every user with safe, secure, fast, convenient, accessible, and affordable e-payment options under its core theme of 4Es- E-payments for Everyone, Everywhere, Every time. India's Digital Payment Revolution is a case study for the world as it strides forward toward economic development and financial stability. With specific initiatives and goals laid down, the RBI has built a dynamic ecosystem, based on technology and innovation, and its emphasis on customer-centricity.

  • Sumasri Sumasri
Data Science Interview Questions with Answer
Dec 23, 2022
Data Science Interview Questions with Answer

1. What is Data Science? Data Science is the area of study which involves extracting insights from vast amounts of data using various scientific methods, algorithms, and processes. It helps you to discover hidden patterns in the raw data. The term Data Science has emerged because of the evolution of mathematical statistics, data analysis, and big data. 2. What is the Difference Between Data Science and Machine Learning? Data Science is a combination of algorithms, tools, and machine learning techniques which helps you to find common hidden patterns from the given raw data. Whereas Machine learning is a branch of computer science, that deals with system programming to automatically learn and improve with experience. 3. Name three types of biases that can occur during sampling In the sampling process, there are three types of biases, which are:     Selection bias     Under coverage bias     Survivorship bias   4. Discuss the Decision Tree algorithm A decision tree is a popular supervised machine learning algorithm. It is mainly used for Regression and Classification. It allows breaks down a dataset into smaller subsets. The decision tree can able to handle both categorical and numerical data.   5. What are Prior probability and likelihood? Prior probability is the proportion of the dependent variable in the data set while the likelihood is the probability of classifying a given observant in the presence of some other variable.   6. Explain Recommender Systems? It is a subclass of information filtering techniques. It helps you to predict the preferences or ratings that users are likely to give to a product.   7. Name three disadvantages of using a linear model Three disadvantages of the linear model are:     The assumption of linearity of the errors.     You can’t use this model for binary or count outcomes     There are plenty of overfitting problems that it can’t solve   8. Why do you need to perform resampling? Resampling is done in the below-given cases:     Estimating the accuracy of sample statistics by drawing randomly with replacements from a set of the data point or using as subsets of accessible data     Substituting labels on data points when performing necessary tests     Validating models by using random subsets   9. List out the libraries in Python used for Data Analysis and Scientific Computations.     SciPy     Pandas     Matplotlib     NumPy     SciKit     Seaborn   10. What is Power Analysis? The power analysis is an integral part of the experimental design. It helps you to determine the sample size required to find out the effect of a given size from a cause with a specific level of assurance. It also allows you to deploy a particular probability in a sample size constraint. 11. Explain Collaborative filtering Collaborative filtering is used to search for correct patterns by collaborating viewpoints, multiple data sources, and various agents. 12. What is bias? Bias is an error introduced in your model because of the oversimplification of a machine learning algorithm.” It can lead to underfitting. 13. Discuss ‘Naive’ in a Naive Bayes algorithm? The Naive Bayes Algorithm model is based on the Bayes Theorem. It describes the probability of an event. It is based on prior knowledge of conditions which might be related to that specific event. 14. What is a Linear Regression? Linear regression is a statistical programming method where the score of a variable ‘A’ is predicted from the score of a second variable ‘B’. B is referred to as the predictor variable and A as the criterion variable. 15. State the difference between the expected value and mean value They are not many differences, but both of these terms are used in different contexts. Mean value is generally referred to when you are discussing a probability distribution whereas expected value is referred to in the context of a random variable. 16. What is the aim of conducting A/B Testing? AB testing is used to conduct random experiments with two variables, A and B. The goal of this testing method is to find out changes to a web page to maximize or increase the outcome of a strategy. 17. What is Ensemble Learning? The ensemble is a method of combining a diverse set of learners together to improvise on the stability and predictive power of the model. Two types of Ensemble learning methods are: Bagging The bagging method helps you to implement similar learners on small sample populations. It helps you to make nearer predictions. Boosting Boosting is an iterative method which allows you to adjust the weight of an observation depending on the last classification. Boosting decreases the bias error and helps you to build strong predictive models.   18. Explain Eigenvalue and Eigenvector Eigenvectors are for understanding linear transformations. Data scientists need to calculate the eigenvectors for a covariance matrix or correlation. Eigenvalues are the directions along using specific linear transformation acts by compressing, flipping, or stretching. 19. Define the term cross-validation Cross-validation is a validation technique for evaluating how the outcomes of statistical analysis will generalize for an Independent dataset. This method is used in backgrounds where the objective is forecast, and one needs to estimate how accurately a model will accomplish. 20. Explain the steps for a Data analytics project The following are important steps involved in an analytics project:     Understand the Business problem     Explore the data and study it carefully.     Prepare the data for modelling by finding missing values and transforming variables.     Start running the model and analyze the Big data result.     Validate the model with new data set.     Implement the model and track the result to analyze the performance of the model for a specific period.   21. Discuss Artificial Neural Networks Artificial Neural networks (ANN) are a special set of algorithms that have revolutionized machine learning. It helps you to adapt according to changing input. So the network generates the best possible result without redesigning the output criteria. 22. What is Back Propagation? Backpropagation is the essence of neural net training. It is the method of tuning the weights of a neural net depending on the error rate obtained in the previous epoch. Proper tuning helps you to reduce error rates and to make the model reliable by increasing its generalization. 23. What is a Random Forest? Random forest is a machine learning method which helps you to perform all types of regression and classification tasks. It is also used for treating missing values and outlier values. 24. What is the importance of having a selection bias? Selection Bias occurs when there is no specific randomization achieved while picking individuals or groups or data to be analyzed. It suggests that the given sample does not exactly represent the population which was intended to be analyzed. 25. What is the K-means clustering method? K-means clustering is an important unsupervised learning method. It is the technique of classifying data using a certain set of clusters which is called K clusters. It is deployed for grouping to find out the similarity in the data. 26. Explain the difference between Data Science and Data Analytics Data Scientists need to slice data to extract valuable insights that a data analyst can apply to real-world business scenarios. The main difference between the two is that data scientists have more technical knowledge than business analysts. Moreover, they don’t need an understanding of the business required for data visualization. 27. Explain the p-value? When you conduct a hypothesis test in statistics, a p-value allows you to determine the strength of your results. It is a numerical number between 0 and 1. Based on the value it will help you to denote the strength of the specific result. 28. Define the term deep learning Deep Learning is a subtype of machine learning. It is concerned with algorithms inspired by the structure called artificial neural networks (ANN). 29. Explain the method to collect and analyze data to use social media to predict the weather condition. You can collect social media data using Facebook, Twitter, and Instagram’s API’s. For example, for the tweeter, we can construct a feature from each tweet like tweeted date, retweets, list of followers, etc. Then you can use a multivariate time series model to predict the weather condition. 30. When do you need to update the algorithm in Data science? You need to update an algorithm in the following situation:     You want your data model to evolve as data streams using infrastructure     The underlying data source is changing it is non-stationarity   31. What is Normal Distribution A normal distribution is a set of continuous variables spread across a standard curve or in the shape of a bell curve. You can consider it a continuous probability distribution useful in statistics. It is useful to analyze the variables and their relationships when we are using the normal distribution curve. 32. Which language is best for text analytics? R or Python? Python will more suitable for text analytics as it consists of a rich library known as pandas. It allows you to use high-level data analysis tools and data structures, while R doesn’t offer this feature. 33. Explain the benefits of using statistics by Data Scientists Statistics help Data scientists to get a better idea of customers’ expectations. Using the statistical method Data Scientists can get knowledge regarding consumer interest, behaviour, engagement, retention, etc. It also helps you to build powerful data models to validate certain inferences and predictions. 34. Name various types of Deep Learning Frameworks     Pytorch     Microsoft Cognitive Toolkit     TensorFlow     Caffe     Chainer     Keras   35. Explain Auto-Encoder Autoencoders are learning networks. It helps you to transform inputs into outputs with fewer numbers of errors. This means that you will get output to be as close to the input as possible. 36. Define Boltzmann Machine Boltzmann machines are simple learning algorithms. It helps you to discover those features that represent complex regularities in the training data. This algorithm allows you to optimize the weights and the quantity for the given problem. 37. Explain why Data Cleansing is essential and which method you use to maintain clean data Dirty data often leads to the incorrect inside, which can damage the prospect of any organization. For example, if you want to run a targeted marketing campaign. However, if our data incorrectly tell you that a specific product will be in-demand with your target audience; the campaign will fail.   38. What are skewed Distribution & uniform distribution? Skewed distribution occurs when data is distributed on any one side of the plot whereas uniform distribution is identified when the data spread is equal in the range. 39. When underfitting occurs in a static model? Underfitting occurs when a statistical model or machine learning algorithm is not able to capture the underlying trend of the data. 40. What is reinforcement learning? Reinforcement Learning is a learning mechanism about how to map situations to actions. The end result should help you to increase the binary reward signal. In this method, a learner is not told which action to take but instead must discover which action offers a maximum reward. This method is based on the reward/penalty mechanism.   41. Name commonly used algorithms. The four most commonly used algorithms by Data scientists are:     Linear regression     Logistic regression     Random Forest     KNN   42. What is precision? Precision is the most commonly used error metric in the n classification mechanism. Its range is from 0 to 1, where 1 represents 100% 43. What is a univariate analysis? An analysis which is applied to no attribute at a time is known as a univariate analysis. Boxplot is a widely used, univariate model. 44. How do you overcome challenges to your findings? In order, to overcome the challenges of my finding one need to encourage discussion, Demonstrate leadership and respect different options. 45. Explain cluster sampling technique in Data Science A cluster sampling method is used when it is challenging to study the target population spread across, and simple random sampling can’t be applied. 46. State the difference between a Validation Set and a Test Set A Validation set is mostly considered a part of the training set as it is used for parameter selection which helps you to avoid overfitting of the model being built. While a Test Set is used for testing or evaluating the performance of a trained machine-learning model. 47. Explain the term Binomial Probability Formula? “The binomial distribution contains the probabilities of every possible success on N trials for independent events that have a probability of π of occurring.”   48. What is a recall? A recall is a ratio of the true positive rate against the actual positive rate. It ranges from 0 to 1. 49. Discuss normal distribution The normal distribution is equally distributed as such the mean, median and mode are equal. 50. While working on a data set, how can you select important variables? Explain Following methods of variable selection you can use:     Remove the correlated variables before selecting important variables     Use linear regression and select variables which depend on that p values.     Use Backward, Forward Selection, and Stepwise Selection     Use Xgboost, Random Forest, and plot variable importance chart.     Measure information gained for the given set of features and select the top n features accordingly.   51. Is it possible to capture the correlation between continuous and categorical variables? Yes, we can use analysis of the covariance technique to capture the association between continuous and categorical variables. 52. Treating a categorical variable as a continuous variable would result in a better predictive model? Yes, the categorical value should be considered as a continuous variable only when the variable is ordinal in nature. So it is a better predictive model.  

  • Sumasri Sumasri
Anandam Senapathi Scholarship 2022 From SRK Pratiksha Trust
Dec 21, 2022
Anandam Senapathi Scholarship 2022 From SRK Pratiksha Trust

About Anandam Senapathi Scholarship 2022 from SRK Pratiksha Trust Scholarship amount: For Engineering students maximum of Rs. 54000 / year for the duration of the course and for MBBS Students maximum Rs. 60000 / year for the duration of the course   Who Can Apply: First-year MBBS / Engineering students from Kerala with annual income less than Rs. 3 Lakhs   Academics: Should have scored at least 80% for the Plus 2 examination and a good rank for NEET/KEAM exam Rules, Regulations and Conditions for Receiving Scholarship   1. Students who have passed Plus 2 from Kerala and obtained admission to Medicine and Engineering in the academic year 2022-23. (Note: Medical Students shall apply once their MBBS allotments are published / admissions have started.) 2. The scholarship amount for engineering is a maximum of Rs 54000/year for four years and M.B.B.S.is 60000/year for 4.5 years. The exact amount will be determined by the fees paid and the merit of the student. 3. The candidate should have scored above 80% in the Plus 2 examination and a good score in KEAM/JEE/NEET exam. 4. The candidate should be from families with an income below Rs. Three lakhs per annum. 5. The following documents are mandatory while applying: a. Photograph b. College Admission Receipt c. Plus Two Marksheet d. Entrance Test Rank Sheet for NEET, KEAM, JEE etc. ( NEET: Specify only the All-India Rank ) e. Income certificate from the Village Officer / Tahsildar. BPL Ration card to be included in case of BPL students. 6. SRK Pratiksha will shortlist the applications based on academic performance and the information provided in the application form. The shortlisted candidates will be invited for an interview. Not all candidates will be called for an interview. An online interview will be scheduled for shortlisted candidates. 7. The scholarship will be terminated if the Candidate does not fare well in their studies. 8. Amount will be given to the selected candidate by NEFT to his / her Bank Account. 9. The total amount received by the candidate should be repaid as monthly instalments or lump sum payments without interest once the candidate is employed. The student should commit to the education of another student recommended by the Trust once they are gainfully employed. The candidate should give a bond of Rs. 100/- Non-Judicial Stamp Paper to this effect. 10. The Ashrama will be able to give the candidate the specified amount only if the sponsorship is continued by Pratiksha Trust. Failure on our side in such a condition should not be sued in a court of law or questioned by the candidate. In short, the undertaking of this institution will be conditional. 11. The Ashrama will have full power to withdraw or cancel the scholarship given to any candidate if he/she is found discontinuing his / her studies or not fairing well in examinations or failing in examinations or not observing the rules and regulations.   Last date to apply 31st December 2022   Contact Information: For more details email to [email protected] or call 7907960430 between 10a.m. to 5 p.m. on working days. For more details and online application refer the Official Publisher

  • Sumasri Sumasri
HTML Interview Questions With Answer
Dec 16, 2022
HTML Interview Questions With Answer

Q1. What is HTML? HTML stands for Hyper Text Markup Language. It is a language of the World Wide Web. It is a standard text formatting language which is used to create and display pages on the Web. HTML makes the text more interactive and dynamic. It can turn text into images, tables, links. HTML pages are saved by adding .html or .html in web page name. Q2. What is the difference between HTML elements and tags? Elements   The element is an individual component of the HTML web page or document. It represents semantics or meaning. For example, the title element represents the title of the document. Tags             It is the root of the HTML document which is used to specify that the document is HTML. For example, the Head tag is used to contain all the head element in the HTML file.   Q3. What are Attributes and how do you use them? Each tag has additional attributes that change the way the tag behaves or is displayed. For example, a tag has a type attribute, which you can use to specify whether it’s a text field, checkbox, radio button or one of many more options. Attributes are specified directly after the name of the tag, inside the two angled brackets. They should only ever appear in opening tags or in self-closing tags. But, they can never be in closing tags.        Q4. What is the difference between a block-level element and an inline element? Block     A block-level element is drawn as a block that stretches to fill the full width available to it i.e, the width of its container and will always start on a new line. Elements that are block-level by default: , ,, ,.   Inline Inline elements are drawn where they are defined and only take up space that is absolutely needed. The easiest way to understand how they work is to look at how text flows on a page. Examples of elements that are inline by default: , , , , .         Q5. When are comments used in HTML? To understand the code easily, you can add code comments to your HTML document. These are not displayed in the browser, but they help you in leaving notes for yourself and other developers as to what a section of HTML is for. The start of the comment is denoted by . Anything in the middle will be completely ignored, even if it contains valid HTML. For example:   Q6. What are the HTML tags used to display the data in the tabular form? The list of HTML tags used to display data in the tabular form include: Tag                Description           It defines a table                 This tag defines a row in a table      It specifies a group of one or more columns in a table for formatting                This is used with element to specify column properties for each column            This tag is used to group the body content in a table.            It is used to group the header content in a table           It is used to group the footer content in a table   Q7. How to create a Hyperlink in HTML? The HTML provides an anchor tag to create a hyperlink that links one page to another page. These tags can appear in any of the following ways: •    Unvisited link – It is displayed, underlined and blue. •    Visited link – It is displayed, underlined and purple. •    Active link – It is displayed, underlined and red. The syntax of Hyperlink in HTML is: Link Text Q8. Name some common lists that are used when designing a page. There are many common lists used for design a page. You can choose any or a combination of the following list types: Ordered list – The ordered list displays elements in a numbered format. It is represented by tag. Unordered list – The unordered list displays elements in a bulleted format. It is represented by tag. Definition list – The definition list displays elements in definition form like in a dictionary. The , and tags are used to define description list.     Q9. What is semantic HTML? Semantic HTML is a coding style. It is the use of HTML markup to reinforce the semantics or meaning of the content. For example: In semantic HTML tag is not used for bold statement as well as tag is used for italic. Instead of these we use and tags.   Q10. How to create a nested webpage in HTML? The HTML iframe tag is used to display a nested webpage. In other words, it represents a webpage within a webpage. The HTMLtag defines an inline frame. For example: " height="300" width="400">         Q11. What is an image map? An image map is used for linking many different web pages using a single image. It is represented bytag. You can define shapes in images that you want to include as part of an image mapping.       Q12. Does a hyperlink only apply to text? No, hyperlinks can be used both on texts and images. The HTML anchor tag defines a hyperlink that links one page to another page. The “href” attribute is the most important attribute of the HTML anchor tag. Syntax:      Link Text       Q13. What is a Style Sheet? A style sheet is used to build a consistent, transportable, and well-designed style template. You can add these templates on several different web pages. It describes the look and formatting of a document written in the markup language.       Q14. Explain the layout of HTML. HTML layout specifies a way in which the web page is arranged. Every website has a specific layout to display content in a specific manner. Following are different HTML elements which are used to define the different parts of a webpage:   •     : It is used to define a header for a document or a section. •    : This defines a container for navigation links •    : It is used to define a section in a document •    : This is used to define an independent, self-contained article •    : It is used to define content aside from the content •    : It is used to define a footer for a document or a section         Q15. What is a marquee? Marquee is used for the scrolling text on a web page. It scrolls the image or text up, down, left or right automatically. You should put the text which you want to scroll within the …… tag.       Q16. What are the tags used to separate a section of texts? There are three tags that can be used to separate the texts: •     tag – Usually tag is used to separate the line of text. It breaks the current line and conveys the flow to the next line •     tag – This contains the text in the form of a new paragraph. •     tag – It is used to define a large quoted section. If you have a large quotation, then put the entire text within ………. tag.         Q17. What is the difference between DIV and SPAN in HTML? The difference between span and div is that a span element is in-line and usually used for a small chunk of HTML inside a line,such as inside a paragraph. Whereas, a div or division element is block-line which is equivalent to having a line-break before and after it and used to group larger chunks of code. Example: This is interview              Q18. What is the purpose of using alternative texts in images? The purpose of using alternative texts is to define what the image is about. During an image mapping, it can be confusing and difficult to understand what hotspots correspond to a particular link. These alternative texts come in action here and put a description at each link which makes it easy for users to understand the hotspot links easily.       Q19. How to create a new HTML element? You can create new elements for the document in the following way:     It can be also be used in the HTML as:  hello edureka!       Q20. Is the tag considered as a HTML tag? No, the declaration is not an HTML tag. There are many type of HTML, such as, HTML 4.01 Strict, HTML 4.01 Transitional, HTML 4.01 Frameset, XHTML 1.0 Strict, XHTML 1.0 Transitional, XHTML 1.0 Frameset, XHTML 1.1 etc. So, is used to instruct the web browser about the HTML page.       Q21. Why is a URL encoded in HTML? An URL is encoded to convert non-ASCII characters into a format that can be used over the Internet because a URL is sent over the Internet by using the ASCII character-set only. If a URL contains characters outside the ASCII set, the URL has to be converted. The non-ASCII characters are replaced with a “%” followed by hexadecimal digits.       Q22. What is the use of an iframe tag? An iframe is used to display a web page within a web page. Syntax:     Example:   Target to a link:   http://www.itbots.com" name="iframe_a">       Q23. What are the entities in HTML? The HTML character entities are used as a replacement for reserved characters in HTML. You can also replace characters that are not present on your keyboard by entities. These characters are replaced because some characters are reserved in HTML.       Q24. Can you create a multi-colored text on a web page? Yes, we can create a multi-colored text on a web page.  To create a multicolor text, you can use for the specific texts that you want to color.       Q25. How to make a picture of a background image of a web page? To make a picture a background image on a web page, you should put the following tag code after the tag.     Here, replace the “image.gif” with the name of your image file which you want to display on your web page.   Q26. What is the use of a span tag? Explain with example. The span tag is used for following things: •    For adding color on text •    To add background on text •    Highlight any color text Example:   In this page we use span.   Q27. What is the advantage of collapsing white space? White spaces are a blank sequence of space characters, which is treated as a single space character in HTML. Because the browser collapses multiple spaces into a single space, you can indent lines of text without worrying about multiple spaces. This enables you to organize the HTML code into a much more readable format.   Q28. Is there any way to keep list elements straight in an HTML file? By using indents, you can keep the list elements straight. If you indent each sub nested list in further than the parent list, you can easily determine the various lists and the elements that it contains.   Q29. Explain The Key Differences Between LocalStorage And SessionStorage Objects. The key differences between localStorage and sessionStorage objects are as follows: •    The localStorage object stores the data without an expiry date. However, sessionStorage object stores the data for only one session. •    In the case of a localStorage object, data will not delete when the browser window closes.  However, the data gets deleted if the browser window closes, in the case of sessionStorage objects. •    The data in sessionStorage is accessible only in the current window of the browser. But, the data in the localStorage can be shared between multiple windows of the browser.   Q30. When is it appropriate to use frames? Frames can make navigating a site much easier. If the main links to the site are located in a frame that appears at the top or along the edge of the browser, the content for those links can be displayed in the remainder of the browser window.   Q31. How to insert a picture into a background image of a web page? To insert a picture into the background image, you need to place a tag code after the tag in the following way:   Now, replace image.gif with the name of your image file. This will take the picture and make it the background image of your web page.     Q32. What happens if you open the external CSS file in a browser? When you try to open the external CSS file in a browser, the browser cannot open the file, because the file has a different extension. The only way to use an external CSS file is to reference it using tag within another HTML document.   Q33. What is the hierarchy that is being followed when it comes to style sheets? If a single selector includes three different style definitions, the definition that is closest to the actual tag takes precedence. Inline style takes priority over embedded style sheets, which takes priority over external style sheets.     Q34. How do you create text on a webpage that allows you to send an email when clicked? To change the text into a clickable link to send an email, you need to use the mailto command within the href tag. You can write it in the following way: text to be clicked Q35. How are active links different from normal links? The default color for normal and active links is blue. Some browsers recognize an active link when the mouse cursor is placed over that link. Whereas, others recognize active links when the link has the focus. Those that don’t have a mouse cursor over that link is considered a normal link.   Q36. What are the different tags to separate sections of text? The tag is one way to separate the lines of text. There are other tags like the tag and tag that are also used to separate sections of text.         Q37. Are there instances where the text will appear outside of the browser? By default, the text is wrapped to appear within the browser window. However, if the text is part of a table cell with a defined width, the text could extend beyond the browser window.   Q38. Write an HTML table tag sequence that outputs the following: 50 pcs 100 500 10 pcs 5 50 The HTML Code for the above problem is:                    It defines a header cell in a table                This is used to define a cell in a table        It defines the table caption                       50 pcs 100 500 10 pcs 5 50                            Q39. What is the advantage of grouping several checkboxes together? The checkboxes don’t affect one another. But, grouping these checkboxes together help to organize them. Checkbox buttons can have their name and do not need to belong to a group. A single web page can have many different groups of checkboxes.   Q40. What happens if there is no text between the tags? Does this affect the display of the HTML file? If there is no text present between the tags, there is nothing to format. Therefore, no formatting will appear. Some tags, such as the tags without a closing tag like the tag, do not require any text between them.   Q41. What are the limits of the text field size? The default size for a text field is around 13 characters. However, if you include the size attribute, you can set the size value to be as low as 1. The maximum size value will be determined by the browser width. Also, if the size attribute is set to 0, the size will be set to the default size of 13 characters.   Q42. What is the relationship between the border and rule attributes? Default cell borders, with a thickness of 1 pixel, are automatically added between cells if the border attribute is set to a nonzero value. Similarly, If the border attribute is not included, a default 1-pixel border appears when the rules attribute is added to the tag.     Q43. What is SVG? HTML SVG is used to describe the two-dimensional vector and vector or raster graphics. SVG images and their behaviors are defined in XML text files. So as XML files, you can create and edit an SVG image with the text editor. It is mostly used for vector type diagrams like pie charts, 2-Dimensional graphs in an X, Y coordinate system.          Q44. What is button tag? The button tag is used in HTML 5. It is used to create a clickable button within the HTML form on the web page. This tag creates a “submit” or “reset” button. The button tag code is as follows:  Click Here   Q45. List the media types and formats supported by HTML. HTML supports a wide range of media formats for sound, music, videos, movies, and animations. Some of the extensions supported by each media format are: •    Images– png, jpg, jpeg, gif, apng, svg, bmp, BMP ico, png ico •    Audio– MIDI, RealAudio, WMA, AAC, WAV, Ogg, MP3, MP4 •    Video– MPEG, AVI, WMV, QuickTime, RealVideo, Flash, Ogg, WebM, MPEG-4 or MP4   Q46. What is Cell Spacing and Cell Padding? Cell Spacing is referred to as the space or gap between the two cells of the same table. Whereas, Cell Padding is referred to as the gap or space between the content of the cell and cell wall or cell border. Example:                    Q47. What is difference between HTML and XHTML? The differences between HTML and XHTML are: •    HTML is an application of Standard Generalized Markup Language. Whereas, XML is an application of Extensible Markup Language. •    The first one is a static Web Page whereas the later one is a dynamic Web Page. •    HTML allows programmer to perform changes in the tags and use attribute minimization whereas XHTML when user need a new markup tag then user can define it in this. •    HTML is about displaying information whereas XHTML is about describing the information.   Q48. How many types of CSS can be included in HTML? There are three ways to include the CSS with HTML: Inline CSS: It is used for styling small contexts. To use inline styles add the style attribute in the relevant tag. External Style Sheet: This is used when the style is applied to many pages. Each page must link to the style sheet using the tag. The tag goes inside the head section.            Internal Style Sheet: It is used when a single document has a unique style. Internal styles sheet needs to put in the head section of an HTML page, by using the        Q49. What are logical and physical tags in HTML? Logical tags are used to tell the meaning of the enclosed text. The example of the logical tag is tag. When we enclose the text in the strong tag, it tells the browser that enclosed text is more important than other texts. Physical tags are used to tell the browser how to display the text enclosed in the physical tag. Some of the examples of physical tags are , , .   Q50. How can you apply JavaScript to a web page? In order to make your webpage more interactive, you need JavaScript. It is a scripting language that allows you to interact with certain elements on the page, based on user input. As with CSS, there are three main ways of including JavaScript: Inline Certain HTML elements allow you to execute a piece of JavaScript when a certain event occurs. For example, a button allows you to run a script when you click on it. These events are accessed through attributes and differ based on the events that are available on each element. Here is an example that shows an alert with a message when the user clicks on it:  Click me! Script block You can define a script block anywhere on the page, which will get executed as soon as the browser reaches that part of the document. This can be inside the orsection of your document.                     

  • Sumasri Sumasri
Anandam Senapathi Scholarship 2022 From SRK Pratiksha Trust
Dec 08, 2022
Anandam Senapathi Scholarship 2022 From SRK Pratiksha Trust

About Anandam Senapathi Scholarship 2022 from SRK Pratiksha Trust   Scholarship amount: For Engineering students maximum Rs. 54000 / year for the duration of the course and for MBBS Students maximum Rs. 60000 / year for the duration of the cour   Who Can Apply: First year MBBS / Engineering students from Kerala with annual income less than Rs. 3 Lakhs   Academics: Should have scored at least 80% for Plus 2 examination and a good rank for NEET/KEAM exam Rules, Regulations and Conditions for Receiving Scholarship   1. Students who have passed Plus 2 from Kerala and obtained admission to Medicine and Engineering in the academic year 2022-23. (Note: Medical Students shall apply once their MBBS allotments are published / admissions have started.) 2. The scholarship amount for engineering is a maximum of Rs 54000/year for four years and M.B.B.S.is 60000/year for 4.5 years. The exact amount will be determined by the fees paid and the merit of the student. 3. The candidate should have scored above 80% in the Plus 2 examination and a good score in KEAM/JEE/NEET exam. 4. The candidate should be from families with income below Rs. Three lakhs per annum. 5. The following documents are mandatory while applying: a. Photograph b. College Admission Receipt c. Plus Two Marksheet d. Entrance Test Rank Sheet for NEET, KEAM, JEE etc. ( NEET: Specify only the All-India Rank ) e. Income certificate from the Village Officer / Tahsildar. BPL Ration card to be included in case of BPL students. 6. SRK Pratiksha will shortlist the applications based on the academic performance and the information provided in the application form. The shortlisted candidates will be invited for an interview. Not all candidates will be called for interview. An online interview will be scheduled for shortlisted candidates. 7. The scholarship will be terminated if the Candidate does not fair well in studies. 8. Amount will be given to the selected candidate by NEFT to his / her Bank Account. 9. The total amount received by the candidate should be repaid as monthly installments or lumpsum payment without interest once the candidate is employed. The student should commit to the education to another student recommended by the Trust once they are gainfully employed. The candidate should give a bond on Rs. 100/- Non-Judicial Stamp Paper to this effect. 10. The Ashrama will be able to give the candidate the specified amount only if the sponsorship is continued by Pratiksha Trust. Failure on our side in such a condition should not be sued in the court of law or questioned by the candidate. In short, the undertaking of this institution will be conditional. 11. The Ashrama will have full power to withdraw or cancel the scholarship given to any candidate if he / she is found discontinuing his / her studies or not fairing well in examinations or failure in examinations or not observing the rules and regulations.   Last date to apply Last date to apply 31st December 2022   Contact Information: For more details email [email protected] or call 7907960430 between 10 a.m. to 5 p.m. on working days. For more details and online application refer to the Official Publisher  

  • Sumasri Sumasri
All you need to know about the Gig Economy 
Dec 02, 2022
All you need to know about the Gig Economy 

What is the “Gig Economy”? A gig economy is a free market system in which temporary positions are common and organisations hire independent workers for short-term commitments. Gig apps and digital technology are often used to connect customers and gig workers. The term "gig" is a slang word for a job that lasts a specified period. Traditionally, the term was used by musicians to define performance engagement. Why is the Gig Economy getting increasingly popular? Many working professionals leave behind the security of their 9-to-5 work for the flexibility offered by the gig economy. It is seen that the number of people taking up gig work has gone up in the past decade. Gig jobs might not be a new concept, but they have become more popular among the younger generation over the years.   India and the Gig Economy According to the India Staffing Federation study (2019), India is the world's fifth-largest Flexi-staffing market, trailing only the United States, China, Brazil, and Japan. According to Boston Consulting Group research, nearly 15 million employees in India are working as gig workers across industries. The figure is expected to climb by more than 24 million in the short term and by 90 million in the long run.   Which companies use the Gig Economy? Uber and Lyft After a disappointing 2020 in which customers spent more time at home, Uber and Lyft are both positioned for further growth in US carpooling revenues. Uber will recover more rapidly since it is starting from a better foundation and is supported by its restaurant delivery business. Lyft will have to work harder to attract new customers and maintain existing ones because its reach is limited to transportation. Companies investing in gig work platforms and procedures demonstrate how important talent is for allowing their next level of growth, particularly in light of global uncertainty. According to the research, 46% of firms polled want to raise the share of gig employees from current levels. “Businesses that prioritise gig workers in their business strategies will thrive in 2023 and beyond," said Sashi Kumar, head of sales at Indeed India. DoorDash DoorDash was once again the most downloaded food and beverage app in the United States in 2021. Although its downloads were down, its US restaurant sales increased by 43.5% last year. DoorDash not only focuses on big cities but also on suburbs and smaller urban areas.   Pros 1. Self-sufficiency In the gig economy, independent contractors are not obligated to work in workplaces; instead, they operate in their own locations. It varies from someone working from home writing articles to someone driving for Uber from their car. 2. Adaptability Workers in the gig economy are free to work whatever hours they want. In most circumstances, a job will be assigned to a worker with a deadline, but when they work on it is entirely up to their discretion. 3. Earnings As previously said, the gig economy is becoming an increasingly appealing industry owing to the sheer flexibility that allows individuals to make additional revenue.   Cons While the gig economy has several benefits, it also has certain drawbacks that make the process tough. 1. Employee Commitment Individuals who work as freelancers may not be as involved in their organisation as those who are recruited on a full-time basis. Furthermore, gig economy businesses are not recognised for incentivizing their employees. Such an arrangement can cause challenges with loyalty, lessen the possibility of future work, and reduce the overall incentive to work. 2. Ethical Concerns In certain circumstances, firms that participate in the gig economy are chastised for their ethical behaviour. Their work is temporary, without benefits, and does not provide a competitive rate.   The following are the drawbacks experienced by employees in the Gig Economy: 1. Absence of Benefits Organisations in the gig economy do not offer perks to their employees. Independent contractors are not regarded as "employees" of the company. 2. Individual Expenses In certain circumstances, gig economy firms are not obligated to reimburse personal expenditures such as petrol used when driving for DoorDash. 3. Isolation Being an independent contractor is a very self-sufficient job. For some, the arrangement is a huge motivator, but for others, it can generate a sense of isolation, which can have a bad impact on output and mental health.   Top in-demand tech skills for the gig economy in 2022 Whether it has more advantages or disadvantages is something yet to be fully explored. But the gig economy is here to stay. Thus, it becomes important to prepare the future workforce for this growing economy.  The first and foremost requirement is to teach students the basic skills to work independently. Many of such skills can be: how to create a business entity entirely, how to manage a small pack office, how to negotiate prices and consulting contracts and how to develop and execute a marketing and branding strategy. These basic skills needed to be reframed to equip students to work efficiently in a gig economy. As the gig economy offers a variety of work domains, the technical skills required for working independently cannot be specified.    Some of the skills are: AI & Machine Learning Data Analytics & Data Science Business Analytics Software Development(Programming) Project Management    

  • Sumasri Sumasri
Malayalee Engineers Association – MEA Scholarships 2022 For Students From Kerala
Nov 30, 2022
Malayalee Engineers Association – MEA Scholarships 2022 For Students From Kerala

About Malayalee Engineers Association – MEA Scholarships 2022 For Students From Kerala Malayalee Engineers’ Association (MEA) of Houston, Texas, USA is inviting applications for scholarships from first year students of Kerala origin, enrolled for at least a 4-year degree course in Engineering, Technology, Computer Science, Architecture or Naval Architecture, in a nationally accredited engineering college or university in India. The scholarship will be awarded on the basis of academic merit and financial needs. Students who have met all of the three (3) criteria provided below may only need to apply.   (1) Annual family income less than Rs.1,50,000 per year, (2a) Ranked higher than 5000 (1 to 5000) in the Govt. of Kerala Engineering Entrance Examination (KEAM Rank). OR (2b) National Aptitude Test in Architecture (NATA) score greater than 110 (For B. Arch students) (3) Scored above 85% marks in Class X and XII examinations   MEA Houston has been awarding scholarships every year since 2000. Students selected for MEA scholarships will be awarded an amount of $600 per year for four / five years, subject to academic performance. Last date for receipt of applications by MEA is December 08, 2022 Applicants have to submit few documents like mark lists, KEAM Rank Sheet, Income Certificate issued by Tahsildar / Village Officer, Recommendation Letter etc. as described in Information for Applicants Please write to ‘meahouston.2022scholarship(at)gmail.com’ in case of difficulty in getting any of the documents. The requests will be viewed in a favorable light considering the ongoing pandemic.   MEA Scholarship Brochure   For more details refer the Official Publisher 

  • Sumasri Sumasri
Digital Tax
Nov 24, 2022
Digital Tax

Did you know that amidst the Covid-19 pandemic that resulted in several businesses moving from in-person meetings to digital interactions, the Government of India has introduced Digital Tax via Finance Act, 2020? Amidst all the gloom and doom of the Pandemic, the introduction of Digital Tax in India is being hailed by many as a welcoming move.   Direct and Indirect Tax Tax in India can be segregated into; Direct and Indirect tax. Direct tax refers to the type of tax where the burden of tax can’t be transferred to another person or entity. It is the type of tax where the individual or an entity on which such tax is levied, will alone be liable to make payment of the same to the appropriate authority. Direct tax is usually levied on a person’s or an organisation’s income or profits. Income Tax is one of the best examples of Direct tax; it is the tax levied on the income of an individual or organisation, earned during a particular financial year. The amount payable under Direct tax may vary from one person to another on the basis of his or her income or profits. Indirect tax on the other hand is one, where the burden of the tax is transferable. Indirect tax is levied upon goods and services and is usually payable by the end consumers. The Goods and Service Tax is a classic example of indirect tax. The amount of tax levied under Indirect tax is constant with respect to the products or services on which they’re levied.   Digital Tax In keeping with the rapid digitisation of the world, most developed countries in the world are increasingly bringing into effect a form of tax, most commonly known as ‘Digital Tax’. Digital Tax refers to the tax levied on digital goods or services or digital business activities. Digital goods refer to products or services that rely upon the internet to function and have minimal human involvement. It is pertinent to note that there’s no universal treaty governing digital tax, though the Organisation for Economic Co-operation and Development (OECD) is on the verge of introducing same. With the increasing emphasis on internet-related services provided on digital platforms, many top developing countries with a view to increasing tax revenue from cross-border digital services, have introduced Digital Tax.   The Evolution of Digital Tax Top global digital companies often attract a large part of their consumers from foreign countries. For instance, World’s top digital companies like Google, Facebook, Amazon etc., have their establishments in America, yet derive a huge part of their revenues from consumers based in foreign countries without making considerable tax payments domestically in the respective countries, by virtue of operating on a digital medium. Most digital companies base themselves in jurisdictions where the tax levied on them is considerably low, with a view to minimising their tax liability. Unlike regular companies, digital companies weren’t liable to pay any import duties when they entered and served in a foreign country as it would have been impractical to levy tax on data or digital-related services. And this enabled digital companies to escape making tax payments in the countries where they provided services. Further, the companies could show all their profits at their headquarters, which can be situated in the jurisdiction of a state that levied low-tax charges. Therefore an important reason identified by various countries that led to the advent of digital tax is that there is an irregularity between where the profits are taxed and where the actual value is created. It had been proved that to a certain extent the revenue generated through digital companies is in foreign countries by virtue of their users, where they don’t even have an established company in such countries. Most such companies generated their revenue from their interactions and engagement with the user interface across the top ten countries in the world. And digitalization had not only enabled companies to seek new competitive advantages because of the digital medium but also has provided them ample opportunities to avoid taxation. For instance, digital companies like Facebook, Instagram, eBay etc, provide e-commerce services by various means and yet escape their tax liability for the same by making their tax payments at their headquarter jurisdiction.  Thus, the need to levy tax where the value is created by the digital companies has come into the picture and as a result, Digital Taxation has been introduced. The Singapore Finance Minister, Heng Swee Keat, during his speech about Digital Tax in 2018, said: “Today, services such as consultancy and marketing purchased from overseas suppliers are not subject to GST. Local consumers also do not pay GST when they download apps and music from overseas. This change (introduction of Digital Tax), will ensure that imported and local services are accorded the same treatment.”   Countries that have enforced Digital Tax The digital tax has been enforced by various countries in accordance with their statutory provisions. Some of them are as follows: United Kingdom- In the UK any business providing a digital service in the form of search engines or e-commerce, need to register itself to pay digital tax in the form of DST (Digital Service Tax), which is levied at a rate of 2% on the revenue derived from the users based in the UK. The said form of tax came into force in the UK on 1st April 2020.   France: In France, DST was introduced in the year 2019. DST here, not only affects digital companies but also businesses that possess a digital model. DST is imposed at a rate of 3% on the gross revenue which is derived from digital operations where the users based in France play a vital role in the creation of value.   Australia: Australia introduced the taxation on digital goods by including the same in their Goods and Service Tax. Businesses engaged in the cross-border supply of digital goods need to pay 10% Goods and Service Tax in Australia. These measures were introduced in Australia in 2017.   Russia: Russia has introduced measures to tax digital goods by levying the same through VAT (Value Added Tax). Foreign companies that sell their digital goods or services to customers who are residents of Russia, will need to charge a VAT of 20% and pay the same to the Russian Tax Department.   Digital Tax in India India has an interesting approach towards taxation on Digital Goods and Services. India introduced an equalisation levy in the year 2016, where it levied tax at the rate of 6% on non-resident digital companies that provided online advertisement services in the Indian domain. (Section 165 of Income Tax Act, 1961) As a result of this during the fiscal year 2017-2018, the revenue from the equalization levy was Rs. 550 crores. Initially, GST (Goods and Service Tax) was applicable to all goods and services being sold to an Indian consumer or business by either an Indian entity or a foreign entity. Under this mode of taxation where the supplier was a non-resident entity, the service recipient was liable to pay GST under Reverse Charge Mechanism. It was the responsibility of the service recipient to pay GST to the government and not the liability of the service supplier to pay GST to the government. But with the implementation of the latest Finance Act of 2020, the scope of equalisation levy has been widened and digital tax at a rate of 2% shall now be levied on any e-commerce operator who receives any consideration for e-commerce supply or service, from an Indian consumer or recipient. It is to be noted that the above-mentioned digital tax is levied only on non-residential e-commerce companies, where the per-annum revenue/consideration received by the said company is not lesser than Rs. 2 crore. (Section 165A of Income Tax Act, 1961). The burden to pay the said tax shall be on the non-residential e-commerce company that provides services on a digital platform to customers based in India. Previously when the same was regulated under the scope of GST, the burden of paying the Tax was on the service recipient.   Digital tax and its repercussions It is an interesting fact that most of the digital companies that have been subjected to Digital Tax are American based. And levying of tax on such digital giants has attracted retaliation from the US government. This was the case when the government of France first introduced Digital Tax and implemented the same on digital companies like Google, Facebook, Amazon etc. The US government went so far as to threaten France with retaliatory tariffs against French goods. Similarly, now India has implemented digital taxation on e-commerce activities and the US government has asked India to reconsider its e-commerce policy.. Therefore the need for a universal model monitoring and regulating cross-border Digital taxation exists.  Hopefully, the OECD will soon come up with the same to ease the repercussions of State-implemented laws relating to digital tax. With the ever-increasing ease of doing business through an online platform, one can surely admit that digital means might become the sole platform for conducting business in the coming days. Various countries have rightly identified the benefits of the same and have begun implementing taxation on such digital goods and services which are traded through the digital medium, to maximise their revenues effectively.   - K SUMANTH GOWDA  

  • Sumasri Sumasri
AICTE – Post Graduate GATE / GPAT / CEED Scholarship Scheme 2022-23
Nov 22, 2022
AICTE – Post Graduate GATE / GPAT / CEED Scholarship Scheme 2022-23

About AICTE – Post Graduate GATE / GPAT / CEED Scholarship Scheme 2022-23 On-line proposals are invited from AICTE approved Institutions for disbursement of Post Graduate Scholarship to the students admitted in AICTE approved Institutes/Programs and within approved intake of M.E /M.Tech. /M.Pharm. /M.Arch. /M.Des. through DBT for the 1st year students of the academic year 2022-23 having gained qualifying marks with valid GATE/GPAT/CEED score card.   Procedure to be followed by Institutes and students eligible for AICTE PG scholarship.   1. All the eligible Institutes shall upload the eligible PG Student’s details on the AICTE portal on or before 15th December 2022 and distribute student’s Unique ID generated by the system to all the PG students admitted in AICTE approved Institutes/Programs and within approved intake during 2022-23. The schedule is as under:   1. Advertisement will be published in the newspaper : 28th August 2022   2. Opening date of portal for creation of student’s ID by the Institutes/ Online submission of application by the student : 01st September 2022   3. Last date for creation of student’s ID by the Institutes/ Online submission of application by the student : 30th November 2022   4. Last date for verification by the Institute 15th December 2022   2. All the students undergoing Post Graduate courses having valid GATE/GPAT/CEED score and admitted in AICTE approved Institutes/Programs and within approved intake shall collect the Unique ID from the institute and the login at link: https://pgscholarship.aicte-india.org/ for uploading the scanned copies of all original documents in JPG/JPEG format only.   a. Scanned copy of GATE/GPAT/CEED score card.   b. Bank account should be ACTIVE with Aadhar Card. The students can follow the manual link to check their bank account linkage status with Aadhar on https://pgscholarship.aicteindia.org/assets/manuals/Manual_for_Bank_account_linkage_with_Aadhaar.PDF   c. Only Aadhar active savings bank account will be considered since the PG Scholarship is released through Aadhaar Bridge Payment System (ABPS) mode through Public Financial Management System (PFMS).   d. No-Frill Account, Jan Dhan account, Bank Account having limits on transactions/credits & Joint Account are not permitted.   e. Bank account should not either be closed or transferred/shifted during period of course.   f. Scanned copy of original Aadhar Card should be uploaded in jpg/jpeg format.   g. Scanned copy of the valid Category Certificate for SC/ST, EWS, OBC & Non-Creamy Layer (NCL) should be uploaded. The latest (not beyond one year old) EWS and OBC & Non-Creamy Layer (NCL) certificate should be issued by the Competent Authority.   3. The Institute shall then verify the student data and approve his/her candidature on the portal. (Students verification) and approve for eligibility of disbursement of the scholarship.   4. It may be ensured by the Institute that students personal details, date of admission/date of commencement & course completion date is correctly filled in.   Detailed general guidelines/instructions/FAQ’s and procedure for online registration of students and approval of eligibility of the student by the institute is available at link: https://www.aicteindia.org/schemes/students-development-schemes/PG-Scholarship-Scheme.   All eligible students shall upload their information on or before 30th November 2022 on AICTE web portal and the Institute shall complete the procedure of student data verification and approval for the eligibility for the receipt of scholarship on or before 15th December 2022.   Information Document   For more details please refer the Official Publihser   Application Link : https://pgscholarship.aicte-india.org/

  • Sumasri Sumasri
The Big Five Tech Companies - GAFAM
Nov 18, 2022
The Big Five Tech Companies - GAFAM

What is GAFAM? GAFAM is an acronym that stands for Google, Apple, Facebook, Amazon, and Microsoft. After FAANG, this phrase was coined (a term used to define the most popular technology companies across the world) GAFAM, sometimes known as the Big Five, are the world's most popular and dominant corporation. The combined valuation of the tech titans exceeds $5 trillion. Goldman Sachs invented the term, which covers these firms for two reasons. To begin with, the top five technology companies account for up to 13% of the total market capitalization of the S&P 500. Second, they are the major corporations that bring sociocultural progress on a large scale and accelerate societal transformation. What’s the Difference between FAANG and GAFAM?  The term GAFAM has all the companies that were already included in FAANG, except for Netflix. Amazon is included in the list, considering that it happens to be a consumer services company. With that being said, Amazon contributes to the technology sector with its Amazon Web services. The Big Five In 2018, the Big Five corporations had a combined market valuation of $4.1 trillion. Apple is the Big Five's oldest corporation, dating back to 1980. Since 2011, these technology-based firms have dominated the market.    1. Google (Alphabet) Founded: September 4, 1998 Founders: Larry Page, Sergey Brin Revenue: $257.6 billion (2021) Employees: 156,500 (Dec. 2021) Google began as a search engine, but it has grown into a technology behemoth and one of the top five technology companies. Google was reorganised in 2015 as a subsidiary of Alphabet Inc, a larger holding company.   List of companies acquired by Google Mandiant Acquired on: March 8, 2022 Cost of acquisition: $5.4 billion Fitbit Acquired on: January 14, 2021 Acquisition cost: $2,100,000,000 Motorola Acquired on: August 15, 2011 Acquisition cost: $12.5 billion YouTube Acquired on: October 9, 2006 Acquisition cost: $1.65 billion Blogger Acquired on: October 2003 Acquisition cost: (Undisclosed) 2. Apple  Founded: April 1, 1976 Founders: Steve Jobs, Steve Wozniak, Ronald Wayne Revenue: $365.82 billion (2021) Employees: 154,000 (Dec. 2021 In contrast with the rest of the big five tech companies, Apple prefers acquiring small companies that can easily integrate into its line of products.    List of companies acquired by Apple Shazam Acquired on: September 24, 2018 Acquisition cost: $400 million Beats Acquired on: August 1, 2014 Acquisition cost: $3.0 billion Siri Acquired on: April 27, 2010/ $1 billion Acquisition cost: $150.0 – $250.0 million (undisclosed) Emagic Acquired on: July 1, 2002 Acquisition cost: $30.0 million NeXT Inc. Acquired on: February 7, 1997 Acquisition cost: $431.5 million 3. Facebook (Meta) Founded: February 4, 2004 Founders: M. Zuckerberg, E. Saverin, A. McCollum, D. Moskovitz Revenue: $117.929 billion (2021) Employees: 77,805 (March 2022) Facebook originally went under the moniker 'FaceMash.' However, they eventually changed the name to 'TheFacebook.' To reflect its concentration on the forthcoming metaverse, Facebook's parent company changed its name to Meta Platforms, or just Meta, in October 2021. Its expansion is unstoppable, with 3 billion active users now. Facebook has been quite active in its acquisitions since its inception, and it has now become one of the major five digital giants. Despite being only 18 years old, Facebook has acquired over 70 businesses. List of companies acquired by Facebook Giphy Acquired on: May 15, 2020 Acquisition cost: $400,000 WhatsApp Acquired on: April 19, 2014 Acquisition cost: $19 billion Oculus VR Acquired on: March 25, 2014 Acquisition cost: $3 billion Instagram Acquired on: April 9, 2012 Acquisition cost: $1 billion FriendFeed Acquired on: August 10, 2009 Acquisition cost: $47.5 million 4. Amazon Founded: July 5, 1994 Founder: Jeff Bezos Revenue: $469.822 billion (2021) Employees: 1,608,000 (Dec. 2021) Amazon began in the mid-1990s as an online bookstore selling books. It has now surpassed Walmart as the world's largest retailer. It is also the most profitable company in the world, not just in comparison to GAFAM. The multinational has expanded beyond the eCommerce sector. Amazon's interests range from artificial intelligence to cloud computing, with over 100 acquisitions.   List of companies acquired by Amazon MGM Acquired on: May 26, 2021 Acquisition cost: $8.45 billion Zoox Acquired on: June 26, 2020 Acquisition cost: $1.2 billion Whole Foods Market Acquired on: August 28, 2017 Acquisition cost: $13.7 billion Twitch Acquired on: August 25, 2014 Acquisition cost: $970 million Audible Acquired on: August Jan 31, 2008 Acquisition cost: $300 million   5. Microsoft Founded: April 4, 1975 Founders: Bill Gates, Paul Allen Revenue: $161 billion (2021) Employees: 182,268 (2021) Microsoft Corporation, the oldest of the big five IT businesses, made its acquisition debut in 1983. It all began with a corporation well-known for its developers, who created what is now known as Microsoft PowerPoint. Since then, the MS Corporation has acquired an average of six businesses every year. This GAFAM corporation has succeeded and continues to expand its supremacy in various technical industries throughout the years, thanks to successful strategic acquisitions and mergers.   List of companies acquired by Microsoft Activision  Blizzard Acquired on: January 18, 2022 Acquisition cost: $68,7 billion GitHub Acquired on: October 26, 2018 Acquisition cost: $7.5 billion LinkedIn Acquired on: December 8, 2016 Acquisition cost: $26.2 billion Skype Acquired on: May 10, 2011 Acquisition cost: $8.5 billion Hotmail Acquired on: December 31, 1997 Acquisition cost: $500 million l

  • Pooja Pooja
Online Gaming Laws in India vis-à-vis Online Gaming Regulation Bill, 2022
Nov 16, 2022
Online Gaming Laws in India vis-à-vis Online Gaming Regulation Bill, 2022

There has been a recent spurt in the arena of online gaming. Especially during the pandemic, people have resorted to various digital means of amusement and comfort, resulting in the craze for such gaming platforms. However, with everything that involves human action, comes the necessity of the laws that govern human actions, posing a condition for the existence and limitations of such means of lifestyle. Online gaming is no exception. There is a constant effort by lawmakers to provide the utmost protection to the developers and the end users of such games. This article aims to put forth the current status of the gaming sector in India and the relevant laws with respect to the same. Read on!   The status of online gaming in India  The Constitution makes ‘betting and gambling’ a part of the State List, as a result of which the gaming laws differ from State to State. However, the basic difference in the laws finds its base on the kind of games it is dealing with. ‘skill gaming’ is where one uses his intellect, knowledge, training, and attention to influence the ultimate result. The ‘game of chance’ is one where the result depends on mere luck. However, there might be cases where the game shows an overlap between the two. Where we find superior knowledge to be dominating, will be the one game of skill. The next aspect to consider is whether a particular game is leading to gambling. When there is money at stake in a game of chance, it amounts to gambling and the money at stake in a skill game does not amount to gambling and is kept away from any ban. The same can be observed in the case Head Digital Works Pvt. Ltd. v State of Kerala & others, where the court observed that a Skill game does not depend on the stakes but the skill, knowledge and expertise of the parties involved in it, and at the same time, the State’s power to legislate on the subjects of ‘betting’ and ‘gambling’ must not extend to skilled gaming. The State also does not have the power to legislate upon skilled gaming under the purview of ‘public order and ‘police’ as they are considered to be business activities protected by Article 19(1)(g) of the Constitution.  The States may have the power to regulate the Gaming industry as an instrument of trade Commerce Entertainment and Amusement. The High Court of Madras in Junglee Games India Pvt. Ltd. & Anr. V The State of Tamil Nadu & Ors. held that a skill game is an opportunity for a person skilled in a particular game to display his expertise and earn a living out of the same. The complete prohibition on skilled gaming was absurd, arbitrary, excessive and thereby in contravention of A.19(1)(g). Henceforth, the laws banning skilled games stood to be struck down by the Court and A. 19(1)(g) covered the field of skilled gaming. States like Goa, Nagaland, Sikkim and Meghalaya have introduced licensing in order to regulate gaming activities.  Thus, the status of skilled games, whether online or offline, whether or not there is money a stake stands permitted by way of the backing provided by specific portions of different legislations in India. However, Games of chance is still considered as falling within the ban of betting and gambling laws.    Gaming laws in India It must be noted that India is yet to have entirely separate legislation for online gaming because of which the courts have been sceptical while interpreting the laws. The grey area that still exists makes the loophole in the Skill v chance criterion even broader and deters the judiciary from coming to a conclusion determining the status of online games in India. State laws can function only within the respective boundaries, but online games go across boundaries, making it a national domain for legislation. There is conflicts and limitations in the laws that are prevailing affecting the gaming industry as well as the public in general.  Following are the laws that play a role when it comes to online gaming: The Information Technology Act, 2000- The online gaming platforms, gambling and lotteries are not complying with the techno legal compliances under the Information Technology Act, 2000. They are violating the data protection laws available in India in order to reach the target user.    Online gaming service providers are responsible for keeping intact the personal information gathered about their users. The data protection laws in India make it a mandate for the service providers to include, in the terms of the contract, of online or offline nature, the collection, storage, handling and use of collected personal data and a mechanism to resolve any grievances.     The Indian Contracts Act, 1872- The user agrees to enter into a contract with the developer of the gaming platform by agreeing to the terms and conditions put before them. These are fashioned in consonance with the Indian Contracts Act 1872 which governs the nuances of a valid contract. Data Privacy, the liability of parties, redressal mechanism, and consequences of breach of the terms and conditions by either party are matters of significance that control the activities of the users and the developers on a gaming platform. The online set-up of contracts has to be on similar grounds as provided by the Act of 1872, which can cover any risk pertaining to the information accumulated and services provided by the online gaming application.  The Consumer Protection Act, 2019- When the user avails the service of the online gaming platform for consideration, or a beneficiary is allowed to do so on his behalf, then such person can be considered as a ‘consumer’ under the Consumer Protection Act, 2019. An aggrieved consumer may file a complaint with the Consumer Dispute Redressal Commission at the District, State or National level in case of a deficiency in service on part of the service provider.    The Payment and Settlement System Act, 2007, RBI Guidelines and FEMA- The in-game currencies are administered and controlled by the Payment and Settlement System Act, 2007 and the Reserve Bank of India (Issuance and Operations of Prepaid Instruments) Direction, 2017, issued by the Reserve bank of India with respect to Prepaid Payment Instrument (PPI). The in-game currencies are generally within the ambit of Close System PPI which is why their issuance, supply and operation can happen without the approval of the RBI.    Sometimes, the currencies fall under the semi-closed system, in which case, it has to be RBI-approved. But in no circumstances, do these currencies fall within the Open System, where the approval of the RBI is compulsory. Online games such as online Poker, rummy, and card games, generally open a gateway for incidents of Money laundering, FEMA violation, and tax evasion as it encourages online modes of payment, making the in-game currencies go unaccounted.    Online Gaming (Regulations) Bill, 2022 Recently, the Online Gaming (Regulations) Bill, 2022 was introduced in the Lok Sabha which aims to establish an effective regime to regulate the online gaming industry to prevent fraud and misuse of matters that are connected or incidental to it. It has 20 sections spread over three chapters. It seeks to establish an Online Gaming Commission which shall derive its power, function and scope from the Bill itself. The Commission shall have the power of licensing an online gaming server, surrender, cancel, or suspend the same.  This Bill is dedicated to the Online gaming industry since it is a completely different identity in itself and it requires laws that can cope with its existence. With the rapid development in the field of technology, humans have been able to make their lives more comfortable while using the different electronic gadgets available. The world of digitisation is far ahead of the world where only laws applying to tangible things were applicable. The world needs more in terms of legal systems to sustain the competition between technology and law. This Bill is one of its kind as it explains the meaning of terms such as online gaming, online gaming server, and online gaming websites, which require a sui generis system to be controlled and governed.  While the Bill aims to put various checks and balances in place to regulate online gaming in India, the bill in its current form has multiple shortcomings:  The Bill has failed to draw a distinction between ‘games of skill' and ‘games of chance'. The Bill also does not clarify whether its provisions are applicable only to real money games or free games as well.  This Bill envisages itself to be central legislation governing gaming in India, however, it will be subject to legal scrutiny down the road, as gaming and gambling are both state subjects under the Constitution of India, and can be governed exclusively only by state governments.  The Bill fails to address its contradiction with the already existing licensing regime under the state gaming legislations of Meghalaya, Nagaland, and Sikkim.  The Bill has not addressed various factors including without limitation Know Your Customer (KYC) norms, customer grievance mechanisms, advertising and marketing guidelines, data protection of the users, responsible gaming guidelines etc. This particular Bill also has other drawbacks in that it fails to distinguish between the games that involve money and the ones that do not. The main conflict is between the two genres of gaming, which calls for new laws. If the Bill is unable to differentiate between a game of chance and a game of skill, a game where money is involved and where there is no such transaction, it fails to meet the requirement for a new law in the first place.  The law tends to be a national law, but the core subject of the Bill is to prevent fraud and misuse, leading to betting and gambling. This indicates the Law causes a conflict between the Central and State legislatures with respect to the subject matter on which they can make laws. This overlapping of legislative capacity is a negative for the proposed Bill.  The Bill also vests the Commission with the power to license the server to online gaming websites, however, it does not speak of the interests of the developer of the online gaming platforms and the end users. These two parties play a vital role in the sector of online gaming as they are primarily responsible for the existence and development of the industry. If their interests go unprotected, the Commission assumes more control over the platform than the creators and the users themselves.  Thus, the above discussion shows a view of the status of online gaming, and the various laws that can only provide protection if and only when they surface through judicial interpretation and decisions. The Bill that has been passed has its own specific flaws, without which, it could prove to be fruitful legislation to meet the needs of the modern world. A robust regulatory and legal environment, devoid of uncertainties is the need of the hour for this sunrise industry to achieve its true potential and ensure that the business can scale quickly. 

  • Sumasri Sumasri
  • 1
  • 2
  • 3
  • 4
  • 5 (current)
  • 6
  • 7
×
  • Home
  • About
  • Jobs
  • Events
  • Courses
  • Exams
  • Blog
  • Recruiter
  • Pricing

  Applicant

  • Login
  • Register
  • Forgot Password

* By proceeding you agree to our Privacy Policy and Terms of Use
*
*
*
*
Password should contain one upper case,one lower case,one number and one special character with 8-30 characters.

* By proceeding you agree to our Privacy Policy and Terms of Use

  Advertiser

  • Login
  • Register
  • Forgot your password

* By proceeding you agree to our Privacy Policy and Terms of Use
*
*
*
*
Password should contain one upper case,one lower case,one number and one special character with 8-30 characters.

* By proceeding you agree to our Privacy Policy and Terms of Use
  • about
  • privacy
  • terms of use
  • careers
  • contact us
  • sitemap

© 2021 Botmatrix Services Private Limited. All Rights Reserved.