What are the top 100 Free IQ Test Questions and Answers – Train and Elevate Your Brain

Free IQ Test Questions and Answers - Train Your Brain

You can translate the content of this page by selecting a language in the select box.

What are the top 100 Free IQ Test Questions and Answers – Train and Elevate Your Brain

An Intelligence Quotient or “IQ” is a score derived from one of several standardized tests designed to assess human intelligence. The term “IQ” was coined by William Stern in 1912 as a proposed method of scoring children’s performance on the new Binet-Simon intelligence scale.

Ever since, there has been much debate over what exactly IQ tests measure, how accurate and reliable they are, and what purpose they serve. However, there is no denying that IQ scores can have major implications for an individual’s life chances, including their educational opportunities and career prospects.

IQ tests are often used for selecting students for gifted and talented programs or for entrance into schools for the intellectually gifted. They may also be used to identify individuals who are at risk of developmental delays or learning disabilities. In some cases, IQ scores are used to predict job performance or to screen job applicants.

  1. The first Mensa IQ test is called the Culture Fair Intelligence Test, or CFIT. This test is designed to minimize the influence of cultural biases on a person’s score. The CFIT is made up of four subtests, each of which measures a different type of cognitive ability.
  2. The second Mensa IQ test is called the Stanford-Binet Intelligence Scale, or SBIS. The SBIS is a revision of an earlier intelligence test that was used by the US military to screen recruits during World War I. Today, the SBIS is commonly used to diagnose learning disabilities in children.
  3. The third Mensa IQ test is called the Universal Nonverbal Intelligence Test, or UNIT. As its name suggests, the UNIT is a nonverbal intelligence test that can be administered to people of all ages, regardless of their native language.
  4. The fourth and final Mensa IQ test is called the Wright Scale of Human Ability, or WSHA. The WSHA was developed by William Herschel Wright, a British psychologist who also served as the first president of Mensa International. Like the other tests on this list, the WSHA consists of four subtests that measure different aspects of cognitive ability.

Below are the top 100 Free IQ Test Questions and Answers From Mensa:

What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
B
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
E
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
E
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
D
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
F
E
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
C
What are the top 100 Free IQ Test Questions and Answers - Train and Elevate Your Brain
F

What do IQ Tests Measure?
Broadly speaking, IQ tests measure an individual’s capacity for logical reasoning, problem-solving, and abstract thought. They usually involve a mixture of verbal and nonverbal questions and tasks. Standardized IQ tests often yield a bell-shaped distribution of scores with a mean of 100 and a standard deviation of 15. This means that the vast majority of people score between 85 and 115. Scores below 70 are generally considered to represent intellectual disability, while scores above 130 are considered to represent exceptional intelligence.

How Accurate and Reliable are IQ Tests?
The accuracy and reliability of IQ tests have long been debated by researchers and psychologists. Some argue that IQ tests are an unfair measure of intelligence because they often favor those with higher socioeconomic status or who speak English as their first language. Others argue that the test items on IQ tests often tap into culturally biased knowledge, such as knowledge of famous people or classical music.

IQ tests also tend to yield lower scores for certain groups, including women, ethnic minorities, and people from lower socio-economic backgrounds. This has led some to suggest that IQ tests may be biased against certain groups. However, it is important to keep in mind that all standardized tests have some degree of bias built into them. For example, a test designed to assess knowledge of American history will necessarily be biased against people from other countries who have not had the same exposure to American history. This does not mean that the test is invalid or unreliable; it simply means that the test is not measuring something that is equally important for everyone in the world.

Conclusion:


There is no denying that IQ scores can have major implications for an individual’s life chances, including their educational opportunities and career prospects. However, there is still much debate over what exactly IQ tests measure and how accurate and reliable they are. Because of this debate, it is important to consider IQ scores within the context of other factors when making decisions about someone’s ability or potential.

There are four main Mensa IQ tests: the Culture Fair Intelligence Test (CFIT), the Stanford-Binet Intelligence Scale (SBIS), the Universal Nonverbal Intelligence Test (UNIT), and the Wright Scale of Human Ability (WSHA). Each test assesses different aspects of cognitive ability, and all four tests are used to screen candidates for membership in Mensa International, an organization for people with high intelligence quotients. Thanks for reading!

What would be an example of an IQ question that only someone with an IQ of 135+ could answer?

The questions in the online tests seems to be more difficult close to the end. The question below is the last question in the online test from Mensa Norge that claims to measure up to IQ 145. Thus, the last question should only be possible to solve for people close to IQ 145, or that knows the logic of the question.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


Case for D: The first column has all the lines not present in the 2nd and 3rd columns. Hence the answer must have the sides, but not the top and bottom lines. D is the only choice that has that.

The answer is D, there alway 4 shapes in play, you can add any of 3 and you will get 4 that’s left. When adding you need to remove lines that are not unique and leave only unique. To find the answer you need to shift everything to the left so first row will be last row and do same patern. Below is how it looks like and what elements are in same group. I marked same lines with the same colors that you eliminate and basically left with unique lines that are black. Add shapes in brown rectangle to get shape in dark red rectangle, but you may switch them and add 2 brown and one red to get the other brown, in other words adding any 3 you will get last 4th.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Case for C: if you analize it from a vertical point of view , the first figure and last figure always have the same number of sides(2and2; 4and4; 3and3) , if you analize it horizontally there is a pattern , first you have 2 sides , then 4 sides and then 3 sides, on the other one you have 4 sides , then 3 sides and then 4 sides and in the last one you have 2 sides and then 4 sides , so you will logically think that if on vertical perspective the first figure always has the same number of sides than the third figure (vertically), on the horizontal perspective the last group of figures must have the same amount of sides than the first group of figures(2,4 and 3 sides respectively )so if the correct answer is C the first group of figures that has this number of sides :2 sides ,4 sides and 3 sides; will have the same number of sides than the third sequence of figures :2,4, and 3 sides(horizontally).

I also got C, but by counting the total number of exposed sides for each row.

Row 1 gives (8+6+4) = 18

Row 2 gives (8 + 6 + 8) = 22

Row 3 gives (4 + 16 + x) = 26 (as 18, 22, 26 is an arithmetic sequence with a common difference) (shape b is 16 due to lines being cut in half)

So x (exposed sides) must equal 6, giving C as the only option

Do high IQ people find it hard to understand easy concepts somehow?

High IQ friend of mine: Makes a very high 6 figure salary coding

Also him: Doesn’t know how to open a milk carton

(The carton didn’t have the ‘lift n peel’ thing, it was plain transparent blue plastic)

He’s super smart, but the thing with the milk carton is that he’s not used to this kind of problem.

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

The solution is to look where to apply force and how to apply it.

But the kind of solution he’s used to making is: Find a way to make this super complicated massive piece of code work again.

Physical world problem vs hard logical problem (that you only ever envision in your head)

Another thing might be that he’s so used to complicated problems perhaps he thought there was more to it.

Or maybe he just never saw it before (but even then it’s not hard to figure out)


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

What are the most effective ways to improve emotional intelligence?

Emotional intelligence is about the ability to control, Recognize, express your emotions, and handle your interpersonal connections with empathy and sensibility. There are many ways to improve emotional intelligence such as.

  1. Increasing Self-Awareness
  2. Observing your feeling
  3. Pay attention to your behaviour
  4. Question your opinions
  5. Look at yourself objectively
  6. Know your emotional triggers
  7. Understand the links between people’s emotions and behaviour
  8. Read literature to improve Empathy
  9. Try Empathize with Yourself and Others
  10. Ask for feedback
  11. Dancing, Singing, Crying, Laughter, Listening, taking care of someone or something like the elderly or a pet , plant, gardening became a hobby of mine after house plants thrived, fairy gardens, rock gardens

What is a sign of high intelligence that not many people know about?

A sign of intelligence few people know about is having a tough time understanding a question you’re being asked.

Why is that?

It’s because people with very high IQs have many meanings coming to their mind when their hear a word or a phrase.

For example, if someone asks “What do you do?” these high IQ people are likely to wonder whether they are being asked what kind of a job they do or what kind of hobbies they have, or how they would react under certain circumstances…

This need for constant precision is always present at a high IQ level, whereas for people of average IQs the most obvious and common meaning always comes to mind.

So, while not being able to understand a simple question is seen as a form of stupidity by many, it may actually be a sign of higher intelligence.

Lovecky, Deirdre V. (1994): Exceptionally Gifted Children: Different Minds. Roeper Review Vol.17 n°2.

I would say when a person feels the need to speak on every subject.

Or, just being overly talkative in general. I find that some people just like to hear themselves talk, and think that them blabbing non-stop makes them sound smart.

You generally know this is the case when they spend 20 minutes explaining something that should have only taken 30 seconds.

There were two competing awards in my high school yearbook.

  1. Talks most, says least.
  2. Talks least, says most.

It should be obvious which of those two you would want to be. There is virtue in knowing when not to talk, and just listen.

I would say a person with a high IQ could have a bad day and score less than her best but it would still be far from a low score. Someone who scores low on an IQ test might have done better another day, but could never score high.

Normal IQ people rely on the volume of ideas they can understand to arrive at their own opinions. It is much easier to evaluate an idea than it is coming up with one of equal value, as a result normal IQ people gain a significant benefit from making their opinions a collage of what they evaluated as best. This provides a series of practical advantages to the normal IQ person that no longer has to rely on his bad ideas but can supplant them for the good ones of somebody else, but also gives them a number of quirks. From the perspective of very high IQ people, normal IQ people are much more consistent performers than they are, as though their opinions in isolation are all average opinions of somebody 1.5 SD above them, but have a set of opinions that looks like the monstrous chimera of someone with multiple personalities. If an high IQ person has a standard distribution of quality for his opinions ranging around his IQ, the normal IQ person has a much smaller range of opinions all of higher quality than average but patched together in such a way as to appear incomprehensible how one could champion them all. This is the main reason of the communication range, we expect your opinions to have implications for your other opinions that quite simply aren’t there. From the perspective of high IQ people normal IQ people constantly try to have their cake and eat it too.

Reference: Mensa Norway

 How to find common elements in two unsorted arrays with sizes n and m avoiding double for loop?

How to find common elements in two unsorted arrays with sizes n and m avoiding double for loop? Blog Introduction: In this blog post, we will be discussing how to find common elements in two unsorted arrays with sizes n and m avoiding double for loop. We will be discussing various methods that can be used to solve this problem and comparing the time complexity of each method. Blog Body: Method 1: Linear Search The first method we will discuss is linear search. This method involves iterating through both arrays and comparing each element. If the element is found in both arrays, it is added to the result array. The time complexity of this method is O(nm), where n is the size of the first array and m is the size of the second array. Method 2: HashMap Method The second method we will discuss is the HashMap method. This method involves creating a HashMap of all the elements in the first array. Then, we iterate through the second array and check if the elements are present in the HashMap. If they are, we add them to the result array. The time complexity of this method is O(n+m), where n is the size of the first array and m is the size of the second array. Method 3: Sort andCompare Method The third method we will discuss is the Sort and Compare Method. This method involves sorting both arrays using any sorting algorithm like merge sort or quick sort. Once both arrays are sorted, we compare each element of both arrays one by one until we find a match. If a match is found, we add it to our result array. The time complexity of this method is O(nlogn+mlogm), where n is the size of the first array and m is the size of the second array. Conclusion: In this blog post, we discussed how to find common elements in two unsorted arrays with sizes n and m avoiding double for loop. We discussed three different methods that can be used to solve this problem and compared their time complexities. We hope that this blog post was helpful in understanding how to solve this problem.

You can translate the content of this page by selecting a language in the select box.

How to find common elements in two unsorted arrays with sizes n and m avoiding double for loop?

Programmers, software engineers, coders, IT professionals, and software architects all face the common challenge of needing to find common elements in two unsorted arrays with sizes n and m. This can be a difficult task, especially if you don’t want to use a double for loop.

In this blog post, we will be discussing how to find common elements in two unsorted arrays with sizes n and m avoiding double for loop. We will be discussing various methods that can be used to solve this problem and comparing the time complexity of each method.

There are several ways that you can find common elements in two unsorted arrays with sizes n and m avoiding double for loop. One way is by using the hashing technique. With this technique, you can create a hash table for one of the arrays. Then, you can traverse through the second array and check if the element is present in the hash table or not. If the element is present in the hash table, then it is a common element. Another way that you can find common elements in two unsorted arrays with sizes n and m avoiding double for loop is by using the sorting technique. With this technique, you can sort both of the arrays first. Then, you can traverse through both of the arrays simultaneously and compare the elements. If the elements are equal, then it is a common element.

Method 1: Linear Search

The first method we will discuss is linear search. This method involves iterating through both arrays and comparing each element. If the element is found in both arrays, it is added to the result array. The time complexity of this method is O(nm), where n is the size of the first array and m is the size of the second array.

Method 2: HashMap Method

The second method we will discuss is the HashMap method. This method involves creating a HashMap of all the elements in the first array. Then, we iterate through the second array and check if the elements are present in the HashMap. If they are, we add them to the result array. The time complexity of this method is O(n+m), where n is the size of the first array and m is the size of the second array.

Method 3: Sort and Compare Method

The third method we will discuss is the Sort and Compare Method. This method involves sorting both arrays using any sorting algorithm like merge sort or quick sort. Once both arrays are sorted, we compare each element of both arrays one by one until we find a match. If a match is found, we add it to our result array. The time complexity of this method is O(nlogn+mlogm), where n is the size of the first array and m is the size of the second array.

The naïve algorithm for finding common elements in two unsorted arrays with sizes nn and mm is O(nm)O(nm), i.e. quadratic.

The algorithm for sorting an array is O(nlogn)O(nlog⁡n), and you can find common elements in two sorted arrays in O(n+m)O(n+m). In other words, for large enough arrays, it is significantly faster to first sort them, then look for the common elements, because the sorting algorithm will dominate the complexity, so your final algorithm ends up at O(nlogn)O(nlog⁡n) as well.

How to find common elements in two unsorted arrays with sizes n and m avoiding double for loop?
One of the most straight forward ways to find common elements in two arrays is by using a double for loop. This approach is simple to understand and implement but it is not very efficient. The time complexity of this algorithm is O(n*m) where n and m are the size of the two arrays respectively. The reason for this is because we are looping through both arrays completely which takes a lot of time. Furthermore, this approach also uses a lot of extra space because we are storing the common elements in a new list.

Conclusion:

In this blog post, we discussed how to find common elements in two unsorted arrays with sizes n and m avoiding double for loop. We discussed three different methods that can be used to solve this problem and compared their time complexities. We hope that this blog post was helpful in understanding how to solve this problem.

There are many different ways to find common elements in two unsorted arrays with sizes n and m avoiding double for loop. The most straight forward way is by using a double for loop but this approach is not very efficient. A more efficient way is by using a hash table which has a time complexity of O(n+m). This algorithm is faster because we only need to loop through one of the arrays. We can then use the values from that array to check if there are any duplicates in the second array. This approach also uses less memory because we are not creating a new list to store the common elements.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions

AWS Certified Cloud Practitioner Exam Preparation

You can translate the content of this page by selecting a language in the select box.

What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions

AWS certifications are becoming increasingly popular as the demand for AWS-skilled workers continues to grow. AWS certifications show that an individual has the necessary skills to work with AWS technologies, which can be beneficial for both job seekers and employers. AWS-certified individuals can often command higher salaries and are more likely to be hired for AWS-related positions. So, what are the top 10 AWS jobs that you can get with an AWS certification?

1. AWS Solutions Architect / Cloud Architect:

AWS solutions architects are responsible for designing, implementing, and managing AWS solutions. They work closely with other teams to ensure that AWS solutions are designed and implemented correctly.

AWS Architects, AWS Cloud Architects, and AWS solutions architects spend their time architecting, building, and maintaining highly available, cost-efficient, and scalable AWS cloud environments. They also make recommendations regarding AWS toolsets and keep up with the latest in cloud computing.

Professional AWS cloud architects deliver technical architectures and lead implementation efforts, ensuring new technologies are successfully integrated into customer environments. This role works directly with customers and engineers, providing both technical leadership and an interface with client-side stakeholders.

What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions
AWS SAA-C02 SAA-C03 Exam Prep

Average yearly salary: $148,000-$158,000 USD

2. AWS SysOps Administrator / Cloud System Administrators:

AWS sysops administrators are responsible for managing and operating AWS systems. They work closely with AWS developers to ensure that systems are running smoothly and efficiently.

A Cloud Systems Administrator, or AWS SysOps administrator, is responsible for the effective provisioning, installation/configuration, operation, and maintenance of virtual systems, software, and related infrastructures. They also maintain analytics software and build dashboards for reporting.

Average yearly salary: $97,000-$107,000 USD

3. AWS DevOps Engineer:

AWS devops engineers are responsible for designing and implementing automated processes for Amazon Web Services. They work closely with other teams to ensure that processes are efficient and effective.

AWS DevOps engineers design AWS cloud solutions that impact and improve the business. They also perform server maintenance and implement any debugging or patching that may be necessary. Among other DevOps things!

Average yearly salary: $118,000-$138,000 USD

What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions
AWS Developer Associate DVA-C01 Exam Prep

4. AWS Cloud Engineer:

AWS cloud engineers are responsible for designing, implementing, and managing cloud-based solutions using AWS technologies. They work closely with other teams to ensure that solutions are designed and implemented correctly.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


5. AWS Network Engineer:

AWS network engineers are responsible for designing, implementing, and managing networking solutions using AWS technologies. They work closely with other teams to ensure that networking solutions are designed and implemented correctly.

Cloud network specialists, engineers, and architects help organizations successfully design, build, and maintain cloud-native and hybrid networking infrastructures, including integrating existing networks with AWS cloud resources.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Average yearly salary: $107,000-$127,000 USD

6. AWS Security Engineer:

AWS security engineers are responsible for ensuring the security of Amazon Web Services environments. They work closely with other teams to identify security risks and implement controls to mitigate those risks.

Cloud security engineers provide security for AWS systems, protect sensitive and confidential data, and ensure regulatory compliance by designing and implementing security controls according to the latest security best practices.

Average yearly salary: $132,000-$152,000 USD

What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions
AWS Certified Security Specialty

7. AWS Database administrator:

As a database administrator on Amazon Web Services (AWS), you’ll be responsible for setting up, maintaining, and securing databases hosted on the Amazon cloud platform. You’ll work closely with other teams to ensure that databases are properly configured and secured.

8. Cloud Support Engineer:

Support engineers are responsible for providing technical support to AWS customers. They work closely with customers to troubleshoot problems and provide resolution within agreed upon SLAs.

9. Sales Engineer:

Sales engineers are responsible for working with sales teams to generate new business opportunities through the use of AWS products and services .They must have a deep understanding of AWS products and how they can be used by potential customers to solve their business problems .

10. Cloud Developer

An AWS Developer builds software services and enterprise-level applications. Generally, previous experience working as a software developer and a working knowledge of the most common cloud orchestration tools is required to get and succeed at an AWS cloud developer job

Average yearly salary: $132,000 USD

11. Cloud Consultant

Cloud consultants provide organizations with technical expertise and strategy in designing and deploying AWS cloud solutions or in consulting on specific issues such as performance, security, or data migration.

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

Average yearly salary: $104,000-$124,000

12. Cloud Data Architect

Cloud data architects and data engineers may be cloud database administrators or data analytics professionals who know how to leverage AWS database resources, technologies, and services to unlock the value of enterprise data.

Average yearly salary: $130,000-$140,000 USD

What are the Top 10 AWS jobs you can get with an AWS certification in 2022 plus AWS Interview Questions
AWS Data analytics DAS-C01 Exam Prep

Getting a job after getting an AWS certification

The field of cloud computing will continue to grow and even more different types of jobs will surface in the future.

AWS certified professionals are in high demand across a variety of industries. AWS certs can open the door to a number of AWS jobs, including cloud engineer, solutions architect, and DevOps engineer.


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

Through studying and practice, any of the listed jobs could becoming available to you if you pass your AWS certification exams. Educating yourself on AWS concepts plays a key role in furthering your career and receiving not only a higher salary, but a more engaging position.

Source: 8 AWS jobs you can get with an AWS certification

AWS Tech Jobs  Interview Questions in 2022

Graphs

1) Process Ordering – LeetCode link…

2) Number of Islands – LeetCode link…

3) k Jumps on Grid – Loading…)

Sort

1) Finding Prefix in Dictionary – LeetCode Link…

Tree

1) Binary Tree Top Down View – LeetCode link…

2) Traversing binary tree in an outward manner.

3) Diameter of a binary tree [Path is needed] – Diameter of a Binary Tree – GeeksforGeeks

Sliding window

1) Contains Duplicates III – LeetCode link…

2) Minimum Window Substring [Variation of this question] – LeetCode link..

Linked List

1) Reverse a Linked List II – LeetCode link…

2) Remove Loop From Linked List – Remove Loop in Linked List

3) Reverse a Linked List in k-groups – LeetCode link…

Binary Search

1) Search In rotate sorted Array – LeetCode link…

Solution:

def pivotedBinarySearch(arr, n, key):
 
    pivot = findPivot(arr, 0, n-1)
 
    # If we didn't find a pivot,
    # then array is not rotated at all
    if pivot == -1:
        return binarySearch(arr, 0, n-1, key)
 
    # If we found a pivot, then first
    # compare with pivot and then
    # search in two subarrays around pivot
    if arr[pivot] == key:
        return pivot
    if arr[0] <= key:
        return binarySearch(arr, 0, pivot-1, key)
    return binarySearch(arr, pivot + 1, n-1, key)
 
 
# Function to get pivot. For array
# 3, 4, 5, 6, 1, 2 it returns 3
# (index of 6)
def findPivot(arr, low, high):
 
    # base cases
    if high < low:
        return -1
    if high == low:
        return low
 
    # low + (high - low)/2;
    mid = int((low + high)/2)
 
    if mid < high and arr[mid] > arr[mid + 1]:
        return mid
    if mid > low and arr[mid] < arr[mid - 1]:
        return (mid-1)
    if arr[low] >= arr[mid]:
        return findPivot(arr, low, mid-1)
    return findPivot(arr, mid + 1, high)
 
# Standard Binary Search function
def binarySearch(arr, low, high, key):
 
    if high < low:
        return -1
 
    # low + (high - low)/2;
    mid = int((low + high)/2)
 
    if key == arr[mid]:
        return mid
    if key > arr[mid]:
        return binarySearch(arr, (mid + 1), high,
                            key)
    return binarySearch(arr, low, (mid - 1), key)
 
# Driver program to check above functions
# Let us search 3 in below array
if __name__ == '__main__':
    arr1 = [5, 6, 7, 8, 9, 10, 1, 2, 3]
    n = len(arr1)
    key = 3
    print("Index of the element is : ", \
          pivotedBinarySearch(arr1, n, key))
 
# This is contributed by Smitha Dinesh Semwal

Arrays

1) Max bandWidth [Priority Queue, Sorting] – Loading…

2) Next permutation – Loading…

3) Largest Rectangle in Histogram – Loading…

Content by – Sandeep Kumar

#AWS #interviews #leetcode #questions #array #sorting #queue #loop #tree #graphs #amazon #sde —-#interviewpreparation #coding #computerscience #softwareengineer

You can translate the content of this page by selecting a language in the select box.

What is the single most influential book every Programmers should read

There are a lot of books that can be influential to programmers. But, what is the one book that every programmer should read? This is a question that has been asked by many, and it is still up for debate. However, there are some great contenders for this title. In this blog post, we will discuss three possible books that could be called the most influential book for programmers. So, what are you waiting for? Keep reading to find out more!

Source: Wikipedia

What is the single most influential book every Programmers should read
Popular Programming Languages

Ok…I think this is one of the most important questions to answer. According to the my personal experience as a Programmer, I would say you must learn following 5 universal core concepts of programming to become a successful Java programmer.

(1) Mastering the fundamentals of Java programming Language – This is the most important skill that you must learn to become successful java programmer. You must master the fundamentals of the language, specially the areas like OOP, Collections, Generics, Concurrency, I/O, Stings, Exception handling, Inner Classes and JVM architecture.

Recommended readings are OCA Java SE 8 Programmer by by Kathy Sierra and Bert Bates (First read Head First Java if you are a new comer ) and Effective Java by Joshua Bloch.

(2) Data Structures and Algorithms – Programming languages are basically just a tool to solve problems. Problems generally has data to process on to make some decisions and we have to build a procedure to solve that specific problem domain. In any real life complexity of the problem domain and the data we have to handle would be very large. That’s why it is essential to knowing basic data structures like Arrays, Linked Lists, Stacks, Queues, Trees, Heap, Dictionaries ,Hash Tables and Graphs and also basic algorithms like Searching, Sorting, Hashing, Graph algorithms, Greedy algorithms and Dynamic Programming.

Recommended readings are Data Structures & Algorithms in Java by Robert Lafore (Beginner) , Algorithms Robert Sedgewick (intermediate) and Introduction to Algorithms-MIT press by CLRS (Advanced).

(3) Design Patterns – Design patterns are general reusable solution to a commonly occurring problem within a given context in software design and they are absolutely crucial as hard core Java Programmer. If you don’t use design patterns you will write much more code, it will be buggy and hard to understand and refactor, not to mention untestable and they are really great way for communicating your intent very quickly with other programmers.

Recommended readings are Head First Design Patterns Elisabeth Freeman and Kathy Sierra and Design Patterns: Elements of Reusable by Gang of four.

(4) Programming Best Practices – Programming is not only about learning and writing code. Code readability is a universal subject in the world of computer programming. It helps standardize products and help reduce future maintenance cost. Best practices helps you, as a programmer to think differently and improves problem solving attitude within you. A simple program can be written in many ways if given to multiple developers. Thus the need to best practices come into picture and every programmer must aware about these things.

Recommended readings are Clean Code by Robert Cecil Martin and Code Complete by Steve McConnell.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


(5) Testing and Debugging (T&D) – As you know about the writing the code for specific problem domain, you have to learn how to test that code snippet and debug it when it is needed. Some programmers skip their unit testing or other testing methodology part and leave it to QA guys. That will lead to delivering 80% bugs hiding in your code to the QA team and reduce the productivity and risking and pushing your project boundaries to failure. When a miss behavior or bug occurred within your code when the testing phase. It is essential to know about the debugging techniques to identify that bug and its root cause.

Recommended readings are Debugging by David Agans and A Friendly Introduction to Software Testing by Bill Laboon.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


I hope these instructions will help you to become a successful Java Programmer. Here i am explain only the universal core concepts that you must learn as successful programmer. I am not mentioning any technologies that Java programmer must know such as Spring, Hibernate, Micro-Servicers and Build tools, because that can be change according to the problem domain or environment that you are currently working on…..Happy Coding!

Summary: There’s no doubt that books have had a profound influence on society and the advancement of human knowledge. But which book is the most influential for programmers? Some might say it’s The Art of Computer Programming, or The Pragmatic Programmer. But I would argue that the most influential book for programmers is CODE: The Hidden Language of Computer Hardware and Software. In CODE, author Charles Petzold takes you on a journey from the basics of computer hardware to the intricate workings of software. Along the way, you learn how to write code in Assembly language, and gain an understanding of how computers work at a fundamental level. If you’re serious about becoming a programmer, then CODE should be at the top of your reading list!

Google interview questions for various roles and How to Ace the Google Software Engineering Interview?

Google Interview Questions and Answers

You can translate the content of this page by selecting a language in the select box.

Google is one of the most sought-after employers in the world, known for their cutting-edge technology and innovative products.

If you’re lucky enough to land an interview with Google, you can expect to be asked some challenging questions. Google is known for their brainteasers and algorithmic questions, so it’s important to brush up on your coding skills before the interview. However, Google also values creativity and out-of-the-box thinking, so don’t be afraid to think outside the box when answering questions. product managers need to be able to think strategically about Google’s products, while software engineers will need to demonstrate their technical expertise. No matter what role you’re interviewing for, remember to stay calm and confident, and you’ll be sure to ace the Google interview.

The interview process is notoriously difficult, with contenders being put through their paces with brain-teasers, algorithm questions, and intense coding challenges. However, Google interviews aren’t just designed to trip you up – they’re also an opportunity to show off your skills and demonstrate why you’re the perfect fit for the role. If you’re hoping to secure a Google career, preparation is key. Here are some top tips for acing the Google interview, whatever position you’re applying for.

Firstly, take some time to familiarize yourself with Google’s products and services. Google is such a huge company that it can be easy to get overwhelmed, but it’s important to remember that they started out as a search engine. Having a solid understanding of how Google works will give you a good foundation to build upon during the interview process. Secondly, practice your coding skills. Google interviews are notoriously difficult, and many contenders fail at the first hurdle because they’re not prepared for the level of difficulty.

The company is known for its rigorous interview process, which often includes a mix of coding, algorithm, and behavioral questions. While Google interview questions can vary depending on the role, there are some common themes that arise. For software engineering positions, candidates can expect to be asked questions about their coding skills and experience. For product manager roles, Google interviewers often focus on behavioral questions, such as how the candidate has handled difficult decisions in the past. Quantitative compensation analyst candidates may be asked math-based questions, while AdWords Associates may be asked about Google’s advertising products and policies. Google is known for being an intense place to work, so it’s important for interviewees to go into the process prepared and ready to impress. Ultimately, nailing the Google interview isn’t just about having the right answers – it’s also about having the right attitude.

Below are some of the questions asked during Google Interview for various roles:

Google Interview Questions: Product Marketing Manager

  • Why do you want to join Google?
  • What do you know about Google’s product and technology?
  • If you are Product Manager for Google’s Adwords, how do you plan to market this?
  • What would you say during an AdWords or AdSense product seminar?
  • Who are Google’s competitors, and how does Google compete with them?
  • Have you ever used Google’s products? Gmail?
  • What’s a creative way of marketing Google’s brand name and product?
  • If you are the product marketing manager for Google’s Gmail product, how do you plan to market it so as to achieve 100 million customers in 6 months?
  • How much money you think Google makes daily from Gmail ads?
  • Name a piece of technology you’ve read about recently. Now tell me your own creative execution for an ad for that product.
  • Say an advertiser makes $0.10 every time someone clicks on their ad. Only 20% of people who visit the site click on their ad. How many people need to visit the site for the advertiser to make $20?
  • Estimate the number of students who are college seniors, attend four-year schools, and graduate with a job in the United States every year.

Google Interview Questions: Product Manager

  • How would you boost the GMail subscription base?
  • What is the most efficient way to sort a million integers?
  • How would you re-position Google’s offerings to counteract competitive threats from Microsoft?
  • How many golf balls can fit in a school bus?
  • You are shrunk to the height of a nickel and your mass is proportionally reduced so as to maintain your original density. You are then thrown into an empty glass blender. The blades will start moving in 60 seconds. What do you do?
  • How much should you charge to wash all the windows in Seattle?
  • How would you find out if a machine’s stack grows up or down in memory?
  • Explain a database in three sentences to your eight-year-old nephew.
  • How many times a day does a clock’s hands overlap?
  • You have to get from point A to point B. You don’t know if you can get there. What would you do?
  • Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
  • Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announces that at least one husband has been unfaithful. What happens?
  • In a country in which people only want boys, every family continues to have children until they have a boy. If they have a girl, they have another child. If they have a boy, they stop. What is the proportion of boys to girls in the country?
  • If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in 10 minutes (assuming constant default probability)?
  • If you look at a clock and the time is 3:15, what is the angle between the hour and the minute hands? (The answer to this is not zero!)
  • Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?
  • You are at a party with a friend and 10 people are present including you and the friend. your friend makes you a wager that for every person you find that has the same birthday as you, you get $1; for every person he finds that does not have the same birthday as you, he gets $2. would you accept the wager?
  • How many piano tuners are there in the entire world?
  • You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you find the ball that is heavier by using a balance and only two weighings?
  • You have five pirates, ranked from 5 to 1 in descending order. The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed. How should he allocate the gold in order to maximize his share but live to enjoy it? (Hint: One pirate ends up with 98 percent of the gold.)
  • You are given 2 eggs. You have access to a 100-story building. Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100th floor. Both eggs are identical. You need to figure out the highest floor of a 100-story building an egg can be dropped without breaking. The question is how many drops you need to make. You are allowed to break 2 eggs in the process.
  • Describe a technical problem you had and how you solved it.
  • How would you design a simple search engine?
  • Design an evacuation plan for San Francisco.
  • There’s a latency problem in South Africa. Diagnose it.
  • What are three long term challenges facing Google?
  • Name three non-Google websites that you visit often and like. What do you like about the user interface and design? Choose one of the three sites and comment on what new feature or project you would work on. How would you design it?
  • If there is only one elevator in the building, how would you change the design? How about if there are only two elevators in the building?
  • How many vacuum’s are made per year in USA?

Google Interview Questions: Software Engineer

  • Why are manhole covers round?
  • What is the difference between a mutex and a semaphore? Which one would you use to protect access to an increment operation?
  • A man pushed his car to a hotel and lost his fortune. What happened?
  • Explain the significance of “dead beef”.
  • Write a C program which measures the the speed of a context switch on a UNIX/Linux system.
  • Given a function which produces a random integer in the range 1 to 5, write a function which produces a random integer in the range 1 to 7.
  • Describe the algorithm for a depth-first graph traversal.
  • Design a class library for writing card games.
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
  • How are cookies passed in the HTTP protocol?
  • Design the SQL database tables for a car rental database.
  • Write a regular expression which matches a email address.
  • Write a function f(a, b) which takes two character string arguments and returns a string containing only the characters found in both strings in the order of a. Write a version which is order N-squared and one which is order N.
  • You are given a the source to a application which is crashing when run. After running it 10 times in a debugger, you find it never crashes in the same place. The application is single threaded, and uses only the C standard library. What programming errors could be causing this crash? How would you test each one?
  • Explain how congestion control works in the TCP protocol.
  • In Java, what is the difference between final, finally, and finalize?
  • What is multithreaded programming? What is a deadlock?
  • Write a function (with helper functions if needed) called to Excel that takes an excel column value (A,B,C,D…AA,AB,AC,… AAA..) and returns a corresponding integer value (A=1,B=2,… AA=26..).
  • You have a stream of infinite queries (ie: real time Google search queries that people are entering). Describe how you would go about finding a good estimate of 1000 samples from this never ending set of data and then write code for it.
  • Tree search algorithms. Write BFS and DFS code, explain run time and space requirements. Modify the code to handle trees with weighted edges and loops with BFS and DFS, make the code print out path to goal state.
  • You are given a list of numbers. When you reach the end of the list you will come back to the beginning of the list (a circular list). Write the most efficient algorithm to find the minimum # in this list. Find any given # in the list. The numbers in the list are always increasing but you don’t know where the circular list begins, ie: 38, 40, 55, 89, 6, 13, 20, 23, 36.
  • Describe the data structure that is used to manage memory. (stack)
  • What’s the difference between local and global variables?
  • If you have 1 million integers, how would you sort them efficiently? (modify a specific sorting algorithm to solve this)
  • In Java, what is the difference between static, final, and const. (if you don’t know Java they will ask something similar for C or C++).
  • Talk about your class projects or work projects (pick something easy)… then describe how you could make them more efficient (in terms of algorithms).
  • Suppose you have an NxN matrix of positive and negative integers. Write some code that finds the sub-matrix with the maximum sum of its elements.
  • Write some code to reverse a string.
  • Implement division (without using the divide operator, obviously).
  • Write some code to find all permutations of the letters in a particular string.
  • What method would you use to look up a word in a dictionary?
  • Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
  • You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you fine the ball that is heavier by using a balance and only two weighings?
  • What is the C-language command for opening a connection with a foreign host over the internet?
  • Design and describe a system/application that will most efficiently produce a report of the top 1 million Google search requests. These are the particulars: 1) You are given 12 servers to work with. They are all dual-processor machines with 4Gb of RAM, 4x400GB hard drives and networked together.(Basically, nothing more than high-end PC’s) 2) The log data has already been cleaned for you. It consists of 100 Billion log lines, broken down into 12 320 GB files of 40-byte search terms per line. 3) You can use only custom written applications or available free open-source software.
  • There is an array A[N] of N numbers. You have to compose an array Output[N] such that Output[i] will be equal to multiplication of all the elements of A[N] except A[i]. For example Output[0] will be multiplication of A[1] to A[N-1] and Output[1] will be multiplication of A[0] and from A[2] to A[N-1]. Solve it without division operator and in O(n).
  • There is a linked list of numbers of length N. N is very large and you don’t know N. You have to write a function that will return k random numbers from the list. Numbers should be completely random. Hint: 1. Use random function rand() (returns a number between 0 and 1) and irand() (return either 0 or 1) 2. It should be done in O(n).
  • Find or determine non existence of a number in a sorted list of N numbers where the numbers range over M, M>> N and N large enough to span multiple disks. Algorithm to beat O(log n) bonus points for constant time algorithm.
  • You are given a game of Tic Tac Toe. You have to write a function in which you pass the whole game and name of a player. The function will return whether the player has won the game or not. First you to decide which data structure you will use for the game. You need to tell the algorithm first and then need to write the code. Note: Some position may be blank in the game। So your data structure should consider this condition also.
  • You are given an array [a1 To an] and we have to construct another array [b1 To bn] where bi = a1*a2*…*an/ai. you are allowed to use only constant space and the time complexity is O(n). No divisions are allowed.
  • How do you put a Binary Search Tree in an array in a efficient manner. Hint :: If the node is stored at the ith position and its children are at 2i and 2i+1(I mean level order wise)Its not the most efficient way.
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner. Note: You should not use use any extra space. i.e sorting Binary Search Tree and storing the results in an array and listing out the fifth element.
  • Given a Data Structure having first n integers and next n chars. A = i1 i2 i3 … iN c1 c2 c3 … cN.Write an in-place algorithm to rearrange the elements of the array ass A = i1 c1 i2 c2 … in cn
  • Given two sequences of items, find the items whose absolute number increases or decreases the most when comparing one sequence with the other by reading the sequence only once.
  • Given That One of the strings is very very long , and the other one could be of various sizes. Windowing will result in O(N+M) solution but could it be better? May be NlogM or even better?
  • How many lines can be drawn in a 2D plane such that they are equidistant from 3 non-collinear points?
  • Let’s say you have to construct Google maps from scratch and guide a person standing on Gateway of India (Mumbai) to India Gate(Delhi). How do you do the same?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
  • Given a binary tree, programmatically you need to prove it is a binary search tree.
  • You are given a small sorted list of numbers, and a very very long sorted list of numbers – so long that it had to be put on a disk in different blocks. How would you find those short list numbers in the bigger one?
  • Suppose you have given N companies, and we want to eventually merge them into one big company. How many ways are theres to merge?
  • Given a file of 4 billion 32-bit integers, how to find one that appears at least twice?
  • Write a program for displaying the ten most frequent words in a file such that your program should be efficient in all complexity measures.
  • Design a stack. We want to push, pop, and also, retrieve the minimum element in constant time.
  • Given a set of coin denominators, find the minimum number of coins to give a certain amount of change.
  • Given an array, i) find the longest continuous increasing subsequence. ii) find the longest increasing subsequence.
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • Write a function to find the middle node of a single link list.
  • Given two binary trees, write a compare function to check if they are equal or not. Being equal means that they have the same value and same structure.
  • Implement put/get methods of a fixed size cache with LRU replacement algorithm.
  • You are given with three sorted arrays ( in ascending order), you are required to find a triplet ( one element from each array) such that distance is minimum.
  • Distance is defined like this : If a[i], b[j] and c[k] are three elements then distance=max(abs(a[i]-b[j]),abs(a[i]-c[k]),abs(b[j]-c[k]))” Please give a solution in O(n) time complexity
  • How does C++ deal with constructors and deconstructors of a class and its child class?
  • Write a function that flips the bits inside a byte (either in C++ or Java). Write an algorithm that take a list of n words, and an integer m, and retrieves the mth most frequent word in that list.
  • What’s 2 to the power of 64?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner.
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • There is linked list of millions of node and you do not know the length of it. Write a function which will return a random number from the list.
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
  • How long it would take to sort 1 trillion numbers? Come up with a good estimate.
  • Order the functions in order of their asymptotic performance: 1) 2^n 2) n^100 3) n! 4) n^n
  • There are some data represented by(x,y,z). Now we want to find the Kth least data. We say (x1, y1, z1) > (x2, y2, z2) when value(x1, y1, z1) > value(x2, y2, z2) where value(x,y,z) = (2^x)*(3^y)*(5^z). Now we can not get it by calculating value(x,y,z) or through other indirect calculations as lg(value(x,y,z)). How to solve it?
  • How many degrees are there in the angle between the hour and minute hands of a clock when the time is a quarter past three?
  • Given an array whose elements are sorted, return the index of a the first occurrence of a specific integer. Do this in sub-linear time. I.e. do not just go through each element searching for that element.
  • Given two linked lists, return the intersection of the two lists: i.e. return a list containing only the elements that occur in both of the input lists.
  • What’s the difference between a hashtable and a hashmap?
  • If a person dials a sequence of numbers on the telephone, what possible words/strings can be formed from the letters associated with those numbers?
  • How would you reverse the image on an n by n matrix where each pixel is represented by a bit?
  • Create a fast cached storage mechanism that, given a limitation on the amount of cache memory, will ensure that only the least recently used items are discarded when the cache memory is reached when inserting a new item. It supports 2 functions: String get(T t) and void put(String k, T t).
  • Create a cost model that allows Google to make purchasing decisions on to compare the cost of purchasing more RAM memory for their servers vs. buying more disk space.
  • Design an algorithm to play a game of Frogger and then code the solution. The object of the game is to direct a frog to avoid cars while crossing a busy road. You may represent a road lane via an array. Generalize the solution for an N-lane road.
  • What sort would you use if you had a large data set on disk and a small amount of ram to work with?
  • What sort would you use if you required tight max time bounds and wanted highly regular performance.
  • How would you store 1 million phone numbers?
  • Design a 2D dungeon crawling game. It must allow for various items in the maze – walls, objects, and computer-controlled characters. (The focus was on the class structures, and how to optimize the experience for the user as s/he travels through the dungeon.)
  • What is the size of the C structure below on a 32-bit system? On a 64-bit?

struct foo {

char a;
char* b;
};
  • A triomino is formed by joining three unit-sized squares in an L-shape. A mutilated chessboard is made up of 64 unit-sized squares arranged in an 8-by-8 square, minus the top left square.

    Design an algorithm which computes a placement of 21 triominos that covers the mutilated chessboard.2.

  • The mathematician G. H. Hardy was on his way to visit his collaborator S. Ramanujan who was in the hospital. Hardy remarked to Ramanujan that he traveled in a taxi cab with license plate 1729, which seemed a dull number. To this, Ramanujan replied that 1729 was a very interesting number – it was the smallest number expressible as the sum of cubes of two numbers in two different ways. Indeed, 10x10x10 + 9x9x9 = 12x12x12 + 1x1x1 = 1729.

    Given an arbitrary positive integer, how would you determine if it can be expressed as a sum of two cubes?

  • There are fifty coins in a line—these could be pennies, nickels, dimes, or quarters. Two players, $F$ and $S$, take turns at choosing one coin each—they can only choose from the two coins at the ends of the line. The game ends when all the coins have been picked up. The player whose coins have the higher total value wins. Each player must select a coin when it is his turn, so the game ends in fifty turns.

    If you want to ensure you do not lose, would you rather go first or second? Design an efficient algorithm for computing the maximum amount of money the first player can win.

  • You are given two sorted arrays. Design an efficient algorithm for computing the k-th smallest element in the union of the two arrays. (Keep in mind that the elements may be repeated.)

  • It’s literally about 10 lines of code, give or take. It’s at the heart of merge sort.

    Merge 2  sorted lists in C language
    Merge 2 sorted linked lists in C language

    Reference: Here

 

Google Interview: Software Engineer in Test

  • Efficiently implement 3 stacks in a single array.
  • Given an array of integers which is circularly sorted, how do you find a given integer.
  • Write a program to find depth of binary search tree without using recursion.
  • Find the maximum rectangle (in terms of area) under a histogram in linear time.
  • Most phones now have full keyboards. Before there there three letters mapped to a number button. Describe how you would go about implementing spelling and word suggestions as people type.
  • Describe recursive mergesort and its runtime. Write an iterative version in C++/Java/Python.
  • How would you determine if someone has won a game of tic-tac-toe on a board of any size?
  • Given an array of numbers, replace each number with the product of all the numbers in the array except the number itself *without* using division.
  • Create a cache with fast look up that only stores the N most recently accessed items.
  • How to design a search engine? If each document contains a set of keywords, and is associated with a numeric attribute, how to build indices?
  • Given two files that has list of words (one per line), write a program to show the intersection.
  • What kind of data structure would you use to index annagrams of words? e.g. if there exists the word “top” in the database, the query for “pot” should list that.

Google Interview: Quantitative Compensation Analyst

  • What is the yearly standard deviation of a stock given the monthly standard deviation?
  • How many resumes does Google receive each year for software engineering?
  • Anywhere in the world, where would you open up a new Google office and how would you figure out compensation for all the employees at this new office?
  • What is the probability of breaking a stick into 3 pieces and forming a triangle?

Google Interview: Engineering Manager

  • You’re the captain of a pirate ship, and your crew gets to vote on how the gold is divided up. If fewer than half of the pirates agree with you, you die. How do you recommend apportioning the gold in such a way that you get a good share of the booty, but still survive?

Google Interview: AdWords Associate

  • How would you work with an advertiser who was not seeing the benefits of the AdWords relationship due to poor conversions?
  • How would you deal with an angry or frustrated advertisers on the phone?

Sources

To conclude:

Google is one of the most sought-after employers in the tech industry. The company is known for its rigorous interview process, which often includes a mix of coding, algorithm, and behavioral questions. While Google interview questions can vary depending on the role, there are some common themes that arise. For software engineering positions, candidates can expect to be asked questions about their coding skills and experience. For product manager roles, Google interviewers often focus on behavioral questions, such as how the candidate has handled difficult decisions in the past. Quantitative compensation analyst candidates may be asked math-based questions, while AdWords Associates may be asked about Google’s advertising products and policies. Google is known for being an intense place to work, so it’s important for interviewees to go into the process prepared and ready to impress. Ultimately, nailing the Google interview isn’t just about having the right answers – it’s also about having the right attitude.

Simply put, no.

There’s no doubt that Cracking The Coding Interview (CTCI) is a great tool for honing your coding skills.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


But in today’s competitive job landscape, you need a lot more than sharp coding skills to get hired by Google.

Think about it.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Google receives about 3 million job applications every year.

But it hires less than 1% of those people.

Most of those who get the job (if they’re software engineers, at least) spent weeks or months practicing problems in CTCI and LeetCode before their interview.

But so did the people who don’t get hired.

So if a mastery of coding problems isn’t whats set the winners apart from the losers, what is?

The soft skills.

Believe it or not, soft skills matter a lot, even as a software engineer.

Here are three soft skills Google looks for that CTCI won’t help you with.

#1 LEADERSHIP

You’d be amazed how many candidates overlook the importance of leadership as they try to get hired by Google.

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

They forget that recruiters are not looking for their ability to be a strong junior engineer, but their ability to develop into a strong senior engineer.

Recruiters need to know that you have the empathy to lead a team, and that you’re willing to pull up your socks when things go awry.

If you can’t show that you’re a leader in your interview, it won’t matter how good your code is—you won’t be getting hired.

#2 COMMUNICATION & TEAMWORK

Teamwork and communication are two other skill sets you won’t gain from CTCI.


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

And just like leadership, you need to demonstrate these skills if you expect to get an offer from Google.

Why?

Because building the world’s best technology is a team sport, and if you want to thrive on Team Google, you need to prove yourself as a team player.

Don’t overlook this.

Google and the other FAANG companies regularly pass up skilled engineers because they don’t believe they’ll be strong members of the larger team.

#3 MASTERY OVER AMBIGUITY

Google recruiters often throw highly ambiguous problems at candidates just to see how they handle them.

So if you can’t walk the recruiter through your process for solving it, they’re going to move on to someone else.

The ambiguous problems I’m talking about are not like the ones you face in CTCI. They’re much more open-ended, and there truly are no right answers.

These are the sort of questions you need a guide to help you navigate through. That’s why you need more guidance than what CTCI provides if you want to give yourself the best chance at getting an offer.


If you just want to hone your coding skills, CTCI is a good place to start.

But if you’re serious about getting a job at Google, I recommend a more comprehensive course like Tech Interview Pro, which was designed by ex-Google and ex-Facebook software engineers to help you succeed in all areas of the job hunt, from building your resume all the way to salary negotiations.

Whatever you do, don’t overlook the importance of soft skills on your journey to getting hired. They’ll be what clinches your spot.

Good luck!

Source:

Is it good useful meaningful worthwhile to use register variables in C++?

What are the Greenest or Least Environmentally Programming Languages?

You can translate the content of this page by selecting a language in the select box.

The register keyword has been largely ignored by compilers for decades. In C, it prevents you from taking the address of a variable. But otherwise, most compilers ignore the hint it offers.

STANDARD C++ does not support register variables in 2022. In C register variables serve as a hint to the compiler to use a register rather than a memory address. Prior to C++17, it could also be used as a hint to the compiler in C++ as well, but only some conforming compilers did anything as a result. Starting in C++17, register has become an unused but reserved keyword.

Some compilers still permit it and some may even honor the request. Your programs, however, will not be cross-platform or written in true, standards-compliant C++ if you use the register keyword.

NOTE:

The situation in C (as opposed to C++) is quite different.

“Is it good?”

Usually the answer to that question is that it’s the wrong question, and that you should instead ask “Is it useful/meaningful/worthwhile…?” For example, if you had asked about using the register keyword in C, I would say “There’s nothing wrong about it. It won’t harm your program. It’s just a waste of time.”

It turns out C++ deprecated the register keyword in C++11, and removed it in C++17. As of C++17, the keyword register is now a reserved word with no meaning.

So, the answer to “is it good?” is “No.” Your program will fail to compile as a C++17 program.

By the end of 90s, register was the “R-type” decal of the C programming world. It did about as much for the speed of your program as the decal did for your car. (Possible exception for weak compilers on some embedded platforms.)

In any case, it doesn’t make sense to have a register qualifier on a parameter in a function prototype. It is ignored on any function declaration that is not a definition, similar to top level const.

That is, all four of these are equivalent:

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


  • void foo(int x);
  • void foo(const int x);
  • void foo(register int x);
  • void foo(register const int x);

Now, both of those are meaningful in a definition. The register keyword stops you from taking an address (in C, but not C++), and const stops you from mutating the variable.

  • void foo(register const int x) {
  • const int *px = &x; // ERROR
  • x = 42; // ERROR
  • }

So, in principle you should be able to delete the unnecessary and useless register keywords from.the prototypes in the header without affecting any aspect of the program’s speed or correctness.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


As of C++17 the use of the register qualifier has been removed. It’s now an unused reserved word.

Old? It is outright obsolete and even if you’re coding on an older version you’re advised to not use it for forward compatibility.

It was a hint to the compiler that a variable would be frequently accessed and the the compiler should prefer to use a CPU register to hold it. The downside being you can’t take the address of a register.

In days of yore (pre-millennium) on now arcane and primitive architectures significant improvements could be had from making (typically) the control variable of a for-loop as a register.

I’m sure that’s still true of some embedded platforms. But modern CPUs have multiple tiers of memory cache and the overhead of loading from and storing variables to main memory is less significant.

We no longer really live with the simplistic Von Neumann of CPU and Main Memory with nothing in between.

Also, optimizers have vastly improved and will tend to make good choices for storage on their own.

It was removed from the standard not because its use was doing harm but that it was regarded as having little practical value and the keyword may be useful in the future.

Reference: here

What are some coding anti-patterns that can easily slip through code reviews?

What is the single most influential book every Programmers should read

You can translate the content of this page by selecting a language in the select box.

Below is an aggregated list of some coding anti-patterns that can easily slip through code reviews.

  • Comments: We all want to write meaningful comments to explain our code, but what if someone writes 4 paragraphs of comments explaining exactly what a piece of code does? This will have no problem passing through the code review, but it creates frustration for developers who need to maintain the code because every time I need to change a piece of the code, well I have to go through the 4 paragraphs and maybe rewrite the whole thing, so screw it, I’m not touching that code.
  • SRP: We want out code to respect the Single Responsibility Principle, we want developers to write small unit of logic that can be easily testable, but what happens when you write too many units? This will have no problem passing the code review, and if someone asks, you can just tell them you wrote the code to be easily testable but then once you go over a certain threshold, it becomes frustrating to jump between 20 methods, in 10 classes just to do a simple task. It become the real spaghetti code.

    SRP is a principle, not a pattern. From my experience, DRY should guide one to OCP and OCP to SRP.

    The acronyms are explained here SOLID principles (plus DRY, YAGNI, KISS and other YAA)

  • Indifferent Architecture: You like a framework, so you use it for you next project and you don’t think much about it. You put all the Controllers in the Controllers folder, all the Services in the Service folder, all the Helpers in the Helpers folder and because frameworks (Rails, Laravel..) operates with a certain level of magic, the simple act of putting your Model in the Models folder will give you a certain level of assistance that you will love… This will have no problem slipping through the code review because guess what, you’re following the framework’s guidelines, but fast forward a few months and you end up with this monolith that we all like to hate and then your developers start hating on monoliths and want to go micro services… The real issue is not the monolith, the real issue was the lack of design and architecture.

The biggest anti-pattern that will slip through code reviews very easily is the singleton pattern. It is an anti-pattern for two reasons:

  1. What is unique today may be duplicate tomorrow: the classic case here is that 20 years ago we used to have one screen per workstation, today two or even three and four screens are increasingly common. This means that if your development environment uses a singleton for the screen now you are in trouble!
  2. Even if you really have just one (say, a configuration file), the implementations flying around are absolutely horrific 99.99% of the time

Right, so, why is the mainstream implementation horrific? Here is what people will generally do: because the pattern says that there must be only one instance of a class, they will hide the constructor and instead have a static method called “getInstance” or something similar to create the class and reuse it across the board.

That is the wrong way to go about it. What you should be doing is this instead:

  1. Make the entire singleton class private
  2. Have a normally allocatable class made public
  3. In the public class’ implementation (which has to reside in the same file) create the private class as required (maybe as a static field! That is completely fine)
  4. Use the public class

This is how you should do a singleton, but that is not what you see around. The net result of the common implementation is a hidden dependency on the singleton, which then means a lot of stuff cannot be tested properly without bringing the singleton in (so you can’t, for example, easily mock it).

Please stop doing singletons or, if you can’t, please do get them right.

Code reviews are really important. However, without a good set of coding standards, they can often become “this is my preference”.

Here’s my suggestion on how to avoid anti-patterns slipping through code reviews:

  • Read through Martin Fowler’s book “Refactoring”.
  • As a team, figure out what people think are anti-patterns.
  • Agree on a list. Define these anti-patterns in your coding standards.
  • Make sure everyone reads the coding standards, and can access it easily.
  • Then, you have given one another permission to call each other out when that class gets too large, or the method gets too long, or the method has too many parameters.

 

“Early exit” — the coolest and simplest thing.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Coolest Coding Pattern
Coolest Coding Pattern
 
 

The idea is to exit the code block as soon as you can. A few bonuses arise from this pattern:

  1. Your code is likely more focused on the purpose of the block. Better at avoiding a kind of “run-on sentence” type of programming.
  2. Reduced nesting. The same exact code can be written where the complicated code is within a nested bracket given a condition, but this helps keep your more complicated code at the tail end instead of nested near the top of a function.
  3. Helpful to reinforce the fact that validation and parameter checking should be done first. You get used to it and functions start to look weird if they don’t validate input parameters.
  4. Much easier for others to debug your code. Most of the validation is near the top. Less mental brainpower needed because the code is a bit more readable.

Personally, I really like how it makes my code look like block paragraphs. It makes it easy to skim and read quickly.

From a distance you can see how it forms blocky paragraphs.

SmartBear Software company published a small white-paper with 11 good practices for an effective code review process:

  1. Review fewer than 200-400 lines of code (LOC) at a time: More then 400 LOC will demand more time, and will demoralise the reviewer who will know before hand that this task will take him an enormous amount of time.
  2. Aim for an inspection rate of less than 300-500 LOC/hour: It is preferable to review less LOC but to look for situations such as bugs, possible security holes, possible optimisation failures and even possible design or architecture flaws.
  3. Take enough time for a proper, slow review, but not more than 60-90 minutes: As it is a task that requires attention to detail, the ability to concentrate will drastically decrease the longer it takes the task to complete. From personal experience, after 60 minutes of effective code review, or you take a break (go for a coffee, get up from the chair and do some stretching, read an article, etc.), or you start being complacent with the code on sensitive matters such as security issues, optimisation, and scalability.
  4. Authors should annotate source code before the review begins: It is important for the author to inform colleagues which files should be reviewed, preventing previously reviewed code from being validated again.
  5. Establish quantifiable goals for code review and capture metrics so you can improve your processes: it is important that the management team has a way of quantifying whether the code review process is effective, such as accounting for the number of bugs reported by the client.
  6. Checklists substantially improve results for both authors and reviewer: What to review? Without a list, each engineer can search for something in particular and leave forgotten other important points.
  7. Verify that defects are actually fixed! It isn’t enough for a reviewer to indicate where the faults are or to suggest improvements. And it’s not a matter of trusting colleagues. It’s important to validate that, in fact, the changes where well implemented.
  8. Managers must foster a good code review culture in which finding defects is viewedpositively. It is necessary to avoid the culture of “why you didn’t write it well in the first time?”. It’s important that zero bugs are found in production. The development and revision stage is where they are to be found. It is important to have room for an engineer to make a mistake. Only then can you learn something new.
  9. Beware the “Big Brother” effect: Similar to point 8, but from the engineer’s perspective. It is important to be aware that the suggestions or bugs reported in code reviews are quantifiable. This data should serve the managers to see if the process is working or if an engineer is in particular difficulty. But should never be used for performance evaluations.
  10. The Ego Effect: Do at least some code review, even if you don’t have time to review it all: Knowing that our code will be peer reviewed alerts us to be more cautious in what we write.
  11. Lightweight-style code reviews are efficient, practical, and effective at finding bugs: It’s not necessary to enter in the procedure described by IBM 30 years ago, where 5-10 people would close themselves for periodic meetings with code impressions and scribble each line of code. Using tools like Git, you can participate in the code review process, write and associate comments with specific lines, discuss solutions through asynchronous messages with the author, etc.

Source: Quora

This is a bit longer answer to the question – tool recommendations are in the end.

First some background. I’ve written Master’s thesis about conducting efficient code reviews in small software companies, which was partly based on a case study which I made with our own projects in small (10 employees) software company producing apps for Mac and iOS.

During the last 6-7 years I’ve evaluated various code review tools, including:

  • Atlassian Crucible (SVN, CVS and Perforce)
  • Google Gerrit (for Git)
  • Facebook Phabricator Differential (Git, Hg, SVN)
  • SmartBear Code Collaborator (supports pretty much anything)
  • Bitbucket code comments
  • Github code comments

At some point I’ve also just manually reviewed patches which were e-mailed after each commit/push.

I’ve tried many variations of the code review process:

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

  • pre-commit vs. post-commit
  • collecting various metrics & continuously trying to optimize the process vs. keeping it as simple as possible
  • making code review required for every line vs. letting developers to decide what to review
  • using checklists vs. relying on developers’ experience-based intuition

Based on my experience with the code review process itself and the tools mentioned above, within the context of a small software company, I would make the following three points about code reviews:

 

  1. Code reviews are very useful and should be conducted even in software which may not be very “mission critical”. The list of benefits is too long to discuss here in detail, but short version: supplementing testing/QA by ensuring quality and reducing rework, sharing knowledge about code, architecture and best practices, ensuring consistency, increasing “bus count”. It’s well worth the price of 10-20% of each developer’s time.
  2. Code reviews shouldn’t require use of a complex tool (some of which require maintenance by their own) or a time-consuming process. Preferably, no external tool at all.
  3. Code reviews should be natural part of development process of each and every feature.


Based on those points, I would recommend the following process & tools:

  1. Use Bitbucket or Github for your source control
  2. Use hgflow/gitflow (or similar) process for your product development
  3. The author creates Pull Request for a feature branch when it’s ready for review. The author describes the Pull Request to the reviewer either in PR comments (with prose, diagrams etc) or directly face-to-face.
  4. The reviewer reviews the Pull Request in Bitbucket/Github. A discussion can be had as Github/Bitbucket comments on PR level, on code level, face-to-face or combining all of those.
  5. When the review is done, feature branch is merged in.
  6. Every feature goes through the same process


So, my recommended tools are the same you should be using for your source code control:

  • Bitbucket Pull Requests
  • Github Pull Requests
  • Atlassian Stash Pull Requests (if you need to keep the code in-house)
  • Unit tests are above the minimum threshold
  • Consistent naming convention with rest of codebase
  • No duplication of functionality
  • Properly linted/formatted code

Code Review Checklist :

  1. Logic : Whether your logic is correct according to the use cases?
  2. Performance : Check if there is a better approach/algorithm to solve the use case?
  3. Testing : Whether unit tests [3]have been written? Do they cover all the scenarios and edge cases? Whether manual feature tests/ integration tests[4] have been performed? ( I usually omit the integration tests to be written at the time of code-review, I think it’s quite early. I am fine if the changes have been tested in a local stack )
  4. SOR : I call this separation of responsibility. Is there necessary control abstraction[5] in your low level design? How modular is your codebase? Is there a DAO layer before the database? If there is a client layer? Is there a manager layer? How have you handled exceptions? Who is taking care of logging? How generic can their methods be? What kind of methods should they expose and what responsibility should they own at each level? Probably, this is the best place to inject your knowledge of Design Patterns[6]. Also, this component decides how generic[7], scalable[8] and extensible[9] your system can be.
  5. Readability : Short and descriptive variable/method names. Strong use of standard verbiage without any grammatical mistakes. Method size kept small. Proper naming convention throughout the package be it camel case[10] or snake case[11]. Consistent naming of variables. Do not refer the same entity differently at different places in your code, avoid unnecessary confusion. Define scope[12] of every class/method/variable and make judgements of adding a new class/method thinking of who is going to use it? and who is not going to use it?
  6. Automation : If there are few lines of code being written at multiple places, move them to a method/utility. Avoid redundancy. Make the best use of reusability[13].
  7. Documentation : Draft the HLD/LLD over a wiki or a document. The key design decisions, the Proof-of-concepts[14], the reviews/suggestions by senior developers should always be consolidated at one single place. Although this point is not relevant for all the code-reviews but for the key implementation reviews, this serves as a recipe for the reviewer. Apart from these high level docs, make sure that you have javadocs/scaladocs[15] for all the public methods. Avoid comments as much as possible, make your code self explanatory.
  8. Best Practices : Read the manuals/ articles/ research papers. ( very few scenarios ) of the frameworks consumed. Be an ardent visitor of Stack Overflow[16] and check for the best ways to implement a certain complex usecase and how the code abides by it.

Footnotes


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

 
 

I spend quite a bit of time reviewing code and some of the common problems I found are :-

  1. Over architecture by creating lot of superficial interfaces
  2. Premature optimization of code
  3. Reinventing the wheel when something like this exists in open source or inside the codebase already.
  4. coming up with a totally new pattern for doing things when such problem is already solved in code.
  5. Trying hard to fit a design pattern into a code where its not needed (just because you read it few days back)
  6. Very long variable names
  7. Typos in variable names
  8. No comments(I am ok with this if code is written like a book but sometimes you are writing something complex like an algorithm that wont make sense to someone newbie and leaving a one liner comment about your decision process would help people why you are doing it).
  9. Lack of enough tests in new code.
  10. No tests or borderline tests when mutating legacy code. Also no effort to make legacy code better.
  11. Wrong technology choice
  12. Introducing SPOF in architecture
  13. Typical database schema issues
    1. Missing indexes
    2. Typos, using java conventions for db field names or mismatched conventions with existing field names
    3. very long column names
    4. Wrong datatype like strings for date or varchar(1) for boolean
    5. Too bigger or too limited field lengths

Since you’re looking to review your whole project, Stack Overflow , the Code Review Stack Exchange, and programming subreddits won’t work.

Here are some options that will help a non-technical person such as yourself:

Freelancers and Agencies

Consider hiring a more experienced freelancer or agency to review your outsourced team’s code. You might even be able to hire a local software developer to review their work.

  • UpWorkFreelancerFiverrToptalCodementor, etc. – With rates for code review as cheap as $10/hour, there’s a range of quality.
  • Development Agencies – There are thousands of software development agencies around the world that offer code review. Similar to hiring freelancers, they start at around $10/hour. See this Quora question for tips for choosing a software development company. Be sure to read through the checklist for vetting and hiring them.

On-demand Code Review

If you want a professional option then look at PullRequest.com. It’s a platform for on-demand code review that works with GitHub, Bitbucket, or GitLab to provide code quality feedback from vetted reviewers. They can review your project for bugs, security issues, code maintainability, and code quality issues.

Algorithm and Tricks to save up to 30 cents per litre on Gas in USA and Canada

Algorithm and Tricks to save up to 30 cents per litre on Gas in USA and Canada

You can translate the content of this page by selecting a language in the select box.

Looking to save a few cents per litre on gas in the USA or Canada? Here are a few tips and tricks that can help you do just that.

First, make sure you’re using the gas rewards program at your local gas station. By using a gas rewards card, you can earn points that can be redeemed for discounts at the pump. Additionally, many gas stations offer coupons and promotions that can save you money on gas purchases. Be sure to check the gas station’s website or app for any current offers.

Second, consider carpooling or taking public transportation when possible. This will help you save on gas costs and may even improve your fuel economy. If you must drive, try to consolidate your errands into one trip instead of making multiple trips. This will also help you save on gas.

Finally, keep your car well-maintained. A well-tuned engine can improve your fuel economy by up to 4%. Additionally, properly inflated tires can also improve your fuel economy by up to 3%. By following these simple tips, you can easily save up to 30 cents per litre on gas in the USA and Canada.

Gas is getting very expensive and we are trying to help consumers save on Gas by providing you daily tricks to help you save up to 30 cents per litre on Gas in USA and Canada.

Tricks to save up to 30 cents per litre on Gas in USA and Canada

1- Go shop for Food at Safeway and get an automatic 15 cents per litre discount at Safeway Fueling stations

2- To get 30 cents discount at Safeway Fuel stations, use the code below based on Epoch:

[Day]-800-[random 5digits]

Example:  Safeway 16 to 30 cents cents off gas code

  • For July 16 2022, so the  Epoch Day is:  197
  • A random 5 digits  (Change the 5 digits if it doesn’t work. )
  • So a Coupon to save 30 cents per litre at Safeway Gas Station on July 16, 2022 is:   
  • 197-800-263944
  • (Remember to change the random 5 digits until it works)

3. Purchase Discount Gift Cards for Gas

Rewards card – Cashback

You can discover a great deal of rebate gift vouchers for gas on the web. These will work all things considered Shell, Gulf, and Mobil stations. They will spare a couple of dollars for each buy, yet that can add up to enormous reserve funds on a yearly premise.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


The Optimum program is one of the better value points programs. And the points convert to cash discounts on stuff you buy every day, rather than air travel and catalogues full of slightly aged-out consumer trinkets that you don’t really need.

PC Optimum savings on gas
PC Optimum savings on gas

If you are a Costco member and also optimum member, which option gives you the most savings?

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


 From a quick google of prices in my area it looks like the average price is around $2/L and Costco is currently around $1.75. The value of the Optimum program is more that you can keep your eye out for specials and earn points which can then be put toward gas purchases. But the basic earnings of 10 pts/litre (1¢ equivalent) and redeem up to 4,000 pts ($4 equivalent) aren’t anywhere near 25¢/litre. If you don’t mind the lines 😉

If you have one near, try to fuel up at Mobil gas instead of Esso. Esso provides 15 points per liter, Mobil gas provides 35 points per liter.

I used to have a work vehicle that I filled with Mobil gas, on the company credit card, got approx. 30 dollars of free groceries from Loblaws every week because of this practice.

Which card gives 10% cash back at the moment?

TD , CIBC and Scotia all have one right now. It’s 10% cashback on purchases up to $2000 in the first three months.

I use CIBC Dividend card not only do I save on gas (.03 off a litre till you get 300l then .10 off one time and then it resets) but earn Cashback everywhere. Last yr I earned about 580 Cashback this yr I’m over 200 right now.

I bank with CIBC as I use my card I pay it off same day so never paid interest.

Note that your max yearly cash back for the 4% (gas and groceries), 2% and 1.5% categories is $800 (4% of $20,000). After $20,000 yearly spend, the 4% cash back ends, and is replaced with 0.5% on all purchases. In other words, if you spend on any of the other categories, you won’t get the $800, because you’ll hit $20,000 total spend before you hit $20,000 on gas and groceries.

I got a Rogers World Elite card, and use it for all purchases except gas and groceries, for 1.5% cash back. I use the cibc dividend card only for gas and groceries for 4% cash back.

CAA members save 3 cents per L at all shell stations. And they use air miles.

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

4. Drive Sensibly

Quick quickening and short explosions of speed can cost you a ton with regards to gas. Slow and reliable movement is constantly favored over aimless driving. Land Rovers, for example, can show signs of improvement mileage utilizing journey control. Practice smooth driving and you’ll certainly set aside some cash with improved gas mileage.

5. Time Your Trips to the Gas Station

Gas costs can ascend on Thursdays because of high odds of end of the week travel. To keep away from these expanded costs, top off the tank before Thursday or on significant occasions.

6. Utilize Your Smartphone to Find the Cheapest Gas Station


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

Your cell phone is for something other than perusing Facebook and Instagram. Use it to locate the least expensive gas in your general vicinity. Applications like AAA Triptik and GasBuddy will assist you with finding the closest and least expensive fuel. gas

Something I’ve noticed with the gas saving apps… many times the prices are wrong. I show up at a station, and end up refueling anyway, and then a few minutes later I see it has been put back to the “fake low price”.

I think owners are gaming the system in order to draw people in.

7. Get a Gas Rewards Card

Too few have a gas rewards card. It resembles not getting a prizes plan regardless of whether you’re a long standing customer. There are a great deal of sites out there that can acquaint you with bargains for fuel rewards. You can get free gas on the off chance that you gather enough focuses, so why not? Pursue that prizes card!

8. Try not to Leave Your Engine Idling for Very Long

Close off your motor in case you’re not going anyplace. You’re squandering gas, and you’re dirtying nature.

9. Deliberately Use Cards or Cash

money or credit

A few service stations charge a premium on the off chance that you pay with Visas, however some give you limits on them. Discover and use what you can to set aside cash.

10. Keep up Your Car

Keeping your vehicle kept up is the manner by which to get a good deal on gas over the long haul. In the event that you have a clunker or a vehicle that you treat severely, it will have awful mileage. Simply keeping your tires expanded can improve your gas mileage by 3.3%. So focus on your support.

11. Be Picky

Corner store

Quit heading off to the corner store near your home or the interstate so you can get it over with. This can cost you almost 15 pennies more for every gallon. Discover a corner store that has modest costs and stick with it.

11. Try not to Overload Your Car

over-burden vehicle

This is an easy decision, however it needs strengthening. In case you’re hauling around as long as you can remember in your vehicle, quit doing it. Clearly the heavier your vehicle gets the more gas it will require to cover a similar separation. Just keep the minimum necessities in your vehicle. Leave the rest at home.

This application gets you 40/cents per gallon money back at several gas stations. Average individuals are getting paid hundreds, and expert drivers are getting thousands with this application that gets you 40cents money back on each gallon of gas!”

12. Drive more slowly and think ahead and use motor braking.

The amount of time you win for speeding is so little compared to the amount of fuel you are going to save.

13. Plan out grocery trips for longer times. Instead of going a few times a week to pick up a couple things, go once every 2-3 weeks with a list of everything you’ll need for that timeframe.

14. Drive the smallest stick shift diesel available. Press in your clutch on downhills, especially long ones on the freeway. Play a game where you try to put as little foot on the gas.

15. Buy a more fuel efficient car. That makes the biggest difference.

16. Drive less. Combine trips. Carpool. Walk. Bicycle. Take public transit.

Do things (including many types of work) that can be done over a wire, over that wire, instead of driving to it. Drive a more fuel-efficient vehicle. If people would bother to think about when all of these might be possible, they would find that they generally are possible.

16. Limit discretionary driving. 

I have a gas-powered SUV and paid nearly $60 to fill its tank last week. I no longer drive around town just for the hell of it—I have to be strategic. Instead of driving to Target or Walmart for household goods and groceries, I order these necessities for delivery via Amazon. If I do need to drive to one part of town, I hit all the shops in that area at once and act as if I won’t be back for weeks. Ultimately, I am driving with intent—every trip has a purpose.

17. Tyres

Find the Tyre pressure placard in your car and make sure your tyres are pumped up to the correct pressure.

Try and do this when you have driven the car for less than 5 minutes. hot air expands and will give a false reading if the tyres are hot. do it when it is cold. Do NOT pump them up to the max pressure listed on the side of the tyre.

Keeping your tire pressure perfect is not only a safety measure but also helps in Saving Fuel as the right amount of tire pressure will reduce the friction with the road.

Tips- Tire pressure check is free on every petrol pump, but it does not mean it’s useless. Make Use of It every time you can.

Actually, over-inflate your tires for best gas mileage.

The number on your door is the recommended pressure. The max pressure on the tire is the “do not exceed” number. Something in between is fine.

The drawback is that you’re going to wear out the middle of the tire quicker than the sides (because it’ll dome a bit from the higher pressure if you don’t have enough weight to force it flatter again). This might be noticeable after years.

But tires aren’t that expensive, and fuel is. You’ll pay off the small reduction in tire life with the bigger reduction in fuel use (and, especially if you’re in a pinch today, you could kind of consider it a deferred expense). And, it’s a small change you can always taper off again later.

A side effect will be a slightly harsher ride, and slightly less grip (not great for the winter).

Roughly speaking, 50% of your gas usage comes from rolling resistance in the tires, the other 50% from air resistance. At city speeds, tires and starts/stops make up most of your gas cost. Around 2/3, 3/4 of highway speeds is where air resistance takes over. Above 60mph/100kmph is where you really start to gobble fuel disproportionately (10% faster uses 33% more fuel).

Avoid where you have to use the brakes. Any time you use the brakes you’re wasting all the energy you had to put into accelerating the vehicle. In stop/go traffic, this is most of your fuel use. So instead of racing forward to fill gaps and then have to stop, just drive half the speed, steadily. If you see the light is red, get off the gas and coast, don’t accelerate up to it and then hit the gas. Careful you’re not blocking turning lanes by driving slower, just because you’re stopping at the lights doesn’t mean everyone behind you is.

In short… there’s no free lunch here. If there were ways to save money on gas, those would already be things we’re doing. All the little tips and tricks might add up to 20%, which is like… where gas prices were a month ago.

The only easy way to save money on gas is to drive less.

18. Lose weight.

Get rid of any excess stuff you have in your car. Every extra kilo costs money to haul around. Same goes for aerodynamics. those roof racks you never use? take them off!

19. Change your driving style.

So many people these days drive aggressively. stamping your foot to the floor whenever you accelerate is both unnecessary and burns far more fuel than using 50 or 75% throttle. there are other throttle positions than 100%!

Instead of speeding up to close any gap in front of you. leave it there and coast a bit. someone may change lanes, who cares? watch ahead, if cars start braking ahead, take your foot off the throttle early and coast a bit instead of riding the car in front of you constantly braking and accelerating.

20. Drive smoothly. it’s amazing how big of a difference driving style makes to fuel consumption.

21. Engine Air Filter

Make sure the engine air filter is clean, dirty air filters make for poor fuel consumption.

22. Premium Fuels

Only go for premium fuels if the car company suggests you to. Otherwise, you are just increasing the cost of fuel and increasing the overall running cost of your car. Well, it’s a myth that premium fuel will help you save more fuel and increase the mileage of your car It’s False.

Tips- Buy Normal Fuel, Premium fuel burns more and adds more price and Same less Fuel.

23. Cruise Control

Using cruise control on the highway will provide a smooth ride with a little bit of constant acceleration. Ultimately it will add to your mileage and save you a lot of fuel.

24. Race Peddle Control

If you keep a soft foot on the peddle you will always Save lots of Fuel. When we use a hard foot car consumes the maximum amount of fuel that needs to generate the power we want.

Tips – After attaining a speed of 70-80 try losing your foot maintaining the race paddle at the fixed position where the acceleration is almost zero.

25. Keep RPM Low

Higher RPM means higher fuel consumption and Lower RPM helps in Saving Fuel providing a safe feeling to every passenger in the car.

Tips- Remember you can only create a very little difference in time if you drive fast keeping your speed and RPM high. But you can’t save more than 5 Min as per the traffic on the roads these days. Keep it Low to Save Fuel.

26. Save Fuel by Driving Smart

Driving consciously and safely will always help in maintaining the mileage of a car and Save Fuel. Avoiding unnecessary fast pickups and jackrabbit stops will always help in saving fuel.

Tips – Easy and Safe driving will help in Saving Fuel and driving safety.

27. Overlooked button on your car may help save on gas

The ‘Air Recirculating’ button on your A/C might cool off your car faster and save you a little gas. On most cars, trucks, and SUVs the air recirculation button is easily identifiable, with its representing symbol of a half-circle inside of the outline of a vehicle. Many people say they’re aware of the button, but are not sure when it should be on or off.

Another function of this climate control system is to stop pollution and exhaust fumes from entering the vehicle. Having this button activated will also help to greatly reduce pollen when driving, which is a big positive if you suffer from outdoor allergens.

“If you don’t switch the air recirculation button on, then your car’s air conditioning will be constantly cooling warm air from outside your vehicle, and will have to work much harder, putting more stress on the blower and air compressor,” said Ruhl.

Another benefit to using the air recirculation feature is the money you could save on gas.

“Cars are usually more fuel-efficient when the air conditioner is set to recirculate interior air. This is because keeping the same air cool takes less energy than continuously cooling hot air from outside,” said Ruhl.

While the recirculation button is great for the summer months, it may be best to avoid it in the winter or when your windows become foggy.

“Anytime you’re using defrost, it’s best to not have that button on. Also, using it while you have your heater on isn’t going to do anything for you vehicle,” said Ruhl.

Source.

28. Your driving habits are a huge factor. Very slow accelerations and decelerations help dramatically. Coasting to that upcoming red light instead of keeping on the gas and braking. Chilling at 60 on cruise in the right lane vs accelerating between 65 and 75 passing people in the left. Things like that.

Also for most cars, above 55 its better to keep your windows up and use ac, below 55 better to do windows down and ac off. Varys by model due to aerodynamics, but 55 is good enough to give you an idea.

29. Don’t hard accelerate

Try to slow down in a more gentle manner if your lucky the light will go green before you stop

Be consistent with your speed if it’s 30 mph zone try not to go faster than that or get distracted to the point where your car starts slowing down

If it’s hot out keep the windows down, AC in older cars can make the car consume more gas, not sure how these newer cars are doing with that.

Make sure your tires have good tread, bald tires can spin out more and if the wear is uneven that can cause additional issues.

30. If you drive a SUV trade it for a Toyota Corolla

Scientifically proven that the wavelength of reflections on the beige tone is in the optimal bandwidth to reduce optical resistance, thus better fuel efficiency.

Check your engine air filter. Make sure it is clean, replace if necessary. Make sure your tires are filled to the recommended pressure.

Also change spark plugs at their recommended service life.

Also, if you car is over 160k km, good idea to replace the O2 sensors as they get slow. Replaced all four sensors in my car and my mileage went from 9.x L/100 km to the high 7’s.

What kind of car should you buy that saves on gas?

A Prius, or any type of gas/electric hybrid, or a smaller vehicle, like a Toyota Corolla, Honda Civic, Chevy Malibu, Ford Focus, VW GTI or Rabbit.

But there is a direct correlation between How you drive, regardless of What you drive. I have a 1998 Chevy Silverado, with a 5.7L (350 cu in) V8, and I can get great MPG’s when I drive it sensibly, and don’t have a ton of unnecessary stuff/gear in the back, or even back seat.

Make sure the tires are set to the appropriate PSI. Always set them to the pressure setting on the inside of the drivers door. On that subject, changing the tire size or wheel size and sidewall thickness will also have a negative effect on MPG.

You would be surprised how much stuff a lot of people have laying in the back of their car, and if they would simply clean it out, they could save money.

Also, keeping your vehicle tuned up and the oil changed per the owners manual will also help keep the MPG high.

Not speeding away from every stop sign or stop light will also help.

 

Keeping your speed down on the freeway will help.

However, opting to roll the windows down instead of using the A/C to keep cool will actually create drag on the car and lower the efficiency. So crank the heat sucker up to high. Not only with rolling the windows up save fuel, it will also reduce noise and reduce fatigue, so you can drive more comfortably.

What burns more gas, accelerating as fast as possible to 60 mph (e.g. 10 seconds) or accelerating slowly (e.g. 30 seconds)?

Not long ago I had a ’16 Subaru WRX. Fast, turbo-charged all-wheel-drive car. Terrible gas mileage. It’s also heavy, roughly two tons.

One day, I did an experiment on the city streets. Rather than accelerate in a controlled manner and drive at a consistent pace, I put the gas pedal all the way down to reach about 15 mph over the speed limit, and then I put the car in neutral, and let it coast. The car would coast a full mile before it was going slow enough (5 to 10 mph below the speed limit) that I had to put it in gear and goose the throttle again full blast and bring it up to 15 mph over the speed limit.

In this simple test, the overall gas mileage skyrocketed. It went from about 25 mpg to more like 40 mpg. And yet I was ultimately going the speed limit on average, and kicking off my trips very quickly.

This led me to a realization. Yes, holding that gas pedal all the way down uses up a lot of gas. But what it also does is important: it brings you up to speed. What also uses up a lot of gas is simply cruising—not coasting, cruising. That’s where most of your gas is being spent, because your engine is expending gas, quite a bit of it, actually, just to keep up and maintain velocity.

And when you accelerate slowly, you’re effectively cruising, without being up to speed, yet with a little extra gas. That’s wasteful, because you’re going slow and still using up plenty of gas. Is it more wasteful than the explosion of rushing your car forward immediately? Actually, perhaps so, if you’re taking too long to do it.

Remember, just turning that engine using fuel uses up fuel. Accelerating quickly brings the car up to speed quickly—which brings the engine’s productivity to the maximum output quickly—which is not an infinite dump of fuel, it is limited to what the fuel line and injector and cylinder can mix with air and compress, which is measurable, and it’s actually not as far off from cruising fuel as people seem to think. Source: Quora

 TIPS ON PUMPING GAS THAT WILL SAVE YOU $$$

1️⃣ Only buy or fill up your car or truck in the early morning when the ground temperature is still cold. Remember that all service stations have their storage tanks buried below ground. The colder the ground the more dense the gasoline, when it gets warmer gasoline expands, so buying in the afternoon or in the evening….your gallon is not exactly a gallon. In the petroleum business, the specific gravity and the temperature of the gasoline, diesel and jet fuel, ethanol and other petroleum products plays an important role.

2️⃣ A 1-degree rise in temperature is a big deal for this business. But the service stations do not have temperature compensation at the pumps.

3️⃣ When you’re filling up do not squeeze the trigger of the nozzle to a fast mode If you look you will see that the trigger has three (3) stages: low, middle, and high. You should be pumping on low mode, thereby minimizing the vapors that are created while you are pumping. All hoses at the pump have a vapor return. If you are pumping on the fast rate, some of the liquid that goes to your tank becomes vapor. Those vapors are being sucked up and back into the underground storage tank so you’re getting less worth for your money.

4️⃣ One of the most important tips is to fill up when your gas tank is HALF FULL. The reason for this is the more gas you have in your tank the less air occupying its empty space. Gasoline evaporates faster than you can imagine. Gasoline storage tanks have an internal floating roof. This roof serves as zero clearance between the gas and the atmosphere, so it minimizes the evaporation. Unlike service stations, here where I work, every truck that we load is temperature compensated so that every gallon is actually the exact amount.

5️⃣ Another reminder, if there is a gasoline truck pumping into the storage tanks when you stop to buy gas, DO NOT fill up; most likely the gasoline is being stirred up as the gas is being delivered, and you might pick up some of the dirt that normally settles on the bottom.

6️⃣ Note: If the pump repeatedly shuts off early, it could be a sign of a problem with the vapor recovery system, such as a clogged carbon canister.”

How can You save gas when driving long distances?

1. First and foremost Maintain a steady speed.
2. Fill your tire pressure 1 or 2 psi more than the prescribed number.
3. Do not travel with your AC off, especially during long distance journey. With your AC off you will have to lower the car windows and if you are traveling at speed more than 60 miles per hour it is going to affect the aerodynamics of the car and this might affect the fuel consumption a bit.
4. Remove all unnecessary weight from the car.
5. Choose a well maintained road even if it is going to take you more time than a bad road.
6. Have your car checked with a mechanic before you travel.

Do automobiles get better fuel mileage with the A.C. on and windows up, or A.C. off, and windows down?

Under 70mph and your windows up, your AC will use more energy than if the windows were down and the AC off. As your cruising speed increases, the aerodynamic drag on the car increases to the point where having the windows down creates a greater load on the engine than the AC does. This only applies to modern cars which are generally quite aerodynamic. Having the windows up or down doesn’t really make any difference to vintage cars. Remember though, AC takes more power than you might suppose so on a long hot journey, driving with the AC off will improve mpg. Taking the AC equipment off altogether will make an even bigger difference – as much as 10%.

 
 

Does cruising in a car save on gas? How?

 

Since cruising involves maintaining the vehicle at a constant velocity, it requires minimum efforts (Power) from the engine.
The power required from the engine is used to nullify the declaration from frictional forces (air drag and road adhesion). Since less power is required from engine the ECU ensures minimum gas is used.

Can lowering your tailgate really save on gas?

No it’s a myth…in fact the now cancelled show MythBuster’s did an episode on it. Pretty legit test if I do say so, although if you have a truck with two gas tanks you could test it yourself as I have. The one thing that can help seems counterintuitive, which is add a little weight. Like around 100 pounds or so depending, and make sure it’s over or behind the rear axle in the bed. What this does is give the rear wheels a bit more traction and that increases your gass mileage a little. A trick I learned from my Grandpa as a curious little kid wondering why he always had a couple spares mounted to each side of the bed right up against the tailgate. Those old gas guzzlers need all the efficiency they could get.

Bonus: also works better in snow, ice, and slush…get some sand bags and throw them in the same spot behind the axle and you limit fishtailing/sliding in the winter. More weight than the hundred pounds, plus it has multiple uses. If you get stuck where the tires are spinning on the ice you can open up a sand bag and out the sand in front and behind the tire to help gain traction. Make sure to do both sides of the truck as you probably won’t have positraction. Lol…additionally if it’s not too cold you can pee on the ice around the tire. I have gotten many a people unstuck with a little sand and piss.

 

How can I save gas when driving long distances?

 

1. First and foremost Maintain a steady speed.
2. Fill your tire pressure 1 or 2 psi more than the prescribed number.
3. Do not travel with your AC off, especially during long distance journey. With your AC off you will have to lower the car windows and if you are traveling at speed more than 60 miles per hour it is going to affect the aerodynamics of the car and this might affect the fuel consumption a bit.
4. Remove all unnecessary weight from the car.
5. Choose a well maintained road even if it is going to take you more time than a bad road.
6. Have your car checked with a mechanic before you travel.

Hope these points might help you.

Can I keep driving on eco mode? How much does it save on gas?

Economy mode is useful on most conditions but be advised, that some engines need to be “ blown free” by using higher rpm snd full engine load in order to keep the exhaust/ turbo- system declogged. That applies especially to diesel- engines with egr- system. In “ grandfather”— drive mode only those will have need for extended overhaul way before resching estimated end of service- time. ( what absolutely nullifies all eventual gains from eco- mode

 

What are some ways to save on gas annually?

To save gas you should follow the instructions of the manufacturer of your car if your question refers to the gasoline that you spend to make your car run. If your question refers to the natural gas that you use at home to heat up food, water etc then the only recommendation is to watch for any leaks if you suspect that you are losing gas. Fixing those leaks by means of an experienced technician will resolve your problem. Coming back to your car, not over speeding, and not letting the engine on idle for long time in order to keep the air conditioner working or the heater in the Winter these are two important ways to reduce gasoline consumption.

Summary:

Looking to save a few cents per litre on gas? Here are a few tips and tricks that can help you do just that:

1. Check gas prices before you fill up. Many gas stations offer discounts for cash, so it’s worth checking beforehand to see if there’s a station nearby that offers a cheaper price.

2. Use coupons. Many gas stations offer coupons that can be used to save money at the pump. Simply present the coupon when you’re paying and you’ll automatically get a discount.

3. Shop around for gas cards. Some gas cards offer discounts of up to 5 cents per litre, so it’s worth doing some research to see if you could be saving even more money.

4. Drive less. This one is obvious, but the less you drive, the less gas you’ll need to purchase. So, if you can carpool, take public transportation, or walk/bike instead of driving, you’ll save yourself some money in the long run.

5. Keep your car well-maintained. A well-tuned engine can improve your fuel economy by up to 4%, so it’s worth getting your car checked out by a mechanic every

By following these tips, you can easily save money on gas without making major changes to your lifestyle.

Does getting a Tesla make financial sense in terms of cost savings on gas and maintenance?

If you looked at all the cars in the world and calculated which one had the lowest cost per mile transporting someone from Point A to Point B. It would probably not be a Tesla. If people used that criterion for buying a car, then there would be only one car in each class. People buy cars for lots of reasons. If you’re keeping the car for 5 years, some high-mileage hybrids will cost less (absent government subsidies) than a Tesla. Gas is cheap these days. Push it out 10 years or if gas prices go back up, the calculus is different. Your Tesla will outperform that high-mileage hybrid and be a lot more fun to drive. How much is that worth to you?
 
 
 

With rising prices, what are smart ways to save money or good alternatives like horse and carriage to save on gas?

This is my plan for tackling the current inflationary environment in the United States:

  • Limit discretionary driving. I have a gas-powered SUV and paid nearly $60 to fill its tank last week. I no longer drive around town just for the hell of it—I have to be strategic. Instead of driving to Target or Walmart for household goods and groceries, I order these necessities for delivery via Amazon. If I do need to drive to one part of town, I hit all the shops in that area at once and act as if I won’t be back for weeks. Ultimately, I am driving with intent—every trip has a purpose.
  • Meal substitution. In my area of the U.S., beef is less expensive than chicken. Thus, I substitute beef for chicken and prepare meals like spaghetti, burgers, and chili. Also, my cost of groceries has risen faster than the cost of a Chipotle burrito, for instance, so I sometimes eat a Chipotle burrito instead of eating at home.
  • Plan for higher utilities. My energy bill is much higher today than it was last year. Since I live in an apartment, each unit’s bill is decided by dividing the energy cost for the entire building by the number of occupied units. Thus, I have very little control over the cost of my monthly bill. I must prepare for this expense and not let it blindside me.
  • Limit unnecessary consumption. Now is not the time to be frivolous with money. All nonessential consumption (i.e., online shoe shopping, going to the movies, etc.) is essentially placed on hold.
  • Invest tactfully. With inflation running hot, the Federal Reserve likely hiking interest rates in the coming months, and macroeconomic and political uncertainty, the stock and crypto markets may fall further before rising once again. Having dry powder (i.e., cash) on hand to take advantage of the situation is not a bad idea. I’ve been building my cash position over the past couple of months, so I can buy assets when others are fearful and need/decide to sell. As a long-term investor, you want to buy into fear and weakness, and I believe we are in that environment.
 

How much money do you save on gas with a hybrid?

If you compare a small, light ICE vehicle, you won’t save anything but if you compare an ICE car of the same weight as an EV then you will save money, possibly as much as $10 every 200 miles.

 
 
 

How much money do you save on gas by paying cash instead of credit in the long-term?

 

Using a 10 cent per gal difference between cash & cc, that comes to about $28 extra per year to use my credit card for my mileage and average MPG. That’s about $2.33/month so not much at all. Then you need to take into account that I get 3% back using my credit card at the pump from my credit card rewards program. That comes to $29/year. Those were round number calculations I did though so we’ll just call it even.

 

Does cruise control actually save gas or is that a myth?

The cruise control itself does not save any gas compared to simply keeping your foot at the same position. However, what cruise control does tend to do, is influence the driving style of the human inside.

The whole point of the cruise control is that you don’t need to constantly control the throttle. And thus you will tend to want to avoid needing to do that while using it. At the most, you will want to disengage the cruise control, to reduce speed slowly when needed, and then re-engage when you can overtake.

The result is that you tend to start looking further ahead, a few cars further than the one directly in front of you. Coming up on a car, you will decide earlier if you can overtake, or if you lift the throttle. This is very positive for reducing fuel consumption.

Many drivers without cruise control will not lift until the last moment, and then often need to brake when they can’t overtake. This is disastrous for the fuel consumption.

There are some special situations where cruise control itself can help reducing fuel consumption. One of those is when using the highest gear at very low throttle. This tends to be the most fuel-efficient configuration, but with so little torque, it can be difficult to keep the speed constant. The cruise control can do that very well. If you can’t manage to drive comfortably at that speed yourself, but the cruise control can, then that is a case where the cruise control directly allows higher fuel efficiency.

Another is when your car doesn’t have a mid-console near your foot, and thus is it difficult to lean your foot against it, helping keep a steady position. In that case, driving without cruise control might lead to constant speed changes as well, and the cruise control could help smooth that. That will also improve fuel efficiency slightly.

But in general, anything the cruise control does, you can do as well… It’s is the driving style that improves fuel efficiency. Cruise control can stimulate a more relax driving style, and that helps. If you already were driving relaxed and smooth, then you’ll not notice any difference.

 

By improving public roads in order to minimize rolling resistance and enhance traction, how much money could be saved on gas consumption and avoidance of traffic accidents?

Patent 6,923,124 has a rolling surface that is 1000 times smoother than typical asphalt. This smooth rolling surface and engineered reverse sag allows steel wheels instead of energy wasting rubber tires. All oil can be avoided (saved) by switching to aerodynamic vehicles rolling on three more perfect rolling surfaces configured in a triangle. There is no reason a car should ever leave the normally traveled portion of the roadway. Designing in 3D means a vehicle can never come off the designated trajectory. Instead of a reactive suspension producing pitch, yaw and roll the guideway produces those motions with precision. This improved “road” (guideway) allows for 180 mph travel at a tiny fraction of the required energy. This in turn allows all transportation to be powered by a 7 foot wide s
 

If I drove 100 miles every day, how long would it take me to pay off my electric car with the money I save on gas?

 
Ok, let’s get serious, and go about doing this the way a person would who’s really trying to save money. Two scenarios: * Aggressive scenario: Buy a used 2014 Nissan Leaf for $8,000. It will only have about 30,000 miles and a range around 85 miles. In my area, electricity will cost 2 cents per mile since our electricity is fairly cheap. Assume the gas car being replaced was getting 30 mpg, so its fuel cost is 11 cents per mile. You are commuting to work each day, 50 miles each way. You don’t have enough range to get home, but your employer offers free charging. (That can happen. My employer does.) Driving 100 miles per day, paying for half and getting half from your employer, will cost $1.00 per day, or $30 per month. The gas car would cost $11 per day or $330 per month. Savings is $300 per
 

What kind of car should I buy that saves on gas?

Short answer:  Toyota corolla or Honda civic

But there is a direct correlation between How you drive, regardless of What you drive. I have a 1998 Chevy Silverado, with a 5.7L (350 cu in) V8, and I can get great MPG’s when I drive it sensibly, and don’t have a ton of unnecessary stuff/gear in the back, or even back seat.

Make sure the tires are set to the appropriate PSI. Always set them to the pressure setting on the inside of the drivers door. On that subject, changing the tire size or wheel size and sidewall thickness will also have a negative effect on MPG.

You would be surprised how much stuff a lot of people have laying in the back of their car, and if they would simply clean it out, they could save money.

Also, keeping your vehicle tuned up and the oil changed per the owners manual will also help keep the MPG high.

Not speeding away from every stop sign or stop light will also help.

Keeping your speed down on the freeway will help.

However, opting to roll the windows down instead of using the A/C to keep cool will actually create drag on the car and lower the efficiency. So crank the heat sucker up to high. Not only with rolling the windows up save fuel, it will also reduce noise and reduce fatigue, so you can drive more comfortably.

 
 

When I have little gas left in my car, is it better to drive fast or slow so that I can get the best distance out of the amount of gas left?

 

Look at all the other mileage techniques that other people have formulated over the years, they all apply. Basically:

  1. Accelerate firmly from a stop. Too slowly, and you waste time in low gears, which are inefficient. Too fast, your engine is burning more fuel than it needs to. 8 – 10 seconds to 40mph is good, get a feel for your car, maybe get a OBD sensor to monitor fuel usage directly (any car after 1990s has one, I think)
  2. Try to get to the top gear, and at lowest RPM. Engine spins the slowest for maximum distance. A little slower is usually ok, especially if the car has bad drag coefficients, or there’s a lot of stops. Accelerating to top gear only to brake for a stop light is a waste of fuel.
  3. Modern cars cut fuel when engine braking. Try to roll as far/long as possible without using the brakes and avoid idling. Braking early, then rolling is better than coming to a complete stop since idling is just a constant drain, and if the light goes green, you save kinetic energy. You can usually feel when the ECU starts fuel delivery again when the engine braking lessens, though forcing downshifts is not recommended due to
    1. Increased wear on a transmission which is more expensive than brake replacement
    2. the spurt of fuel needed to kick the RPMs up. Though it may be needed if you need every last drop. Try downshifting early, if needed.

Try not to use neutral when coasting since the engine is still running. Also, its generally illegal

4. coast up hill, accelerate downhill (where possible). Don’t roll down the hill backwards.

5. If in a Hybrid, try to coast at 0 throttle and 0 regen. Regen, while nice, is fundamentally inefficient due to multiple transformations of energy. At 0 throttle, the engine is off, and no fuel is used. Hybrids generally have low drag, so can go pretty far on flat ground.

6. Tailgating can save some fuel, but it isn’t really safe. A few car lengths of distance can still yield a bit, though don’t overspeed to do so.

7. Turn engine off if you’re gonna be stopped for long periods of time.

 

Is driving slow up on a hill(consume less fuel but takes longer) or fast(consume more fuel but takes less time) better choice for fuel saving ? The hill would be 1 km for reference.

The answer is matching the proper rev range to power to be most efficient.

The real world answer is that if it’s just a kilometer the difference is negligible

Engines are most efficient usually somewhere at the 1/3 to half of the RPM range and at decent load. So if you need to floor it to get on the hill on current gear, downshift, else just press pedal slightly stronger and keep the speed.

As long as you can engine brake downhill the speed doesn’t really matter, just keep the usual traffic speed.

In general accelerating just to slow down later is worse than just keeping steady pace, especially if there are brakes involved.

That’s a good question, but not a simple one to answer.

A car is most efficient when in its highest gear. If you accelerate too slowly, you will spend too much time in the lower gears before you get into the highest gear. Therefore, accelerating excessively slowly is not the most economical technique. Thus, advise to accelerate slowly to save fuel is WRONG!

A few decades ago, BMW did some tests to determine the most economical way to drive their cars. Although that was before fuel injection became common, I’m sure that the rules have not changed very much. They found that for their cars, the most economical technique was to accelerate with a heavy foot (2/3 to 3/4 throttle) but upshift at only 2000 rpm. That works well for a manual transmission, but is generally impossible with an automatic transmission because it will upshift at a considerably higher speed if you use a heavy foot and, just as bad, delay locking the torque converter. So, with an automatic transmission, the most economical technique is probably to accelerate at a moderate rate, i.e., not too fast and not too slowly.

The rules may have changed slightly because of modern electronic fuel injection systems which control the fuel mixture better. They are less likely to deliver an excessively rich mixture at wide throttle openings which occur with a very heavy foot.

With an Otto-cycle engine (4-stroke, spark ignition), the throttle valve is an important source of inefficiency. The power required to suck in air against the vacuum created by the throttle valve wastes fuel. For that reason, an Otto-cycle engine is most efficient when the throttle valve is wide open, or nearly so, provided that the fuel system does not provide an excessively riche mixture under those conditions. That’s why it is most efficient to use a heavy foot and upshift at low speeds, but not at such low speeds that the engine knocks or doesn’t run smoothly since that could cause damage.

The most inefficient thing you can do is use a lower gear than necessary for the power you are using. So, if you delay upshifting until 3000 rpm when, with a heavier foot you could get the same power at 2000 rpm, you are wasting fuel. So, for fuel efficiency, you should upshift at the lowest possible speed that will provide the power you need, but not at such a low speed that the that the engine protests.

In simplistic physics terms, it makes no difference. You create the same amount of kinetic energy either way – and theoretically, that means you must burn the same amount of fuel.

For an internal combustion engine with gears it gets complicated.

A conventional car engine has a range of RPM’s at which the engine operates most efficiently. At lower or higher RPM’s gas consumption is worse.

So the trick is to keep the car in that band.

With a manual gearbox – the best approach is to push hard on the pedal to get the RPM’s into the efficient range – then accelerate more smoothly to the top of that range – then downshift.

If your car has enough gears, you can arrange to stay in the efficient range for all but the initial acceleration in 1st gear.

However, with an automatic (and especially automatics with not many gears in their gearbox) – you have no direct control over that – so it becomes a matter of tricking the gearbox into doing what you want. With modern gearboxes, you’d hope that the manufacturer set the shift points for efficiency – but it depends on the car. For a sports car they probably optimized the shift pattern for best 0–60 time – so they’d keep the engine in the “power zone” of RPM’s rather than in the “efficiency zone”…for a family sedan, the reverse would be the case. Many cars have a “sport” button which essentially lets you choose between keeping the engine in the power band or the efficiency band.

But even on the “economy” setting, the software won’t be able to prevent you from demanding performance that drives it out of the economy range.

It also varies depending on the air temperature – when the air is cold, it’s more dense and the fuel management software can burn fuel in larger quantities than on hot days – and that may influence the decision.

There are other considerations too. If you accelerate and brake gently then it takes longer to get you where you’re going. This means that the air conditioner, radio, lights, computer(s), etc are running for longer…and that takes energy too.

On the other hand – if you continually red-line the engine, it’ll wear out faster and a worn out engine uses more gas than a good engine.

Honestly – the answer is horribly complicated – and it varies from car to car.

To Conclude:

Looking to save a few cents per litre on gas? Here are a few tips and tricks that can help you do just that:

1. Check gas prices before you fill up. Many gas stations offer discounts for cash, so it’s worth checking beforehand to see if there’s a station nearby that offers a cheaper price.

2. Use coupons. Many gas stations offer coupons that can be used to save money at the pump. Simply present the coupon when you’re paying and you’ll automatically get a discount.

3. Shop around for gas cards. Some gas cards offer discounts of up to 5 cents per litre, so it’s worth doing some research to see if you could be saving even more money.

4. Drive less. This one is obvious, but the less you drive, the less gas you’ll need to purchase. So, if you can carpool, take public transportation, or walk/bike instead of driving, you’ll save yourself some money in the long run.

5. Keep your car well-maintained. A well-tuned engine can improve your fuel economy by up to 4%, so it’s worth getting your car checked out by a mechanic every

Sources:

1- Quora

2- Reddit

3- https://vehiclecare.in/blaze/how-to-save-fuel-13-fuel-saving-tips/


What is the tech stack behind Google Search Engine?

Google Search Engine Tech Stack

You can translate the content of this page by selecting a language in the select box.

Google Search is one of the most popular search engines on the web, handling over 3.5 billion searches per day. But what is the tech stack that powers Google Search?

The PageRank algorithm is at the heart of Google Search. This algorithm was developed by Google co-founders Larry Page and Sergey Brin and patented in 1998. It ranks web pages based on their quality and importance, taking into account things like incoming links from other websites. The PageRank algorithm has been constantly evolving over the years, and it continues to be a key part of Google Search today.

However, the PageRank algorithm is just one part of the story. The Google Search Engine also relies on a sophisticated infrastructure of servers and data centers spread around the world. This infrastructure enables Google to crawl and index billions of web pages quickly and efficiently. Additionally, Google has developed a number of proprietary technologies to further improve the quality of its search results. These include technologies like Spell Check, SafeSearch, and Knowledge Graph.

The technology stack that powers the Google Search Engine is immensely complex, and includes a number of sophisticated algorithms, technologies, and infrastructure components. At the heart of the system is the PageRank algorithm, which ranks pages based on a number of factors, including the number and quality of links to the page. The algorithm is constantly being refined and updated, in order to deliver more relevant and accurate results. In addition to the PageRank algorithm, Google also uses a number of other algorithms, including the Latent Semantic Indexing algorithm, which helps to index and retrieve documents based on their meaning. The search engine also makes use of a massive infrastructure, which includes hundreds of thousands of servers around the world.  While google is the dominant player in the search engine market, there are a number of other well-established competitors, such as Microsoft’s Bing search engine and Duck Duck Go.

The original Google algorithm was called PageRank, named after inventor Larry Page (though, fittingly, the algorithm does rank web pages). 

r/dataisbeautiful - [OC] Google dominates the search market with a 91.9% market share

After 17 years of work by many software engineers, researchers, and statisticians, Google search uses algorithms upon algorithms upon algorithms.

How does Google’s indexing algorithm (so it can do things like fuzzy string matching) technically structure its index?

  • There is no single technique that works.
  • At a basic level, all search engines have something like an inverted index, so you can look up words and associated documents. There may also be a forward index.
  • One way of constructing such an index is by stemming words. Stemming is done with an algorithm than boils down words to their basic root. The most famous stemming algorithm is the Porter stemmer.
  • However, there are other approaches. One is to build n-grams, sequences of n letters, so that you can do partial matching. You often would choose multiple n’s, and thus have multiple indexes, since some n-letter combinations are common (e.g., “th”) for small n’s, but larger values of n undermine the intent.
  •  don’t know that we can say “nothing absolute is known”. Look at misspellings. Google can resolve a lot of them. This isn’t surprising; we’ve had spellcheckers for at least 40 years. However, the less common a misspelling, the harder it is for Google to catch.
  • One cool thing about Google is that they have been studying and collecting data on searches for more than 20 years. I don’t mean that they have been studying searching or search engines (although they have been), but that they have been studying how people search. They process several billion search queries each day. They have developed models of what people really want, which often isn’t what they say they want. That’s why they track every click you make on search results… well, that and the fact that they want to build effective models for ad placement.
  • Each year, Google changes its search algorithm around 500–600 times. While most of these changes are minor, Google occasionally rolls out a “major” algorithmic update (such as Google Panda and Google Penguin) that affects search results in significant ways.

    For search marketers, knowing the dates of these Google updates can help explain changes in rankings and organic website traffic and ultimately improve search engine optimization. Below, we’ve listed the major algorithmic changes that have had the biggest impact on search.

  • Originally, Google’s indexing algorithm was fairly simple.

    It took a starting page and added all the unique (if the word occurred more than once on the page, it was only counted once) words on the page to the index or incremented the index count if it was already in the index.

    The page was indexed by the number of references the algorithm found to the specific page. So each time the system found a link to the page on a newly discovered page, the page count was incremented.

    When you did a search, the system would identify all the pages with those words on it and show you the ones that had the most links to them.

    As people searched and visited pages from the search results, Google would also track the pages that people would click to from the search page. Those that people clicked would also be identified as a better quality match for that set of search terms. If the person quickly came back to the search page and clicked another link, the match quality would be reduced.

    Now, Google is using natural language processing, a method of trying to guess what the user really wants. From that it it finds similar words that might give a better set of results based on searches done by millions of other people like you. It might assume that you really meant this other word instead of the word you used in your search terms. It might just give you matches in the list with those other words as well as the words you provided.

    It really all boils down to the fact that Google has been monitoring a lot of people doing searches for a very long time. It has a huge list of websites and search terms that have done the job for a lot of people.

    There are a lot of proprietary algorithms, but the real magic is that they’ve been watching you and everyone else for a very long time.

What programming language powers Google’s search engine core?

C++, mostly. There are little bits in other languages, but the core of both the indexing system and the serving system is C++.

How does Google handle the technical aspect of fuzzy matching? How is the index implemented for that?

  • With n-grams and word stemming. And correcting bad written words. N-grams for partial matching anything.

Use a ping service. Ping services can speed up your indexing process.

  1. Search Google for “pingmylinks”
  2. Click on the “add url” in the upper left corner.
  3. Submit your website and make sure to use all the submission tools and your site should be indexed within hours.

Our ranking algorithm simply doesn’t rank google.com highly for the query “search engine.” There is not a single, simple reason why this is the case. If I had to guess, I would say that people who type “search engine” into Google are usually looking for general information about search engines or about alternative search engines, and neither query is well-answered by listing google.com.

To be clear, we have never manually altered the search results for this (or any other) specific query.

When I tried the query “search engine” on Bing, the results were similar; bing.com was #5 and google.com was #6.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


What is the search algorithm used by the Google search engine? What is its complexity?

The basic idea is using an inverted index. This means for each word keeping a list of documents on the web that contain it.

Responding to a query corresponds to retrieval of the matching documents (This is basically done by intersecting the lists for the corresponding query words), processing the documents (extracting quality signals corresponding to the doc, query pair), ranking the documents (using document quality signals like Page Rank and query signals and query/doc signals) then returning the top 10 documents.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Here are some tricks for doing the retrieval part efficiently:
– distribute the whole thing over thousands and thousands of machines
– do it in memory
– caching
– looking first at the query word with the shortest document list
– keeping the documents in the list in reverse PageRank order so that we can stop early once we find enough good quality matches
– keep lists for pairs of words that occur frequently together
– shard by document id, this way the load is somewhat evenly distributed and the intersection is done in parallel
– compress messages that are sent across the network
etc

Jeff Dean in this great talk explains quite a few bits of the internal Google infrastructure. He mentions a few of the previous ideas in the talk.

He goes through the evolution of the Google Search Serving Design and through MapReduce while giving general advice about building large scale systems.

https://www.youtube.com/watch?v=modXC5IWTJI&t=30s
 
 

Here’s a link to his slides:

As for complexity, it’s pretty hard to analyze because of all the moving parts, but Jeff mentions that the the latency per query is about 0.2 s and that each query touches on average 1000 computers.

Is Google’s LaMDA conscious? A philosopher’s view (theconversation.com)

LaMDA is Google’s latest artificial intelligence (AI) chatbot. Blake Lemoine, a Google AI engineer, has claimed it is sentient. He’s been put on leave after publishing his conversations with LaMDA.

If Lemoine’s claims are true, it would be a milestone in the history of humankind and technological development.

Google strongly denies LaMDA has any sentient capacity.

Fun facts about Google Search Engine Competitors

r/dataisbeautiful - [OC] Google dominates the search market with a 91.9% market share

original post here

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

Data Source: statcounterGS

Tools Used: Excel & PowerPoint

Edit: Note that the data for Baidu/China is likely higher. How statcounterGS collects the data might understate # users from China.

Methodology

Baidu is popular in China, Yandex is popular in Russia.


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

Yandex is great for reverse image searches, google just can’t compete with yandex in that category.

Normal Google reverse search is a joke (except for finding a bigger version of a pic, it’s good for that), but Google Lens can be as good or sometimes better at finding similar images or locations than Yandex depending on the image type. Always good to try both, and also Bing can be decent sometimes. 

Bing has been profitable since 2015 even with less than 3% of the market share. So just imagine how much money Google is taking in.

Firstly: Yahoo, DuckDuckGo, Ecosia, etc. all use Bing to get their search results. Which means Bing’s usage is more than the 3% indicated.

Secondly: This graph shows overall market share (phones and PCs). But, search engines make most of their money on desktop searches due to more screen space for ads. And Bing’s market share on desktop is WAY bigger, its market share on phones is ~0%. It’s American desktop market share is 10-15%. That is where the money is.

What you are saying is in fact true though. We make trillions of web searches – which means even three percent market-share equals billions of hits and a ton of money.

I like duck duck go. And they have good privacy features. I just wish their maps were better because if I’m searching a local restaurant nothing is easier than google to transition from the search to the map to the webpage for the company. But for informative searches I think it gives a more objective, less curated return.

Use Ecosia and profits go to reforestation efforts!

Turns out people don’t care about their privacy, especially if it gets them results.

I recently switched to using brave browser and duck duck go and I basically can’t tell the difference in using Google and chrome.

The only times I’ve needed to use Google are for really specific searches where duck duck go doesn’t always seem to give the expected results. But for daily browsing it’s absolutely fine and far far better for privacy.

There is a lot that happens between the moment a user types something in the input field and when they get their results.

Google Search has a high-level overview, but the gist of it is that there are dozens of sub systems involved and they all work extremely fast. The general idea is that search is going to process the query, try to understand what the user wants to know/accomplish, rank these possibilities, prepare a results page that reflects this and render it on the user’s device.

I would not qualify the UI of simple. Yes, the initial state looks like a single input field on an otherwise empty page. But there is already a lot going on in that input field and how it’s presented to the user. And then, as soon as the user interacts with the field, for instance as they start typing, there’s a ton of other things that happen – Search is able to pre-populate suggested queries really fast. Plus there’s a whole “syntax” to search with operators and what not, there’s many different modes (image, news, etc…).

One recent iteration of Google search is Google Lens: Google Lens interface is even simpler than the single input field: just take a picture with your phone! But under the hood a lot is going on. Source.

Conclusion:

The Google search engine is a remarkable feat of engineering, and its capabilities are only made possible by the use of cutting-edge technology. At the heart of the Google search engine is the PageRank algorithm, which is used to rank web pages in order of importance. This algorithm takes into account a variety of factors, including the number and quality of links to a given page. In order to effectively crawl and index the billions of web pages on the internet, Google has developed a sophisticated infrastructure that includes tens of thousands of servers located around the world. This infrastructure enables Google to rapidly process search queries and deliver relevant results to users in a matter of seconds. While Google is the dominant player in the search engine market, there are a number of other search engines that compete for users, including Bing and Duck Duck Go. However, none of these competitors have been able to replicate the success of Google, due in large part to the company’s unrivaled technological capabilities.

 

Phone screen shows text: LaMDA: our breakthrough conversation technology

Programming, Coding and Algorithms Questions and Answers

What is the single most influential book every Programmers should read

You can translate the content of this page by selecting a language in the select box.

Coding is a complex process that requires precision and attention to detail. While there are many resources available to help learn programming, it is important to avoid making some common mistakes. One mistake is assuming that programming is easy and does not require any prior knowledge or experience. This can lead to frustration and discouragement when coding errors occur. Another mistake is trying to learn too much at once. Coding is a vast field with many different languages and concepts. It is important to focus on one area at a time and slowly build up skills. Finally, another mistake is not practicing regularly. Coding is like any other skill- it takes practice and repetition to improve. By avoiding these mistakes, students will be well on their way to becoming proficient programmers.

In addition to avoiding these mistakes, there are certain things that every programmer should do in order to be successful. One of the most important things is to read coding books. Coding books provide a comprehensive overview of different languages and concepts, and they can be an invaluable resource when starting out. Another important thing for programmers to do is never stop learning. Coding is an ever-changing field, and it is important to keep up with new trends and technologies.

Coding is a process of transforming computer instructions into a form a computer can understand. Programs are written in a particular language which provides a structure for the programmer and uses specific instructions to control the sequence of operations that the computer carries out. The programming code is written in and read from a text editor, which in turn is used to produce a software program, application, script, or system.

When you’re starting to learn programming, it’s important to have the right tools and resources at your disposal. Coding can be difficult, but with the proper guidance it can also be rewarding.

This blog is an aggregate of  clever questions and answers about Programming, Coding, and Algorithms. This is a safe place for programmers who are interested in optimizing their code, learning to code for the first time, or just want to be surrounded by the coding environment. 

CodeMonkey Discount Code



<div class='caption'>Image</p>
<div class='subcaption'>300 x 250</div>
</div>
<p>

<div class='caption'>Image</p>
<div class='subcaption'>155 x 65</div>
</div>
<p>

 

I think, the most common mistakes I witnessed or made myself when learning is:

1: Trying to memorize every language construction. Do not rely on your memory, use stack overflow.

2: Spend a lot of time solving an issue yourself, before you google it. Just about every issue you can stumble upon, is in 99.99% cases already has been solved by someone else. Learn to properly search for solutions first.

3: Spending a couple of days on a task and realizing it was not worth it. If the time you spend on a single problem is more than halve an hour then you probably doing it wrong, search for alternatives.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


4: Writing code from a scratch. Do not reinvent a bicycle, if you need to write a blog, just search a demo application in a language and a framework you chose, and build your logic on top of it. Need some other feature? Search another demo incorporating this feature, and use its code.

In programming you need to be smart, prioritize your time wisely. Diving in a deep loopholes will not earn you good money.

Invest in your future today by enrolling in this Azure Fundamentals - Microsoft Azure Certification and Training ebook below. This Azure Fundamentals Exam Prep Book will prepare you for the Azure Fundamentals AZ900 Certification Exam.


Because implicit is better than explicit¹.

def onlyAcceptsFooable(bar): 

   bar.foo() 

Congratulations, you have implicitly defined an interface and a function that requires its parameter to fulfil that interface (implicitly).

How do you know any of this? Oh, no problem, just try using the function, and if it fails during runtime with complaints about your bar missing a foo method, you will know what you did wrong.  By Paulina Jonušaitė

List of Freely available programming books – What is the single most influential book every Programmers should read

Source: Wikipedia

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses

 

With average increases in salary of over 25% for certified individuals, you’re going to be in a much better position to secure your dream job or promotion if you earn your AWS Certified Solutions Architect Associate our Cloud Practitioner certification. Get the books below to for real practice exams:

Use the promo codes: W6XM9XP4TWN9 or T6K9P4J9JPPR or 9LWMYKJ7TWPN or TN4NTERJYHY4 for AWS CCP eBook at Apple iBook store.


Use Promo Codes XKPHAATA6LRL 4XJRP9XLT9XL or LTFFY6JA33EL or HKRMTMTHFMAM or 4XHAFTWT4FN6 for AWS SAA-C03 eBook at Apple iBook store



Use Promo Codes EF46PT44LXPN or L6L9R9LKEFFR or TWELPA4JFJWM for Azure Fundamentals eBook at Apple iBook store.

Best != easy and easy != best. Interpreted BASIC is easy, but not great for programming anything more complex than tic-tac-toe. C++, C#, and Java are very widely used, but none of them are what I would call easy.

Is Python an exception? It’s a fine scripting language if performance isn’t too critical. It’s a fine wrapper language for libraries coded in something performant like C++. Python’s basics are pretty easy, but it is not easy to write large or performant programs in Python.

Like most things, there is no shortcut to mastery. You have to accept that if you want to do anything interesting in programming, you’re going to have to master a serious, not-easy programming language. Maybe two or three. Source.

Type declarations mainly aren’t for the compiler — indeed, types can be inferred and/or dynamic so you don’t have to specify them.

They’re there for you. They help make code readable. They’re a form of active, compiler-verified documentation.


We know you like your hobbies and especially coding, We do too, but you should find time to build the skills that’ll drive your career into Six Figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive. Start your cloud journey with these excellent books below:

For example, look at this method/function/procedure declaration:

locate(tr, s) { … } 

  • What type is tr?
  • What type is s?
  • What type, if any, does it return?
  • Does it always accept and return the same types, or can they change depending on values of tr, s, or system state?

If you’re working on a small project — which most JavaScript projects are — that’s not a problem. You can look at the code and figure it out, or establish some discipline to maintain documentation.

If you’re working on a big project, with dozens of subprojects and developers and hundreds of thousands of lines of code, it’s a big problem. Documentation discipline will get forgotten, missed, inconsistent or ignored, and before long the code will be unreadable and simple changes will take enormous, frustrating effort.

But if the compiler obligates some or all type declarations, then you say this:

Node locate(NodeTree tr, CustomerName s) { … }

Now you know immediately what type it returns and the types of the parameters, you know they can’t change (except perhaps to substitutable subtypes); you can’t forget, miss, ignore or be inconsistent with them; and the compiler will guarantee you’ve got the right types.

That makes programming — particularly in big projects — much easier. Source: Dave Voorhis

  • COBOL. Verbose like no other, excess structure, unproductive, obtuse, limited, rigid.
  • JavaScript. Insane semantics, weak typing, silent failure. Thankfully, one can use transpilers for more rationally designed languages to target it (TypeScript, ReScript, js_of_ocaml, PureScript, Elm.)
  • ActionScript. Macromedia Flash’s take on ECMA 262 (i.e., ~JavaScript) back in the day. It’s static typing was gradual so the compiler wasn’t big on type error-catching. This one’s thankfully deader than Disco.
  • BASIC. Mandatory line numbering. Zero standardization. Not even a structured language — you’ve never seen that much spaghetti code.
  • In the real of dynamically typed languages, anything that is not in the Lisp family. To me, Lisps just are a more elegant and richer-featured than the rest.  Alexander feterman

Object-oriented programming is “a programming model that organizes software design around data, or objects, rather than functions and logic.”

Most games are made of “objects” like enemies, weapons, power-ups etc. Most games map very well to this paradigm. All the objects are in charge of maintaining their own state, stats and other data. This makes it incredibly easier for a programmer to develop and extend video games based on this paradigm.

I could go on, but I’d need an easel and charts. Chrish Nash

Ok…I think this is one of the most important questions to answer. According to the my personal experience as a Programmer, I would say you must learn following 5 universal core concepts of programming to become a successful Java programmer.

(1) Mastering the fundamentals of Java programming Language – This is the most important skill that you must learn to become successful java programmer. You must master the fundamentals of the language, specially the areas like OOP, Collections, Generics, Concurrency, I/O, Stings, Exception handling, Inner Classes and JVM architecture.

Recommended readings are OCA Java SE 8 Programmer by by Kathy Sierra and Bert Bates (First read Head First Java if you are a new comer ) and Effective Java by Joshua Bloch.

(2) Data Structures and Algorithms – Programming languages are basically just a tool to solve problems. Problems generally has data to process on to make some decisions and we have to build a procedure to solve that specific problem domain. In any real life complexity of the problem domain and the data we have to handle would be very large. That’s why it is essential to knowing basic data structures like Arrays, Linked Lists, Stacks, Queues, Trees, Heap, Dictionaries ,Hash Tables and Graphs and also basic algorithms like Searching, Sorting, Hashing, Graph algorithms, Greedy algorithms and Dynamic Programming.

Recommended readings are Data Structures & Algorithms in Java by Robert Lafore (Beginner) , Algorithms Robert Sedgewick (intermediate) and Introduction to Algorithms-MIT press by CLRS (Advanced).

(3) Design Patterns – Design patterns are general reusable solution to a commonly occurring problem within a given context in software design and they are absolutely crucial as hard core Java Programmer. If you don’t use design patterns you will write much more code, it will be buggy and hard to understand and refactor, not to mention untestable and they are really great way for communicating your intent very quickly with other programmers.

Recommended readings are Head First Design Patterns Elisabeth Freeman and Kathy Sierra and Design Patterns: Elements of Reusable by Gang of four.

(4) Programming Best Practices – Programming is not only about learning and writing code. Code readability is a universal subject in the world of computer programming. It helps standardize products and help reduce future maintenance cost. Best practices helps you, as a programmer to think differently and improves problem solving attitude within you. A simple program can be written in many ways if given to multiple developers. Thus the need to best practices come into picture and every programmer must aware about these things.

Recommended readings are Clean Code by Robert Cecil Martin and Code Complete by Steve McConnell.

(5) Testing and Debugging (T&D) – As you know about the writing the code for specific problem domain, you have to learn how to test that code snippet and debug it when it is needed. Some programmers skip their unit testing or other testing methodology part and leave it to QA guys. That will lead to delivering 80% bugs hiding in your code to the QA team and reduce the productivity and risking and pushing your project boundaries to failure. When a miss behavior or bug occurred within your code when the testing phase. It is essential to know about the debugging techniques to identify that bug and its root cause.

Recommended readings are Debugging by David Agans and A Friendly Introduction to Software Testing by Bill Laboon.

I hope these instructions will help you to become a successful Java Programmer. Here i am explain only the universal core concepts that you must learn as successful programmer. I am not mentioning any technologies that Java programmer must know such as Spring, Hibernate, Micro-Servicers and Build tools, because that can be change according to the problem domain or environment that you are currently working on…..Happy Coding!

 

Hard to be balanced on this one.

They are useful to know. If ever you need to use, or make a derivative of algorithm X, then you’ll be glad you took the time.

If you learn them, you’ll learn general techniques: sorting, trees, iteration, transformation, recursion. All good stuff.

You’ll get a feeling for the kinds of code you cannot write if you need certain speeds or memory use, given a certain data set.

You’ll pass certain kinds of interview test.

You’ll also possibly never use them. Or use them very infrequently.

If you mention that on here, some will say you are a lesser developer. They will insist that the line between good and not good developers is algorithm knowledge.

That’s a shame, really.

In commercial work, you never start a day thinking ‘I will use algorithm X today’.

The work demands the solution. Not the other way around.

This is yet another proof that a lot of technical sounding stuff is actual all about people. Their investment in something. Need for validation. Preference.

The more you know in development, the better. But I would not prioritize algorithms right at the top, based on my experience. Alan Mellor

So you’re inventing a new programming language and considering whether to write either a compiler or an interpreter for your new language in C or C++?

The only significant disadvantage of C++ is that in the hands of bad programmers, they can create significantly more chaos in C++ than they can in C.

But for experienced C++ programmers, the language is immensely more powerful than C and writing clear, understandable code in C++ can be a LOT easier.

INCIDENTALLY:

If you’re going to actually do this – then I strongly recommend looking at a pair of tools called “flex” and “bison” (which are OpenSourced versions of the more ancient “lex” and “yacc”). These tools are “compiler-compilers” that are given a high level description of the syntax of your language – and automatically generate C code (which you can access from C++ without problems) to do the painful part of generating a lexical analyzer and a syntax parser. Steve Baker

Did you know you can google this answer yourself? Search for “c++ private keyword” and follow the link to access specifiers, which goes into great detail and has lots of examples. In case google is down, here’s a brief explanation of access specifiers:

  • The private access specifier in a class or struct definition makes declarations that occur after the specifier. A private declaration is visible only inside the class/struct, and not in derived classes or structs, and not from outside.
  • The protected access specifier makes declarations visible in the current class/struct and also in derived classes and structs, but not visible from outside. protected is not used very often and some wise people consider it a code smell.
  • The public access specifier makes declarations visible everywhere.
  • You can also use access specifiers to control all the items in a base class. By Kurt Guntheroth

Rust programmers do mention the obvious shortcomings of the language.

Such as that a lot of data structures can’t be written without unsafe due to pointer complications.

Or that they haven’t agreed what it means to call unsafe code (although this is somewhat of a solved problem, just like calling into assembler from C0 in the sysbook).

The main problem of the language is that it doesn’t absolve the programmers from doing good engineering.

It just catches a lot of the human errors that can happen despite such engineering. Jonas Oberhauser.

Comparing cross-language performance of real applications is tricky. We usually don’t have the resources for writing said applications twice. We usually don’t have the same expertise in multiple languages. Etc. So, instead, we resort to smaller benchmarks. Occasionally, we’re able to rewrite a smallish critical component in the other language to compare real-world performance, and that gives a pretty good insight. Compiler writers often also have good insights into the optimization challenges for the language they work on.

My best guess is that C++ will continue to have a small edge in optimizability over Rust in the long term. That’s because Rust aims at a level of memory safety that constrains some of its optimizations, whereas C++ is not bound to such considerations. So I expect that very carefully written C++ might be slightly faster than equivalent very carefully written Rust.

However, that’s perhaps not a useful observation. Tiny differences in performance often don’t matter: The overall programming model is of greater importance. Since both languages are pretty close in terms of achievable performance, it’s going to be interesting watching which is preferable for real-life engineering purposes: The safe-but-tightly-constrained model of Rust or the more-risky-but-flexible model of C++.  By David VandeVoorde

  1. Lisp does not expose the underlying architecture of the processor, so it can’t replace my use of C and assembly.
  2. Lisp does not have significant statistical or visualization capabilities, so it can’t replace my use of R.
  3. Lisp was not built with unix filesystems in mind, so it’s not a great choice to replace my use of bash.
  4. Lisp has nothing at all to do with mathematical typesetting, so won’t be replacing LATEXLATEX anytime soon.
  5. And since I use vim, I don’t even have the excuse of learning lisp so as to modify emacs while it’s running.

In fewer words: for the tasks I get paid to do, lisp doesn’t perform better than the languages I currently use. By Barry RoundTree

What are some things that only someone who has been programming 20-50 years would know?

The truth of the matter gained through the multiple decades of (my) practice (at various companies) is ugly, not convenient and is not what you want to hear.

  1. The technical job interviews are non indicative and non predictive waste of time, that is, to put it bluntly, garbage (a Navy Seal can be as brave is (s)he wants to be during the training, but only when the said Seal meets the bad guys face to face on the front line does her/his true mettle can be revealed).
  2. An average project in an average company, both averaged the globe over, is staffed with mostly random, technically inadequate, people who should not be doing what they are doing.
  3. Such random people have no proper training in mathematics and computer science.
  4. As a result, all the code generated by these folks out there is flimsy, low quality, hugely not efficient, non scalable, non maintainable, hardly readable steaming pile of spaghetti mess – the absence of structure, order, discipline and understanding in one’s mind is reflected at the keyboard time 100 percent.
  5. It is a major hail mary, a hallelujah and a standing ovation to the genius of Alan Turing for being able to create a (Turing) Machine that, on the one hand, can take this infinite abuse and, on the other hand, being nothing short of a miracle, still produce binaries that just work. Or so they say.
  6. There is one and only one definition of a computer programmer: that of a person who combines all of the following skills and abilities:
    1. the ability to write a few lines of properly functioning (C) code in the matter of minutes
    2. the ability to write a few hundred lines of properly functioning (C) code in the matter of a small number of hours
    3. the ability to write a few thousand lines of properly functioning (C) code in the matter of a small number of weeks
    4. the ability to write a small number of tens of thousands of lines of properly functioning (C) code in the matter of several months
    5. the ability to write several hundred thousand lines of properly functioning (C) code in the matter of a small number of years
    6. the ability to translate a given set of requirements into source code that is partitioned into a (large) collection of (small and sharp) libraries and executables that work well together and that can withstand a steady-state non stop usage for at least 50 years
  7. It is this ability to sustain the above multi-year effort during which the intellectual cohesion of the output remains consistent and invariant is what separates the random amateurs, of which there is a majority, from the professionals, of which there is a minority in the industry.
  8. There is one and only one definition of the above properly functioning code: that of a code that has a check mark in each and every cell of the following matrix:
    1. the code is algorithmically correct
    2. the code is easy to read, comprehend, follow and predict
    3. the code is easy to debug
      1. the intellectual effort to debug code, symbolized as E(d)E(d), is strictly larger than the intellectual effort to write code, symbolized as E(w)E(w). That is: E(d)>E(w)E(d)>E(w). Thus, it is entirely possible to write a unit of code that even you, the author, can not debug
    4. the code is easy to test
      1. in different environments
    5. the code is efficient
      1. meaning that it scales well performance-wise when the size of the input grows without bound in both configuration and data
    6. the code is easy to maintain
      1. the addition of new and the removal or the modification of the existing features should not take five metric tons of blood, three years and a small army of people to implement and regression test
      2. the certainty of and the confidence in the proper behavior of the system thus modified should by high
      3. (read more about the technical aspects of code modification in the small body of my work titled “Practical Design Patterns in C” featured in my profile)
      4. (my claim: writing proper code in general is an optimization exercise from the theory of graphs)
    7. the code is easy to upgrade in production
      1. lifting the Empire State Building in its entirety 10 feet in the thin blue air and sliding a bunch of two-by-fours underneath it temporarily, all the while keeping all of its electrical wires and the gas pipes intact, allowing the dwellers to go in and out of the building and operating its elevators, should all be possible
      2. changing the engine and the tires on an 18-wheeler truck hauling down a highway at 80 miles per hour should be possible
  9. A project staffed with nothing but technically capable people can still fail – the team cohesion and the psychological compatibility of team members is king. This is raw and unbridled physics – a team, or a whole, is more than the sum of its members, or parts.
  10. All software project deadlines without exception are random and meaningless guesses that have no connection to reality.
  11. Intelligence does not scale – a million fools chained to a million keyboards will never amount to one proverbial Einstein. Source
 

A function pulls a computation out of your program and puts it in a conceptual box labeled by the function’s name. This lets you use the function name in a computation instead of writing out the computation done by the function.

Writing a function is like defining an obscure word before you use it in prose. It puts the definition in one place and marks it out saying, “This is the definition of xxx”, and then you can use the one word in the text instead of writing out the definition.

Even if you only use a word once in prose, it’s a good idea to write out the definition if you think that makes the prose clearer.

Even if you only use a function once, it’s a good idea to write out the function definition if you think it will make the code clearer to use a function name instead of a big block of code. Source.

Conditional statements of the form if this instance is type T then do X can generally — and usually should — be removed by appropriate use of polymorphism.

All conditional statements might conceivably be replaced in that fashion, but the added complexity would almost certainly negate its value. It’s best reserved for where the relevant types already exist.

Creating new types solely to avoid conditionals sometimes makes sense (e.g. maybe create distinct nullable vs not-nullable types to avoid if-null/if-not-null checks) but usually doesn’t. Source.

Something bad happens as your Java code runs.

Throw an exception.

The following lines after the throw do not run, saving them from the bad thing.

control is handed back up the call stack until Java runtime finds a catch() statement that matches the exception.

The code resumes running from there. Source: Allan Mellor

Google has better programmers, and they’ve been working on the problem space longer than either Spotify or the other providers have existed.

YouTube has a year and a half on Spotify, for example, and they’ve been employing a lot of “organ bank” engineers from Google proper, for various problems — like the “similar to this one“ problem — and the engineers doing the work are working on much larger teams, overall.

Spotify is resource starved, because they really aren’t raking in the same ratio of money that YouTube does. By Terry Lambert

Over the past two decades, Java has moved from a fairly simple ecosystem, with the relatively straightforward ANT build tool, to a sophisticated ecosystem with Maven or gradle basically required. As a result, this kind of approach doesn’t really work well anymore. I highly recommend that you download the community edition of IntelliJ IDEA; this is a free version of a great commercial IDE. By Joshua Gross

Best bet is to turn it into a record type as a pure data structure. Then you can start to work on that data. You might do that direct, or use it to construct some OOP objects with application specific behaviours on them. Up to you.

You can decide how far to take layering as well. Small apps work ok with the data struct in the exact same format as the JSON data passed around. But you might want to isolate that and use a mapping to some central domain model. Then if the JSON schema changes, your domain model won’t.

Libraries such as Jackson and Gson can handle the conversion. Many frameworks have something like it built in, so you get delivered a pure data struct ‘object’ containing all the data that was in the JSON

Things like JSON Validator and JSV Schemas can help you validate the response JSON if need be. By Alan Mellor

Keith Adams already gave an excellent overview of Slack’s technology stack so I will do my best to add to his answer.

Products that make up Slack’s tech stack include: Amazon (CloudFront, CloudSearch, EMR, Route 53, Web Services), Android Studio, Apache (HTTP Server, Kafka, Solr, Spark, Web Server), Babel, Brandfolder, Bugsnag, Burp Suite, Casper Suite, Chef, DigiCert, Electron, Fastly, Git, HackerOne, JavaScript, Jenkins, MySQL, Node.js, Objective-C, OneLogin, PagerDuty, PHP, Redis, Smarty, Socket, Xcode, and Zeplin.

Additionally, here’s a list of other software products that Slack is using internally:

  • Marketing: AdRoll, Convertro, MailChimp, SendGrid
  • Sales and Support: Cnflx, Front, Typeform, Zendesk
  • Analytics: Google Analytics, Mixpanel, Optimizely, Presto
  • HR: AngelList Jobs, Culture Amp, Greenhouse, Namely
  • Productivity: ProductBoard, Quadro, Zoom, Slack (go figure!)

For a complete list of software used by Slack, check out: Slack’s Stack on Siftery

Some other fun facts about Slack:

  • Slack is used by 55% of Unicorns (and 59% of B2B Unicorns)
  • Slack has 85% market share in Siftery’s Instant Messaging category on Siftery
  • Slack is used by 42% of both Y Combinator and 500 Startups companies
  • 35% of companies in the Sharing Economy use Slack

(Disclaimer: The above data was pulled from Siftery and has been verified by individuals working at Slack) By Gerry Giacoman Colyer

Programmers should use recursion when it is the cleanest way to define a process. Then, WHEN AND IF IT MATTERS, they should refine the recursion and transform it into a tail recursion or a loop. When it doesn’t matter, leave it alone. Jamie Lawson
 
 

Your phone runs a version of Linux, which is programmed in C. Only the top layer is programmed in java, because performance usually isn’t very important in that layer.

Your web browser is programmed in C++ or Rust. There is no java anywhere. Java wasn’t secure enough for browser code (but somehow C++ was? Go figure.)

Your Windows PC is programmed mostly in C++. Windows is very old code, that is partially C. There was an attempt to recode the top layer in C#, but performance was not good enough, and it all had to be recoded in C++. Linux PCs are coded in C.

Your intuition that most things are programmed in java is mistaken. Kurt Guntheroth

That’s not possible in Java, or at least the language steers you away from attempting that.

Global variables have significant disadvantages in terms of maintainability, so the language itself has no way of making something truly global.

The nearest approach would be to abuse some language features like so:

  • public class Globals { 
  • public static int[] stuff = new int [10]; 

Then you can use this anywhere with

  • Globals.stuff[0] = 42; 

Java isn’t Python, C nor JavaScript. It’s reasonably opinionated about using Object Oriented Programming, which the above snippets are not examples of.

This also uses a raw array, which is a fixed size in Java. Again, not very useful, we prefer ArrayList for most purposes, which can grow.

I’d recommend the above approach if and only if you have no alternatives, are not really wanting to learn Java and just need a dirty utility hack, or are starting out in programming just finding your feet. Alan Mellor

In which situations is NoSQL better than relational databases such as SQL? What are specific examples of apps where switching to NoSQL yielded considerable advantages?

Warning: The below answer is a bit oversimplified, for pedagogical purposes. Picking a storage solution for your application is a very complex issue, and every case will be different – this is only meant to give an overview of the main reason why people go NoSQL.

There are several possible reasons that companies go NoSQL, but the most common scenario is probably when one database server is no longer enough to handle your load. noSQL solutions are much more suited to distribute load over shitloads of database servers.

This is because relational databases traditionally deal with load balancing by replication. That means that you have multiple slave databases that watches a master database for changes and replicate them to themselves. Reads are made from the slaves, and writes are made to the master. This works to a certain level, but it has the annoying side-effect that the slaves will always lag slightly behind, so there is a delay between the time of writing and the time that the object is available for reading, which is complex and error-prone to handle in your application. Also, the single master eventually becomes a bottleneck no matter how powerful it is. Plus, it’s a single point of failure.

NoSQL generally deals with this problem by sharding. Overly simplified it means that users with userid 1-1000000 is on server A, and users with userid 1000001-2000000 is on server B and so on. This solves the problems that relational replication has, but the drawback is that features such as aggregate queries (SUM, AVG etc) and traditional transactions are sacrificed.

For some case studies, I believe Couchbase pimps a whitepaper on their web site here: http://www.couchbase.com/why-nosql/use-cases .  Mattias Peter Johansson

Chrome is coded in C++, assembler and Python. How could three different languages ​​be used to obtain only one product? What is the method used to merge programming languages ​​to create software?

Concretely, a processor can correctly receive only one kind of instruction, the assembler. This may also depend on the type of processor.

As the assembler requires several operations just to make a simple addition, we had to create compilers which, starting from a higher level language (easier to write), are able to automatically generate the assembly code.

These compilers can sometimes receive several languages. For example the GCC compiler allows to compile C and C++, and it also supports to receive pieces of assembler inside, defined by a keyword __asm__ . The assembler is still something to avoid absolutely because it is completely dependent on the machine and can therefore be a source of interference and unpleasant surprises.

More generally, we also often create multi-language applications using several components (libraries, or DLLs, activeX, etc.) The interfaces between these components are managed by the operating systems and allow Java to coexist happily. , C, C++, C#, Python, and everything you could wish for. A certain finesse is however necessary in the transitions between languages ​​because each one has its implicit rules which must therefore be enforced very explicitly.

For example, an object coming from the C++ world, transferred by these interfaces in a Java program will have to be explicitly destroyed, the java garbage collector only supports its own objects.

Another practical interface is web services, each module, whatever its technology, can communicate with the others by sending itself serialized objects in json… which is much less a source of errors!  Source:  Vincent Steyer

What is the most dangerous code you have ever seen?

This line removes the filesystem (starting from root /)
  • sudo rm -rf –no-preserve-root /
Or for more fun, a Russian roulette:
  • [ $[ $random % 6 ] == 0 ] && rm -rf –no-preserve-root / || echo *clic* 

(a chance in 6 of falling on the first part described above, otherwise “click” is displayed)