#StackBounty: #encryption #google #whatsapp Does backing up WhatsApp on Google Drive expose messages?

Bounty: 50

I was wiping and restoring a family member’s Android phone today, as it was running slowly with loads of apps on it.

I decided to back up their WhatsApp messages to Google Drive in order to recreate their chat history easily after the wipe.

On the phone, I noticed this message from WhatsApp:

Important: Media and messages you back up are not protected by WhatsApp end-to-end encryption while in Google Drive.

The same message is also available here, at the end of the section for Creating a Google Drive Backup:

https://faq.whatsapp.com/en/android/28000019

Does this mean that if I have been chatting to anyone in the past, and that person has periodic Google Drive backups enabled, then my conversation is compromised to Google and/or WhatsApp?

If this is the case then it actually makes end-to-end encryption on WhatsApp useless unless the person you’re chatting to swears that they don’t have Google Drive backup enabled on their end. We might as well just use server-side encryption.

Or is the message given by WhatsApp badly expressed and ambiguous?


Get this bounty!!!

#StackBounty: #google #lg-g4 Weird Google search results on LG G4

Bounty: 100

The other day my Google search app search results started looking like this:

enter image description here

There appears to be a globe next to all results and it’s just much less readable. The app is up to date.

Any idea how to correct this?


Get this bounty!!!

#StackBounty: #wi-fi #security #google #nexus OTA WiFi vulnerability – what can be done?

Bounty: 50

Several Android phones appear to be vulnerable to an exploit in the WiFi firmware, allowing an attacker to run malicious code on the WiFi SoC, and even execute code in kernel space. Google patched its Pixel phones and some recent Nexus models, but older models such as the Nexus 5 have no patch available yet. It seems that no attack is known in the wild yet, but if there was one it could spread quickly from device to device.

I have a Nexus 5; what can I do to secure my phone? For now I have WiFi turned off, but that significantly reduces the usefulness of my phone. I’m comfortable running commands with adb to install drivers, if that’s possible. I’m also willing to install another OS, although I’d rather not have to.


Get this bounty!!!

#StackBounty: #google #googlebot #indexing #search How to make google index users posts?

Bounty: 50

In a website that has posts system similar to Facebook, where the user has option to:

  1. Keep his posts private (needs login to view)
  2. Make them public (anyone can see them)

In case#2 I want to allow google to index these posts, but there are problems:

  1. There are no direct links to the posts
  2. The posts are loaded with infinite scroll style without pagination

Note that each post also has a permanent link that points to separate page with the post and all the comments on it.

My questions:

1- Is it good strategy to index public posts?

2- What is the best method to achieve that?


Get this bounty!!!

System Design Interview Prep Material

System design is a very broad topic. Even a software engineer with many years of working experience at top IT company may not be an expert on system design. If you want to become an expert, you need to read many books, articles, and solve real large scale system design problems. This repository only teaches you to handle the system design interview with a systematic approach in a short time. You can dive into each topic if you have time. Of course, welcome to add your thoughts!

Table of Contents

System Design Interview Tips:

  • Clarify the constraints and identify the user cases Spend a few minutes questioning the interviewer and agreeing on the scope of the system. Remember to make sure you know all the requirements the interviewer didn’t tell your about in the beginning. User cases indicate the main functions of the system, and constraints list the scale of the system such as requests per second, requests types, data written per second, data read per second.
  • High-level architecture design Sketch the important components and the connections between them, but don’t go into some details. Usually, a scalable system includes web server (load balancer), service (service partition), database (master/slave database cluster plug cache).
  • Component design For each component, you need to write the specific APIs for each component. You may need to finish the detailed OOD design for a particular function. You may also need to design the database schema for the database.

Basic Knowledge about System Design:

Here are some articles about system design related topics.

Of course, if you want to dive into system related topics, here is a good collection of reading list about services-engineering, and a good collection of material about distributed systems.

Company Engineering Blogs:

If you are going to have an onsite with a company, you should read their engineering blog.

Products and Systems:

The following papers/articles/slides can help you to understand the general design idea of different real products and systems.

Hot Questions and Reference:

There are some good references for each question. The references here are slides and articles.
Design a CDN network Reference:

Design a Google document system Reference:

Design a random ID generation system Reference:

Design a key-value database Reference:

Design the Facebook news feed function Reference:

Design the Facebook timeline function Reference:

Design a function to return the top k requests during past time interval Reference:

Design an online multiplayer card game Reference:

Design a graph search function Reference:

Design a picture sharing system Reference:

Design a search engine Reference:

Design a recommendition system Reference:

Design a tinyurl system Reference:

Design a garbage collection system Reference:

Design a scalable web crawling system Reference:

Design the Facebook chat function Reference:

Design a trending topic system Reference:

Design a cache system Reference:

Good Books:

Object Oriented Design:

Tips for OOD Interview

Clarify the scenario, write out user cases Use case is a description of sequences of events that, taken together, lead to a system doing something useful. Who is going to use it and how they are going to use it. The system may be very simple or very complicated. Special system requirements such as multi-threading, read or write oriented.
Define objects Map identity to class: one scenario for one class, each core object in this scenario for one class. Consider the relationships among classes: certain class must have unique instance, one object has many other objects (composition), one object is another object (inheritance). Identify attributes for each class: change noun to variable and action to methods. Use design patterns such that it can be reused in multiple applications.

Useful Websites

Original Source

Fastest 3 out of 25 Horses Problem

Problem Statement

You have 25 horses, and you want to pick the fastest 3 horses out of those 25. Each race can have maximum of 5 horses at the same time. What is the minimum number of races required to find the 3 fastest horses without using a stopwatch?

Solution

Let’s say that we have 5 races of 5 horses each, so each row in the table above represents a race.

H1 H2 H3 H4 H5
H6 H7 H8 H9 H10
H11 H12 H13 H14 H15
H16 H17 H18 H19 H20
H21 H22 H23 H24 H25

Let each row represent a race.

Step 1: Perform 5 races of each set.

Result:

1st 2nd 3rd 4th 5th
H1 H2 H3 H4 H5
H6 H7 H8 H9 H10
H11 H12 H13 H14 H15
H16 H17 H18 H19 H20
H21 H22 H23 H24 H25

Step 2: Elimination by logical analysis:

  • We can eliminate the slowest 2 horses in each group since those horses are definitely not in the top 3
  • The 5 group leaders are not necessarily the 5 fastest horses, therefore race those 5 horses against each other (H1, H6, H11, H16, and H21) {Race 6}, Let’s say that the 3 fastest in that group are H1, H6, and H11 – automatically we can eliminate H16 and H21 since those 2 are definitely not in the top 3
  • We can automatically eliminate all the horses that H16 and H21 competed against in the preliminary races as they were slower than H16 and H21
  • We also know that H1 is the fastest horse in the group since he was the fastest horse out of the 5 group leaders
  • if H6 and H11 are the 2nd and 3rd fastest in the group leaders, then we should be able to eliminate H8 since H6 raced against him and he was in 3rd place in that race
  • We can also eliminate H12 and H13 since H11 was the 3rd fastest in the group leaders, and H12 and H13 were slower than H11
  • This leaves us with the following horses to determine the 2nd and 3rd fastest horses:
H2 H3 H6 H7 H11

Race the last Set {Race 7} to get the Top 2nd and 3rd racers with H1 as the fastest.

Total number of Races: 7

Map in Javascript

Source : http://www.coderanch.com/t/121097/HTML-JavaScript/Map-Javascript

Map in Javascript

var output = {}; 

Sort of. That just creates an empty instance of a JavaScript Object. It’s identical to:

var output = new Object();   

There really isn’t any implementation of Map in JavaScript.

But… JavaScript objects can be assigned properties on the fly, so an Object acts a lot like a map.

For example, after declaring your variable as shown above, you could write:

output.abc = 123;    

and now the object has a property named abc that contains the value 123.

The value can be retrieved with either of:

output.abc  

output['abc']