diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 48d714b..6f27161 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -3,7 +3,7 @@
Use pull requests to contribute to the project.
### Adding a New Company
-If the company eg `Generic Company Ltd` is not in the list, then create a new file for the company in `/docs/` folder eg `generic.md`, then add that in the table of contents in `/docs/.vitepress/config.mjs`. In the json file, find the items in themeConfig.sidebar.items. And add your new entry here. If you feel like this is too much hassle, then just mention it in the pull request. I will add it later.
+If the company eg `Generic Company Ltd` is not in the list, then create a new file for the company in `/docs/` folder eg `generic.md`, then add that in the table of contents in `/docs/.vitepress/sitemap/companies.mjs`. In the json file, find the items as json array and add your new entry here. If you feel like this is too much hassle, then just mention it in the pull request. I will add it later.
```json
items: [
@@ -32,35 +32,88 @@ The interview questions and answers (optional) following the given format
### Contributing to an Existing Company
Else list the interview question under that company section. If the question is already added in other company section but not under the company you are currently wanting to contribute then too you can add the question.
-### Question Answer Format
+### Question Format
Stick to the following format to add a question under a company:
```html
-
-
-[Question]
-
-
-[Answer]
-
+
+
+Your markdown supported question here
+
```
Example:
+```html
+
+
+What is `1+1`?
+
```
-
-
-What is 1+1?
-
-
-1+1 equals 3
+
+### [OPTIONAL] Sections
+If you want to add collapsible sections with your question. You can use collapsible sections to reduce the size of the visible fields. Some example of these can be
+
+- Show Description
+- Show Hint
+- Show Answer
+
+You can use the following template to add an entry with collapsible section.
+
+**Template:**
+```html
+
+
+Your markdown supported question here.
+
+Your visible collapsible section title
+
+Hidden details of your collapsible section
+
```
+**Example:**
+```html
+
+
+What is `1+1`?
+
+Show Hint
+
+Use calculator
+
+
+Show Answer
+
+`1+1` equals `2`
+
+
+```
+**Rendered:**
+
+
+
+What is `1+1`?
+Show Hint
+
+Use calculator
+
+
+Show Answer
+
+`1+1` equals `2`
+
+
+
+## Adding Images
+If you want to add any images with the question or answer, then at first add the image in `docs/resource`. Then reference that file from your content. If you are in `docs/comapanies/generic_company.md`, then you will use `../resource/image.jpg` as the link. If you are in `docs/comapanies/generic_company/generic_role.md`, then you will use `../../resource/image.jpg` as the link.
+
## Self Citation
If you want to add show yourself as a contributor in the page then add a new section if there isn't one already and add your name under it.
+
Example
```
## Contributors
-- [Mohammad Tamimul Ehsan](https://www.linkedin.com/in/tamimehsan/)
+- [Mohammad Tamimul Ehsan](https://www.linkedin.com/in/tamimehsan/): Tamim is a software engineer specialized in backend and software architecture.
```
## Before submitting the pull request
diff --git a/README.md b/README.md
index b05e2f8..6dccd4e 100644
--- a/README.md
+++ b/README.md
@@ -17,8 +17,8 @@
Visit the site [Interview BD](https://tamimehsan.github.io/interview-questions-bangladesh) to start taking preparation for your next interview!
-- 10+ companies
-- 150+ questions
+- 20+ companies
+- 250+ questions
- Solutions to questions
- Company specific guidelines
- Specialized knowledge on various topics
@@ -39,7 +39,13 @@ npm run docs:dev
```
The site should be available in [http://localhost:5173/interview-questions-bangladesh/](http://localhost:5173/interview-questions-bangladesh/)
+## Achknowledgement
+This project is made possible by the effort of community. Majority of the contents are contributed by individual contributors.
+
+Some of the info are taken from the respective company website and from [MBSTUPC/tech-companies-in-bangladesh
+](https://github.com/MBSTUPC/tech-companies-in-bangladesh).
+
## Disclaimer
-The questions are collected from volunteers. The owner is not responsible for anykind of terms and conditions imposed from the companies. The owner will gladly remove any content if that violates any agreement.
+The questions are collected from volunteers. The maintainer is not responsible for anykind of terms and conditions imposed from the companies. The maintainer will gladly remove any content if that violates any agreement.
-The owner tries to check every questions and answer contributed from others. Sometimes, the questions or answers might not be correct. The owner is not responsible for any issues for that.
+The maintainer tries to check every questions and answer contributed from others. Sometimes, the questions or answers might not be correct. The maintainer is not responsible for any issues for that.
diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs
index 2116f44..e03a932 100644
--- a/docs/.vitepress/config.mjs
+++ b/docs/.vitepress/config.mjs
@@ -1,5 +1,6 @@
import { defineConfig } from "vitepress";
-
+import companiesMap from "./sitemap/companies.mjs";
+import notesMap from "./sitemap/notes.mjs";
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "Interview BD",
@@ -12,48 +13,16 @@ export default defineConfig({
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
- { text: "Home", link: "/" },
- { text: "Questions", link: "/general" },
+ { text: 'Home', link: '/' },
+ { text: 'Companies', link: '/companies/general', activeMatch:'/companies/' },
+ { text: 'Notes', link: '/notes/general', activeMatch:'/notes/' }
+
],
- sidebar: [
- {
- items: [
- { text: "General Guidelines", link: "/general" },
- { text: 'Before Application', link: "/beforeapplying" },
- { text: "Chaldal", link: "/chaldal" },
- { text: "Bevy Commerce", link: "/bevycommerce" },
- { text: 'Brain Station 23 updated', link: "/bs23" },
- { text: "DSI", link: "/dsi" },
- { text: "Exabyting", link: "/exabyting" },
- { text: 'Fringecore new', link: "/fringecore" },
- { text: 'Inverse AI updated', link: "/inverseai" },
- { text: "IQVIA", link: "/iqvia" },
- { text: "Priyo", link: "/priyo" },
- { text: "Kite Games Studio", link: "/kite" },
- { text: "Orbitax", link: "/orbitax" },
- { text: "Optimizely", link: "/optimizely" },
- { text: "Relisource", link: "/relisource" },
- { text: "RoBenDevs", link: "/robendevs" },
- { text: "Spectrum", link: "/spectrum" },
- { text: "SRBD", link: "/srbd" },
- { text: "Synesis IT", link: "/synesis" },
- {
- text: "Therap BD",
- link: "/therap/",
- items: [
- { text: 'Software Engineer updated', link: "/therap/swe.md" },
- { text: "Database Engineer", link: "/therap/dbe.md" },
- ],
- },
- { text: "WSD", link: "/wsd" },
- { text: "WellDev", link: "/welldev" },
- ],
- },
- {
- items: [{ text: "CSE competitions", link: "/competitions" }],
- },
- ],
+ sidebar: {
+ '/companies/' : {base:'/companies/', items: companiesMap},
+ '/notes/' : {base:'/notes/', items: notesMap},
+ },
socialLinks: [
{
diff --git a/docs/.vitepress/sitemap/companies.mjs b/docs/.vitepress/sitemap/companies.mjs
new file mode 100644
index 0000000..f1c3f42
--- /dev/null
+++ b/docs/.vitepress/sitemap/companies.mjs
@@ -0,0 +1,40 @@
+const companiesMap = [
+ {
+ items: [
+ { text: "General Guidelines", link: "/general" },
+ { text: 'Before Application', link: "/beforeapplying" },
+ { text: "Chaldal", link: "/chaldal" },
+ { text: "Bevy Commerce", link: "/bevycommerce" },
+ { text: 'Brain Station 23 updated', link: "/bs23" },
+ { text: "DSI", link: "/dsi" },
+ { text: "Exabyting", link: "/exabyting" },
+ { text: 'Fringecore new', link: "/fringecore" },
+ { text: 'Inverse AI updated', link: "/inverseai" },
+ { text: "IQVIA", link: "/iqvia" },
+ { text: "Priyo", link: "/priyo" },
+ { text: "Kite Games Studio", link: "/kite" },
+ { text: "Orbitax", link: "/orbitax" },
+ { text: "Optimizely", link: "/optimizely" },
+ { text: "Relisource", link: "/relisource" },
+ { text: "RoBenDevs", link: "/robendevs" },
+ { text: "Spectrum", link: "/spectrum" },
+ { text: "SRBD", link: "/srbd" },
+ { text: "Synesis IT", link: "/synesis" },
+ {
+ text: "Therap BD",
+ link: "/therap/",
+ items: [
+ { text: 'Software Engineer updated', link: "/therap/swe.md" },
+ { text: "Database Engineer", link: "/therap/dbe.md" }
+ ],
+ },
+ { text: "WSD", link: "/wsd" },
+ { text: "WellDev", link: "/welldev" },
+ ],
+ },
+ {
+ items: [{ text: "CSE competitions", link: "/competitions" }],
+ },
+ ]
+
+export default companiesMap;
\ No newline at end of file
diff --git a/docs/.vitepress/sitemap/notes.mjs b/docs/.vitepress/sitemap/notes.mjs
new file mode 100644
index 0000000..02d7128
--- /dev/null
+++ b/docs/.vitepress/sitemap/notes.mjs
@@ -0,0 +1,21 @@
+const notesMap = [
+ {
+ items: [
+ { text: "General Guidelines", link: "/general" },
+ ],
+ },
+ {
+ text: "Database",
+ items: [
+ { text: "Resources", link: "/database" },
+ ],
+ },
+ {
+ text: "Data Structures",
+ items: [
+ { text: "General Guidelines", link: "/general" }
+ ],
+ },
+]
+
+export default notesMap;
\ No newline at end of file
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
index 06e4a0e..d535390 100644
--- a/docs/.vitepress/theme/custom.css
+++ b/docs/.vitepress/theme/custom.css
@@ -6,9 +6,37 @@ details {
padding: 16px 16px 8px;
line-height: 24px;
font-size: var(--vp-custom-block-font-size);
- margin-bottom: 8px
+ margin-bottom: 8px;
+ margin-top: 8px;
+ font-weight: 400;
}
+ article {
+ border-color: var(--vp-custom-block-details-border);
+ color: var(--vp-custom-block-details-text);
+ background-color: var(--vp-custom-block-details-bg);
+ border-radius: 8px;
+ padding: 16px 16px 8px;
+ line-height: 24px;
+ font-size: var(--vp-custom-block-font-size);
+ margin-bottom: 8px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ font-weight: 600;
+ }
+
+article a {
+ color: var(--vp-badge-tip-text);
+ background-color: var(--vp-badge-tip-bg);
+ border-color: var(--vp-badge-tip-border);
+ border-radius: 8px;
+ text-decoration: none !important;
+ font-weight: 700;
+ padding: 8px;
+}
+article hr {
+ background-color: var(--vp-badge-tip-bg);
+}
summary {
margin: 0 0 8px!important;
font-weight: 700;
@@ -19,4 +47,4 @@ summary {
.github-alert {
border-left: .35em solid #238636!important;
-}
\ No newline at end of file
+}
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..31ca039
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,36 @@
+# Interview BD contents
+
+This folder serves as the content repository for the site.
+
+Add new company in the `/companies` folder.
+
+If you need to add any image or something, then add the image in `/resource` folder and use that link.
+
+## Directory structure
+```bash
+docs/
+ ├── index.md # the home page
+ ├── companies/ # All companies folder
+ │ ├── beforeapplying.md # A company page
+ │ ├── chaldal.md # Another company page
+ │ ├── ...
+ │ └── therap/ # A company iwith multiple files
+ │ ├── dbe.md # A role under the company
+ │ ├── index.md # Index page for the company
+ │ └── swe.md
+ ├── notes/ # The notes folder
+ │ └── general.md # A page in the notes section
+ ├── resource/ # Add your resources like images here
+ │ ├── README.md # Instruction page for resource
+ │ ├── image1.jpg # An image used in somewhere
+ │ └── image2.webp
+ └── .vitepress/
+ ├── config.mjs # Site configuration file
+ ├── sitemap/ # Folder containing sidebar contents
+ │ ├── companies.mjs # Sidebar of company section
+ │ └── notes.mjs # Sidebar of notes section
+ └── theme/
+ ├── custom.css # Add custom css here
+ └── index.js
+
+```
\ No newline at end of file
diff --git a/docs/companies/README.md b/docs/companies/README.md
new file mode 100644
index 0000000..717a761
--- /dev/null
+++ b/docs/companies/README.md
@@ -0,0 +1,4 @@
+# Company Section
+This folder is used to add questions for specific companies. Add new companies by creating a new file with .md extension.
+
+If you want to add multiple files for the same company, then create a folder with the company name and create individual files in it. This can be done to add seperate pages for seperate positions of a company. See `Therap BD` for example.
\ No newline at end of file
diff --git a/docs/beforeapplying.md b/docs/companies/beforeapplying.md
similarity index 100%
rename from docs/beforeapplying.md
rename to docs/companies/beforeapplying.md
diff --git a/docs/bevycommerce.md b/docs/companies/bevycommerce.md
similarity index 64%
rename from docs/bevycommerce.md
rename to docs/companies/bevycommerce.md
index 4e338ba..6a040f6 100644
--- a/docs/bevycommerce.md
+++ b/docs/companies/bevycommerce.md
@@ -1,5 +1,12 @@
# Bevy Commerce
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | |
+| Career Website | |
+| Technologies Used| |
+
## Introduction
[Bevy Commerce](https://bevycommerce.com/landing) is a software development studio specializing in cutting-edge eCommerce solutions. They build tailored, innovative products that drive sales and elevate the customer experience for industry giants such as Canadian Tire, Alo Yoga, Authentic Brands Group, and Shopify corporate.
@@ -11,43 +18,28 @@ The interview process was based on two stages
## Coding Round Questions
-
-
-How does error handling differ in synchronous and asynchronous code in Node.js, and what are the best practices for error handling in asynchronous code?
-
-
-
+
-
-
-Write a function that takes an array and a number as an argument. if the number is greater than 0, you must pop the number of elements from the array. if the number is not provided then pop once.
-
-
-
+How does error handling differ in synchronous and asynchronous code in Node.js, and what are the best practices for error handling in asynchronous code?
+
-
-
-How is JavaScript even Driven working?
-
-
-
+
-
-
-Find the Second max of the array
-
-
-
+Write a function that takes an array and a number as an argument. if the number is greater than 0, you must pop the number of elements from the array. if the number is not provided then pop once.
+
-
-
-Based on an input sort an array in ascending or descending order
-
-
-
+
+What is event driven programming? How event driven programming works in JavaScript?
+
+
+Given an array of integers, find the second max of the array
+
+
+Given an array of integers and a sorting criteria[asc/desc], sort the array based on the sorting criteria in either ascending or descending order
+
diff --git a/docs/bs23.md b/docs/companies/bs23.md
similarity index 88%
rename from docs/bs23.md
rename to docs/companies/bs23.md
index d7ddc35..cd5a6ad 100644
--- a/docs/bs23.md
+++ b/docs/companies/bs23.md
@@ -1,10 +1,16 @@
# Brain Station 23
+|
|
|
+| :-| :- |
+| Founding year | 2006 |
+| Company Website | http://www.brainstation-23.com/ |
+| Career Website | https://erp.bs-23.com/jobs |
+| Technologies Used| Android, IOS, React, React-Native, Odoo, Xamarin, .Net, PHP, Python, Java, AEM, Sitecore, Flutter |
+
## Introduction
Brain Station 23 is at the forefront of global digital transformation, delivering state-of-the-art technology solutions designed to propel businesses into the future. With expertise spanning software development, cloud computing, enterprise-grade mobile applications, AI and machine learning, and blockchain technology, they offer bespoke solutions that drive innovation and efficiency.
-
## Star Coder Interview Stages
Star Coder is an annual recruitment test for BS23. The program has 5 stages
@@ -21,7 +27,6 @@ Star Coder is an annual recruitment test for BS23. The program has 5 stages
> The information presented here is collected from the LinkedIn post of Abdullah Al Hasan vaiya (with his permission, of course).
-
## Online MCQ Round
The problems presented in this round is fairly basic. The format is multiple choice.
@@ -34,17 +39,14 @@ Topics Covered are:
- Analytical Ability
- Software Development Life Cycle (SDLC)
-
-
+
+
Mr. Joy is planning to build a web browser. Now he is analyzing requirements for the navigation system of his web browser, which will preserve the browsing history. What is the appropriate data structure to use for the
navigation system?
-
-
-[Answer]
-
+
+
+
-
-
In the following code snippet, what does the keyword 'this' refer to
```java
@@ -55,43 +57,30 @@ class Employee {
}
}
```
+
-
-
-[Answer]
-
+
-
-
In a bag , there is black and red balls. The ratio of black to red is 3:7 , if we add 20 more black balls to the bag then the ratio becomes 1:2. How many red balls are there?
-
-
-[Answer]
-
+
+
+
-
-
which of the following is false about RDBMS (Relational Database Management System)?
- RDBMS supports concurrency control to handle multiple transactions simultaneously.
- RDBMS uses tables to store data in rows and columns.
- In RDBMS, a unique constraint prevents null values in a column.
- RDBMS ensures data integrity using ACID properties
-
-
-[Answer]
-
+
+
+
-
-
A train leaves station A at 7 AM with the speed of 60 kmph, and another train leaves the A station at 8 AM with the speed of 90 kmph..when will the second train catch the first train?
-
-
-[Answer]
-
+
+
+
-
-
What will be the output of the following code?
```cpp
@@ -102,26 +91,17 @@ int main() {
return 0;
}
```
-
-
-[Answer]
-
+
+
+
-
-
If the area of a rectangular region is equal to the area of a square, then the perimeter of the rectangular must be
-
-
-[Answer]
-
+
+
+
-
-
In the context of the Software Development Life Cycle (SDLC), which model emphasizes the continuous iteration of the development and testing phases throughout the project, accommodating changes in requirements even late in the development process?
-
-
-[Answer]
-
+
## Onsite Coding Round
This round is a mixture of coding problems and MCQs. The topics are the same as the online MCQ round.
\ No newline at end of file
diff --git a/docs/chaldal.md b/docs/companies/chaldal.md
similarity index 86%
rename from docs/chaldal.md
rename to docs/companies/chaldal.md
index c3c2ba6..a673c69 100644
--- a/docs/chaldal.md
+++ b/docs/companies/chaldal.md
@@ -1,5 +1,12 @@
# Chaldal
+|
|
|
+| :-| :- |
+| Founding year | 2013 |
+| Company Website | https://chaldal.com/ |
+| Career Website | https://chaldal.tech/ |
+| Technologies Used| .NET, F#, C#, SQL Server, TypeScript, JavaScript, Xamarin, Android, React, React Native, Microsoft Orleans |
+
## Introduction
Chaldal.com, founded in 2013, is a grocery e-commerce platform in Bangladesh. They maintain the whole system by themselves. So, they are a tech company too and arguably one the most prestigious tech company in bangaldesh
@@ -14,41 +21,40 @@ Chaldal interview process has 3 stage
## Questions
-
-
+
+
Tell me about yourself? Why do you want to join chaldal
-
-
+Show Answer
+
Answer varies from person to person
+
+
+
-
-
You have been provided a spiral matrix of size NXN along with a coordinate (x, y) as follows. Find the element at the position (x, y) of the matrix.
N = 4, x = 2, y =1
+
1 | 2 | 3 | 4 |
12 | 13 | 14 | 5 |
11 | 16 | 15 | 6 |
10 | 9 | 8 | 7 |
+
-
-
+Show Hint
-```C++
The element at position (2, 1) is **12** [*indexed at (1, 0)*]
-```
-
+
+
+
-
-
Given a number in roman format. Convert it to arabic numeral.
-
-
+Show Answer
```C++
mapRtoA;
@@ -77,11 +83,12 @@ int RomanToArabic(string R){
```
+
+
+
-
-
Given a string of characters. Reverse the string without using any library function.
-
+Show Answer
```C++
void solve(string &s){
@@ -98,12 +105,12 @@ void solve(string &s){
```
+
+
+
-
-
Given a string of characters. Check if the given string is a palindrome.
-
-
+Show Answer
```C++
bool solve(string s){
@@ -116,14 +123,14 @@ bool solve(string s){
```
+
+
+
-
-
Given an positive integer n. Find the sum of even fibonacchi number upto nth term.
-
-
[**💻 Submit Code**](https://supecoder.dev/questions/Sum%20of%20Even%20Fibonacci%20Numbers?questionId=66a6015c5cbe5326054ebf70)
+Show Answer
```C++
long long solve(int n){
@@ -140,14 +147,14 @@ long long solve(int n){
```
+
+
+
-
-
Given a string of characters [0-9]. Convert it to integer.
-
-
[**💻 Submit Code**](https://supecoder.dev/questions/Convert%20String%20to%20Integer?questionId=66a8cba05cbe532605568a68)
+Show Answer
```C++
long long stringToInteger(string &s) {
@@ -161,14 +168,14 @@ long long stringToInteger(string &s) {
```
+
+
+
-
-
Given an array of integers. Generate all possible permutation of the given array.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/permutations/)
+Show Answer
```C++
class Solution {
@@ -199,14 +206,14 @@ public:
```
+
+
+
-
-
Given an array of integers. Generate all possible subset of the given array.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/subsets/)
+Show Answer
```cpp
class Solution {
@@ -235,20 +242,17 @@ public:
```
+
+
+
-
-
Given a regex expression and a string. Check if the regex expression matches with the string.
-
-
-[Answer]
-
+
+
+
-
-
Each student is assigned to an assignment at a particular location at a specific time. Are there any inconsistencies in the assignments ? Find at least one of them by looking into the input. Then write a code to print all inconsistencies in the assignments.
-
-
+Show Answer
```C++
#include
@@ -295,14 +299,15 @@ int main() {
```
+
+
+
-
-
Implement Game of Life
-
-
+Show Description
- __________________
+```
+__________________
|██
| ██ ██
@@ -312,18 +317,23 @@ Implement Game of Life
|
|
|
-
+```
In the game of life, you have a 2D matrix of small squares that can be either alive or dead. The matrix goes through iterations, and on every iteration the squares can die or be revived. This is based on the previous iteration and the below rules
-A living square with 1 or less neighbors in the previous iteration will die, as if from loneliness
-A living square with 2 or 3 neighbors in the previous iteration will survive, as if from contentment
-A living square with 4 or more neighbors in the previous iteration will die, as if from overpopulation
-A dead square with exactly 3 neighbors in the previous iteration will be revived, as if by unfulfilled desires
+- A living square with 1 or less neighbors in the previous iteration will die, as if from loneliness
+- A living square with 2 or 3 neighbors in the previous iteration will survive, as if from contentment
+- A living square with 4 or more neighbors in the previous iteration will die, as if from overpopulation
+- A dead square with exactly 3 neighbors in the previous iteration will be revived, as if by unfulfilled desires
+
Implement a square matrix of size 20 and set up the initial five (given) living squares. Then run 10 iterations on it, then print the final matrix. 0,0 should be the top left of the matrix, where the first is the row and the second is the column.
+```
matrix size = 20
iterations = 10
initial squares =
[0][0]
[1][1]
+```
+
+Show Answer
```cpp
#include
@@ -335,7 +345,6 @@ vector> matrix(msz, vector(msz, false));
vector dx = {-1, -1, -1, 0, 0, 1, 1, 1};
vector dy = {-1, 0, 1, -1, 1, -1, 0, 1};
-
signed main() {
matrix[0][0] = true;
matrix[1][1] = true;
@@ -385,29 +394,29 @@ signed main() {
```
+
+
+
-
-
Find digits from a string( Leading zeroes doesn't get counted)
-
-
+Show Answer
```
```
+
+
+
-
-
Given a string s containing lowercase lattin letters and another string p containing lowercase lattin letters and * and ?. * means any substring possibly empty. ? means any character but single.
Print yes or no if both strings matches. [RegEx Matching]
-
-
-
[**💻 Submit Code**](https://leetcode.com/problems/regular-expression-matching/)
+Show Answer
+
```C++
int dp[25][25];
bool Down(string &p,string &s, int i,int j){
@@ -449,26 +458,19 @@ bool isMatch(string s, string p) {
```
+
-
-
-About project: What have you done in the authentication part in your project? Also how did you specify roles for different users.
-
-
-
-```
+
-```
+About project: What have you done in the authentication part in your project? Also how did you specify roles for different users.
+
-
+
-
-
Write a function which converts decimal number to hexadecimal
-
-
[**💻 Submit Code**](https://supecoder.dev/questions/Convert%20a%20Number%20to%20Hexadecimal?questionId=66acbdc29e71a163cdcece36)
+Show Answer
```C++
string decimalToHexa(int decimal){
@@ -487,14 +489,15 @@ string decimalToHexa(int decimal){
```
+
+
+
-
-
Write a function which finds all the subset of a given set.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/subsets/description/)
+Show Answer
+
Similar to the question for finding all subset of an array
```C++
vector> ans;
@@ -516,26 +519,22 @@ vector> subsets(vector& nums) {
```
+
+
+
-
-
Given a set of orderings of letters, determine their topological sorting order. The orderings are provided as strings.
For example, given the input ["A>B", "B>C", "C>D"], the expected output is "ABCD".
-
-
-[Answer]
-
+
-
-
-
+
-[**💻 Submit Code**](https://supecoder.dev/questions/Add%20Two%20Numbers%20Represented%20as%20Character%20Arrays?questionId=66acc37d9e71a163cdcee583)
Given two numbers represented as arrays of characters in decimal format, add them and return the result in the same format.
For example, Input: ['1', '2', '3'] and ['4', '5', '6']
Output: Output: ['5', '7', '9']
-
-
+
+[**💻 Submit Code**](https://supecoder.dev/questions/Add%20Two%20Numbers%20Represented%20as%20Character%20Arrays?questionId=66acc37d9e71a163cdcee583)
+Show Answer
```C++
vector sum(vector &A, vector &B){
@@ -559,3 +558,5 @@ vector sum(vector &A, vector &B){
}
```
+
+
diff --git a/docs/competitions.md b/docs/companies/competitions.md
similarity index 99%
rename from docs/competitions.md
rename to docs/companies/competitions.md
index 07cdc86..a00b9da 100644
--- a/docs/competitions.md
+++ b/docs/companies/competitions.md
@@ -31,8 +31,6 @@ If there are any mistakes that needs to be corrected create a pull request or ra
| **SRBD Coding Contest** | Samsung Research and Development Institute Bangladesh(SRBD) | Prizemoney of 135k for top 10 participants and Job opportunities | Individual participation |
| | | | |
-
-
## AI and ML
| Name| Organizer | Prizes | Extra Info |
@@ -42,10 +40,6 @@ If there are any mistakes that needs to be corrected create a pull request or ra
| **BUET CSE Fest Deep Learning Sprint** | BUET CSE Dept | Prizemoney of 2.5 lakhs+ ||
| **BUET CSE Fest AI Contest**| BUET CSE Dept | Prizemoney of 50 thousands for top 3 participants ||
-
-
-
-
## Hackathons
| Name| Organizer| Prizes | Extra Info |
@@ -82,7 +76,5 @@ If there are any mistakes that needs to be corrected create a pull request or ra
| **Flag Hunt 2022** | CTF Community Bangladesh | ||
| [MIST LEETCON](https://leetcon.org/) | MIST| 500K BDT+ ||
-
-
## Poster Presentations
diff --git a/docs/dsi.md b/docs/companies/dsi.md
similarity index 75%
rename from docs/dsi.md
rename to docs/companies/dsi.md
index b6de650..eaaf1c9 100644
--- a/docs/dsi.md
+++ b/docs/companies/dsi.md
@@ -1,5 +1,12 @@
# DSI
+|
|
|
+| :-| :- |
+| Founding year | 2001 |
+| Company Website | https://www.dsinnovators.com/ |
+| Career Website | https://app.hrythmic.com/recruit/openings/company/dsinnovators/ |
+| Technologies Used| Java, Springboot, Nodejs(hapi), Hibernate, ReactJs, NextJs, AngularJS, Android, iOS |
+
## Introduction
[Dynamic Solution Innovators Ltd](https://www.dsinnovators.com/) is an international software company based in Dhaka, Bangladesh. They have been successfully providing software services since 2001 in both the local and global market.
## Interview Stages
@@ -7,13 +14,12 @@ DSI takes a on campus written test first. The questions contain some coding prob
The second stage is face to face interview
## Questions
-
-
+
+
There is an array initially containing n numbers. then each of the numbers of the array is multiplied by 2. Now the array is 2 * n size and each element of the array gets shuffled. You are given the shuffled array of size 2 * n. You have to restore the original array.
-
-
[**💻 Submit Code**](https://supecoder.dev/questions/Find%20Original%20Array%20From%20Doubled%20Array?questionId=66ae10189e71a163cdd2011b)
+Show Answer
```C++
bool restoreDouble(vector input,vector& output){
@@ -35,46 +41,38 @@ bool restoreDouble(vector input,vector& output){
}
```
+
+
+
-
-
Given n inputs each with n bits, output a number which was not in the given inputs and has n bits too.
-
-
-[Answer]
-
+
+
+
-
-
What are the 7 layers in OSI networking model?
-
-
+Show Answer
![](https://cf-assets.www.cloudflare.com/slt3lc6tev37/6ZH2Etm3LlFHTgmkjLmkxp/59ff240fb3ebdc7794ffaa6e1d69b7c2/osi_model_7_layers.png)
+
+
+
-
-
Given a string s, find the longest substring between two identical character.ex: afgksia -> ans: fgksi
-
-
-[Answer]
-
+
+
+
-
-
Given a number n.return true if you find a middle element k such that sum of 1 to k and sum from k to n are equal.if there no one return false.
ex: 49.
output: true.
explanation: 1 + 2 + ... + 35 = 35 + 36 + ... + 49
-
-
-[Answer]
-
+
+
+
-
-
Apply database normalization technique to the following table
student table:
@@ -84,30 +82,20 @@ student table:
| 2 | rakib | Algorithms | 100 |
| 3 | showrov | Networking | 300 |
| 4 | kalam | Algorithms | 100 |
-
-
-[Answer]
-
+
+
+
-
-
Explain ACID properties
-
-
-[Answer]
-
+
+
-
-
Explain static keyword
-
-
-[Answer]
-
+
+
+
-
-
What is significance of this below operation?
```
@@ -116,26 +104,19 @@ b=a^b;
a=a^b;
```
-
-
+Show Answer
+
Swaps the value of a and b without a third variable using bit manipulation
+
-
-
-Difference between authentication and authorization
-
-
-[Answer]
-
+
-
-
-Given three value a,b,c, write a program to determine if they can made a traingle
-
-
-[Answer]
-
+Difference between authentication and authorization
+
+
+Given three value `a,b,c`, write a program to determine if we can make a traingle using these as side lengths.
+
diff --git a/docs/exabyting.md b/docs/companies/exabyting.md
similarity index 76%
rename from docs/exabyting.md
rename to docs/companies/exabyting.md
index acc4b97..6ce9b36 100644
--- a/docs/exabyting.md
+++ b/docs/companies/exabyting.md
@@ -1,5 +1,12 @@
# Exabyting
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | http://exabyting.com/ |
+| Career Website | https://exabyting.com/join-our-team/ |
+| Technologies Used| JAVA, Spring, PHP, Laravel, JavaScript, NodeJS, ExpressJS, Python, Django, REST, Microservices, SQL, NoSQL, SQS, SNS |
+
## Introduction
[Exabyting](https://exabyting.com/) is an international software company based in Dhaka, Bangladesh. They have been successfully providing software services since 2018 in both the local and global market.
@@ -16,258 +23,216 @@ They often give job advertisements on LinkedIn. We have to apply using the Googl
## Phone Interview
-
-
+
+
Difference between Array and Linked List.
-
-
+
+
+
-
-
Which sorting algorithm works better in the average case?
-
-
+
+
+
-
-
Suppose, you have to sort 1000 numbers, numbers can be positive and negative. Which algorithm will you use?
-
-
+
+
+
-
-
What is Stack, Queue and Priority Queue?
-
-
+
+
+
-
-
Difference between Binary Tree and BST.
-
-
+
+
+
-
-
When we type a web address (www.google.com) in a web browser, what happens before we get the response?
-
-
+
+
+
-
-
Difference between TCP and UDP.
-
-
+
+
+
-
-
What are the principles of OOP and why do we use OOP?
-
-
+
+
+
-
-
Difference between SQL and NoSQL.
-
-
+
+
+
-
-
Difference between Compiler and Interpreter.
-
-
+
## First Round Questions
-
-
+
+
Explain BST.
-
-
+
+
+
-
-
Suppose, we insert [1, 2, 3, 4] this array in BST. What will it look like after insertion? What is the search complexity in this tree? What if we want to make the search complexity O(logn)?
-
-
+
+
+
-
-
Left Join VS Full Join. Describe a scenario where we need to use Left Join.
-
-
+
+
+
-
-
Describe the ACID properties of the database.
-
-
+
+
+
-
-
Describe the indexing of the database. Can we index with a column that has duplicate elements?
-
-
+
+
+
-
-
Describe the Event loop in JS.
-
-
+
+
+
-
-
What is closure? Describe.
-
-
+
## Second Round Questions
-
-
+
+
Why React? What advantages does React give us over direct DOM manipulation?
-
-
+
+
+
-
-
Why shouldn’t we mutate props in the child component?
-
-
+
+
+
-
-
Why Tailwind? What benefits Tailwind give us compared to other CSS libraries?
-
-
+
+
+
-
-
What type of language is JavaScript? Compiled or Interpreted? How do they work?
-
-
+
+
+
-
-
JavaScript is a single-threaded language, so how does it maintain asynchronous tasks?
-
-
+
+
+
-
-
Explain the event loop. Have you ever seen the implementations of libuv?
-
-
+
+
+
-
-
Explain var, let, const.
-
-
+
+
+
-
-
Explain hoisting.
-
-
+
+
+
-
-
Explain primitive and reference data types.
-
-
+
+
+
-
-
Explain closure. The inner function (which is returned) of the closure has access to its outer scope, how is it possible, where the variable is stored in that time?
-
-
+
+
+
-
-
What is a pure function?
-
-
+
+
+
-
-
Do you follow any functional programming philosophy?
-
-
+
+
+
-
-
Explain the ACID properties of the database.
-
-
+
+
+
-
-
Explain indexing. Why do we need indexing? What benefit does it give us?
-
-
+
+
+
-
-
Suppose, we want to use user_email as index. How can we do it?
-
-
+
+
+
-
-
Explain tree, binary tree, binary search tree. In a binary search tree, if the tree is imbalanced, then how can we make it balanced?
-
-
+
+
+
-
-
Explain the map, unordered_map and their complexity. Why does the complexity of the unordered_map go to O(n) in some cases?
-
-
+
+
+
-
-
Explain the four principles of OOP.
-
-
+
+
+
-
-
Do you know there is an OOP feature which is only in C/C++? (Operator).
-
-
+
+
+
-
-
Explain the difference between an array and a linked list. Tell me some use cases for each of them. How can we access an element of an array with the index?
-
-
+
+
+
-
-
Explain HTTP and HTTPS. Why HTTPS? How does data transfer in HTTPS? What is used under the hood to encrypt the communication between the sender and the receiver?
-
-
+
+
+
-
-
Is HTTPS stateful or stateless? If stateless, then how can we browse Facebook after login once?
-
-
+
+
+
-
-
Explain cookie-based authentication. How can we blacklist a cookie?
-
-
+
+
+
-
-
Do you know the structure of JWT? Explain.
-
-
+
-
-
+
**Problem Statement:**
You'll be given two strings A and B, with lengths 1 <= length <= 10^6. The strings will contain only 1's and 0's. To make A a good string, you can insert B into A at any place, as many times as you want (or don't insert if you don't want). You have to print YES or NO depending on whether making A as a good string is possible.
@@ -287,24 +252,20 @@ The output must be only one word, "YES" or "NO".
| 111
010 | YES |
| 1110011
01010 | NO |
| 1001001000
10 | NO |
+
-
-
+
-
-
Convert a decimal number to binary and show the output in string.
-
-
+
+
+
-
-
Explain JOIN and composite keys in the database.
-
-
+
+
+
-
-
Learn about polymorphism and inheritance in DB in your free time. (This is not a question).
-
-
+
+
diff --git a/docs/fringecore.md b/docs/companies/fringecore.md
similarity index 88%
rename from docs/fringecore.md
rename to docs/companies/fringecore.md
index 844c241..6cd5f5d 100644
--- a/docs/fringecore.md
+++ b/docs/companies/fringecore.md
@@ -1,93 +1,99 @@
# Fringecore
+
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://fringecore.sh/ |
+| Career Website | https://work-pool.notion.site/FringeCore_-Careers-cd5106060028424383fcbbb7fc885e38 |
+| Technologies Used| |
+
+## Introduction
[Fringecore](https://fringecore.sh/) is a team of engineers and designers, who build software, hack hardware and apply design thinking in-order to tame the chaos in business processes.
## Frontend Questions
-
-
-Build a recursive partitioner
-
-
+
-![](resource/fringecore-frontend-recursive.webp)
-
-Your task is to create a recursive partitioner. Upon opening the project, users should be greeted with a random background color and two buttons labeled "v" and "h." The "v" button allows the screen to be split vertically, while the "h" button splits it horizontally. When a split occurs, one partition should retain its original color, and the newly created partition should adopt a new random color. Each partition should remain interactive and allow further splits. Additionally, if multiple partitions exist, users should have the option to remove any partition. All partitions should be resizable by clicking and dragging their edges.
+Build a recursive partitioner
[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-recursive-partitioning)
+Show Description
+![](../resource/fringecore-frontend-recursive.webp)
+Your task is to create a recursive partitioner. Upon opening the project, users should be greeted with a random background color and two buttons labeled "v" and "h." The "v" button allows the screen to be split vertically, while the "h" button splits it horizontally. When a split occurs, one partition should retain its original color, and the newly created partition should adopt a new random color. Each partition should remain interactive and allow further splits. Additionally, if multiple partitions exist, users should have the option to remove any partition. All partitions should be resizable by clicking and dragging their edges.
+
+
+
-
-
Build a GPU-accelerated color picker
-
-
+[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-colorpicker-pentagon)
+Show Description
+
Develop a GPU-accelerated color picker with a unique pentagon shape, focusing on implementing the core color computation logic using GPU.js, while utilizing the provided React wrapper and UI components. The color picker should generate smooth gradients, handling hue transitions across the color spectrum. Horizontal gradients should transition from white to the primary color, while vertical gradients should range from white to black.
The implementation must include precise RGB channel calculations based on the current hue, ensure smooth transitions between primary colors, handle the alpha channel correctly, and deliver pixel-perfect gradient rendering.
Your primary task is to implement the kernelFunction in kernel.js, which will take three parameters—canvas width, canvas height, and the current hue value (0–1)—to compute appropriate RGB values for each pixel, manage color transitions, and return the correct channel value based on the thread position.
-
-[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-colorpicker-pentagon)
-
+
-
-
-Build a block graph
-
-
-
-![](resource/fringecore-frontend-block.webp)
+
-Build an interactive page where, upon loading, a block appears at a random position on the screen. Each block should feature a "+" button, which, when pressed, spawns a new block at another random position. All blocks should be draggable using mouse clicks, allowing users to reposition them freely. A dashed line should visually connect each new block to its parent, i.e., the block on which the "+" button was pressed. These connecting lines must dynamically adjust their position to reflect any movement of the parent or child blocks, maintaining their connection at all times.
+Build a block graph
[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-block-graph)
+Show Description
+
+![](../resource/fringecore-frontend-block.webp)
+Build an interactive page where, upon loading, a block appears at a random position on the screen. Each block should feature a "+" button, which, when pressed, spawns a new block at another random position. All blocks should be draggable using mouse clicks, allowing users to reposition them freely. A dashed line should visually connect each new block to its parent, i.e., the block on which the "+" button was pressed. These connecting lines must dynamically adjust their position to reflect any movement of the parent or child blocks, maintaining their connection at all times.
+
+
+
-
-
Build a interactive bouncing ball
-
-
+
+[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-bouncing-ball)
+Show Description
+
Create an interactive bouncing ball simulation featuring a ball centered on a blank canvas at the start.
Display instructions prompting the user to "Click to launch the ball!" Upon clicking, the ball should launch toward the clicked position, bouncing off the canvas boundaries with realistic elastic collisions. Its speed should gradually decrease due to friction, eventually stopping when the speed becomes negligible. At this point, the instructions should reappear, inviting the user to relaunch the ball. Implement core physics features, including constant initial velocity, angle-based directional movement, elastic boundary collisions, and friction-based speed reduction.
Avoid using any physics or animation libraries, but you may use build tools like Vite or Create React App, and basic styling libraries such as Tailwind.
-
-[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-bouncing-ball)
-
+
+
+
-
-
Build an interactive polygon drawing tool
-
-
+
+[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-draw-polygon)
+Show Description
+
Build an interactive polygon drawing tool that features a blank canvas upon project initialization, allowing users to create and edit polygons. Users can define a polygon by clicking points to create vertices and closing the shape by clicking near the starting point. Multiple polygons can be drawn on the same canvas, each created by sequential clicks, with a dashed line previewing the next edge before the polygon is closed. Closed polygons are automatically filled with a semi-transparent color.
The tool should also support editing: vertices are displayed as draggable points, enabling users to modify the shape of the polygons. Multiple polygons can be edited independently without interfering with each other. Smooth dragging functionality must be implemented for seamless vertex adjustments, and overlapping polygons should be handled correctly.
The implementation should use React and SVG for rendering, with React's built-in state management to manage multiple polygons effectively. Focus on writing clean, maintainable code, and use any preferred build tool such as Vite or Create React App. Styling can be enhanced with libraries like Tailwind if needed.
-
-[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-draw-polygon)
-
+
+
+
-
-
Build an interactive art-board
-
-
+
+[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-art-board)
+Show Description
+
Build an interactive art-board featuring a clean white canvas and two tools— a pen tool and an eraser tool—accessible from the top toolbar. When the pen tool is selected, users can draw on the canvas by pressing and holding the mouse button while moving the cursor, creating continuous lines. Releasing the mouse button stops the drawing action.
When the eraser tool is selected, users can erase any drawn lines by pressing and holding the mouse button while moving the cursor over the lines. The eraser should visibly indicate its area of effect, ensuring users can clearly see what will be erased.
The implementation should be lightweight and not rely on external drawing or canvas libraries. You may structure the code in any way you prefer, using build tools like Vite or Create React App, with optional basic styling enhancements via libraries like Tailwind. Focus on creating intuitive functionality for seamless drawing and erasing experiences.
-
-[**💻 Problem Repository**](https://github.com/fringecore/fringecore-frontend-challenge-art-board)
-
\ No newline at end of file
+
+
diff --git a/docs/general.md b/docs/companies/general.md
similarity index 99%
rename from docs/general.md
rename to docs/companies/general.md
index 9bd22e1..fb1da39 100644
--- a/docs/general.md
+++ b/docs/companies/general.md
@@ -17,7 +17,6 @@ Jekyll and Hugo are two popular static site generator which requires minimal cod
## Linked In
Try to maintain a good linked in presence. Keep your linkedin profile up to date. First, it offers a live portfolio with relevant industry connections added to your network. Many companies post their vacancies in linked in. Finally, albeit less common in Bangladesh, sometimes recruiters directly reach out if they find the profile suitable for the role.
-
## Website Stats
![](https://visitor-badge.laobi.icu/badge?page_id=interview-questions-bangladesh)
![](https://profile-counter.glitch.me/interview-questions-bangladesh/count.svg)
\ No newline at end of file
diff --git a/docs/inverseai.md b/docs/companies/inverseai.md
similarity index 84%
rename from docs/inverseai.md
rename to docs/companies/inverseai.md
index 090c85e..f7bbb7b 100644
--- a/docs/inverseai.md
+++ b/docs/companies/inverseai.md
@@ -1,5 +1,12 @@
# Inverse.Ai
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://inverseai.com/ |
+| Career Website | https://inverseai.com/career |
+| Technologies Used| Web, Android, iOS |
+
## Introduction
[Inverse.Ai](https://inverseai.com/) specializes in app development that primarily focus on video, audio and image manipulation. Their porfolio contains massive hits apps with more than 15M downloads.
@@ -13,76 +20,60 @@ There are 3 stages for the interview
> Inverse AI typicaly hire from competitive programmers. If you have a knack for solving complex problems then they can be a good placement for you.
## Questions
-
-
-You are given a positive integer N. Find the number of triples (X,Y,Z) such that:
+
-- 0 < X,Y,Z < N
-- X + Y + Z = N
-- X ∣∣ Y ∣∣ Z = N, where ∣∣ represents the bitwise OR operation.
+You are given a positive integer N. Find the number of triples (X,Y,Z) such that:
+```
+0 < X,Y,Z < N,
+X + Y + Z = N,
+X ∣∣ Y ∣∣ Z = N, where ∣∣ represents the bitwise OR operation.
+```
Since the number of triples can be huge, print them modulo 10^9+7.
-
-
[**💻 Submit Code**](https://www.codechef.com/problems/AWESUM_OR)
+
-
+
-
-
You are given an integer n. A game is played on a square field consisting of n × n cells. Initially all cells are empty. On each turn a player chooses and paint an empty cell that has no common sides with previously painted cells. Adjacent corner of painted cells is allowed. On the next turn another player does the same, then the first one and so on. The player with no cells to paint on his turn loses. Output the player who wins
-
-
[**💻 Submit Code**](https://codeforces.com/problemset/problem/630/R)
-
+
+
+
-
-
You are given a chess board of size (2n)*(2n), some of the color of the board is flipped and the board is broken down in 4 square piece each with size n*n. You can join the 4 pieces in any order without rotating or flipping. As the some of the colors were flipped, so to get a valid chessboard there must need to be some recoloring. Output the minimum number of recoloring such that the 4 pieces can be joined to get a valid chessboard.
-
-
[**💻 Submit Code**](https://codeforces.com/problemset/problem/961/C)
-
+
+
+
-
-
You have a string of N decimal digits.
Now you are given M queries, each of whom is of following two types.
-
+```
- Type 1: 1 X Y: Replace A[X] by Y.
- Type 2: 2 C D: Print the number of sub-strings divisible by 3 of the string denoted by A[C],A[C+1] ... A[D].
- Formally, you have to print the number of pairs (i,j) such that the string A[i],A[i+1]...A[j], (C ≤ i ≤ j ≤ D), when considered as a decimal number, is divisible by 3
-
-
+```
+Formally, you have to print the number of pairs (i,j) such that the string `A[i],A[i+1]...A[j]`, `(C ≤ i ≤ j ≤ D)`, when considered as a decimal number, is divisible by 3
[**💻 Submit Code**](https://www.codechef.com/problems/QSET)
-
+
+
+
-
-
There is a robot in a 4*4 matrix. The robot is initilly in cell (a,b) and wants to go to another cell (c,d). However, the robot doesn't know the exact route and will move to any of its adjacent cell at equal probability. What is the probability that the robot will go from initial cell (a,b) to final cell (c,d) in exactly 4 moves.
-
-
-[Answer]
-
+
+
+
-
-
There is a robot in a undirected tree. The robot will move from a node to any of its adjacent node with equal probability. What is the expected number of moves required for the robot to go from node a to node b.
-
-
-[Answer]
-
+
+
+
-
-
You are given an array of integers. You want to make the array non increasing. To do that you can cut out a subsegment of the array to discard and concat the remaining segment(s). What is the minimum length of the cut segment to make the remaining parts nondecreasing.
Example: [9,7,4,3,6,6,2] : we can remove the subsegment containing [4,3] to make the array [9,7,6,6,2] or remove the segment [6,6] to make the array [9,7,4,3,2]. Both of them are non increasing.
-
-
-[Answer]
-
\ No newline at end of file
+
diff --git a/docs/iqvia.md b/docs/companies/iqvia.md
similarity index 86%
rename from docs/iqvia.md
rename to docs/companies/iqvia.md
index f632c07..9e2e42e 100644
--- a/docs/iqvia.md
+++ b/docs/companies/iqvia.md
@@ -1,5 +1,12 @@
# IQVIA
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.iqvia.com/ |
+| Career Website | https://jobs.iqvia.com/en/search-jobs |
+| Technologies Used| .Net, Python, Javascript, Angular |
+
## Introduction
[IQVIA](https://www.iqvia.com/) is an American Fortune 500 and S&P 500 multinational company serving the combined industries of health information technology and clinical research. They hire professionals from Bangladesh as remote.
## Interview Stages
@@ -13,13 +20,12 @@ Then if selected there will be a technical interview.
## Questions
-
-
+
+
Given a string of lowercase characters. Find the count of characters which only occured once in the string.
-
-
[**💻 Submit Code**](https://supecoder.dev/questions/Count%20of%20Characters%20Occurring%20Exactly%20Once?questionId=66ae165b9e71a163cdd21527)
+Show Answer
```C++
int solve(string s) {
@@ -38,12 +44,12 @@ int solve(string s) {
}
```
+
+
+
-
-
Given n,Find all primes less than equal n.
-
-
+Show Answer
::: code-group
```C++ [O(n^2)]
@@ -73,12 +79,12 @@ vector solve(int n) {
```
:::
+
+
+
-
-
Given coordinates x,y and radius r of two circle. Find the area of intersection between them. Print area in double with 6 digit precision.
-
-
+Show Answer
```C++
// src: https://www.geeksforgeeks.org/area-of-intersection-of-two-circles/
@@ -118,15 +124,15 @@ intersectionArea(long double X1, long double Y1,
```
+
+
+
-
-
Given a list of ranges. Find the length covered by at least one of the range.
input: [[1,3],[2,5],[6,7]]
output: 5
explanation: range [1,5],[6,7] are covered by at least one range
-
-
+Show Answer
```C++
int solve(vector> ranges) {
@@ -147,28 +153,22 @@ int solve(vector> ranges) {
}
```
+
+
+
-
-
Sort array elements by their frequency and in case of tie, keep the order they arrive in the original array.
-
-
-[Answer]
-
+
+
+
-
-
Given the connection between cities, Count the number of disjoint clusters of cities.
-
-
-[Answer]
-
+
+
+
-
-
Given a string of characters S and a specific character C. Find the number of occurance of C in S.
-
-
+Show Answer
```C++
int solve(string s, char c) {
@@ -178,64 +178,50 @@ int solve(string s, char c) {
}
```
+
+
+
-
-
Given a range [l,r]. Find all primes between this range.
-
-
-[Answer]
-
+
+
+
-
-
Given two binary string A,B. Find the minimum number of bit flips to change string A to string B.
-
-
-[Answer]
-
+
+
+
-
-
2 shops sell apples in lots. their price is given. You cannot buy any loose apples. find minimum cost of buying exactly n apples.
-
-
-[Answer]
-
+
+
+
-
-
Given an integer array. Sort the array in nondecreasing order using frequency count of elements in the array.
-
-
-[Answer]
-
+
+
+
-
-
Given an array of thresholds. For each threshold print the first negative number.
-
-
-[Answer]
-
+
+
+
-
-
What happens when you type google.com and press enter in your search bar
-
-
+Show Answer
This is a very important question and aims to check the knowledge of networking. A very thorough explanation of this question is answered here in [What Happens When](https://github.com/alex/what-happens-when)
+
+
+
-
-
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/valid-parentheses/)
+Show Answer
+
```C++
bool isValid(string s) {
stack st;
@@ -259,15 +245,16 @@ bool isValid(string s) {
```
+
+
+
-
-
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security systems connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given an integer array nums representing the amount of money of each house, return the maximum amount of money you can rob tonight without alerting the police
-
-
[**💻 Submit Code**](https://leetcode.com/problems/house-robber/)
+Show Answer
+
```C++
int rob(vector& nums) {
int n = nums.size();
@@ -283,35 +270,37 @@ int rob(vector& nums) {
}
```
+
+
+
-
-
Input given is an int array, which may or may not contain positive, negative or zero values. Write a program to find out the two numbers which gives the highest product.
-
-
+Show Answer
+
https://www.geeksforgeeks.org/return-a-pair-with-maximum-product-in-array-of-integers/
+
+
+
-
-
Given an array having 0 to n-1 unsorted. Return a new array having their indices
-
-
-[Answer]
-
+
+
+
-
-
Given two strings, find the number of times the second string occurs in the first string, whether continuous or discontinuous.
-
-
+Show Answer
+
https://www.geeksforgeeks.org/find-number-times-string-occurs-given-string/
+
+
+
-
-
Given an array of positive integers. We need to make the given array a ‘Palindrome’. The only allowed operation is”merging” (of two adjacent elements). Merging two adjacent elements means replacing them with their sum. The task is to find the array of maximum length with the minimum number of merge operations required to make the given array a ‘Palindrome’.
-
-
+Show Answer
+
https://www.geeksforgeeks.org/find-minimum-number-of-merge-operations-to-make-an-array-palindrome/
+
+
diff --git a/docs/kite.md b/docs/companies/kite.md
similarity index 93%
rename from docs/kite.md
rename to docs/companies/kite.md
index 35f55c5..94fd284 100644
--- a/docs/kite.md
+++ b/docs/companies/kite.md
@@ -1,9 +1,15 @@
# Kite Games Studio
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.kitegamesstudio.com/ |
+| Career Website | https://www.kitegamesstudio.com/ |
+| Technologies Used| Swift, React, Kotline, PyTorch |
+
## Introduction
[Kite Games Studio (KGS)](https://www.kitegamesstudio.com/), founded in 2014, is a leading mobile application development firm in Bangladesh. Based in Mohakhali DOHS, Dhaka, KGS specializes in developing software for both iOS and Android platforms, along with building websites. The company is known for its emphasis on competitive programming skills, making it an excellent choice for talented **competitive programmers** looking to join a dynamic and innovative team.
-
## Interview Stages
1. **Online Contest**: Candidates participate in an online programming contest that typically consists of 5-6 problems to be solved within 3-4 hours. The contest may be hosted on platforms like Toph, Hackerrank, or other online judges. Candidates are shortlisted for the next round based on their ranking in this contest.
@@ -12,13 +18,12 @@
## Technical Round Questions
-
-
+
+
A permutation P is good if P[i] % i == 0 or i % P[i] == 0 for 1 ≤ i ≤ N. Given N ≤ 20, count the number of good permutations.
-
-
+Show Answer
-**Solution:** The final solution uses Bitmask DP to efficiently count the number of good permutations that satisfy the given condition.
+The final solution uses Bitmask DP to efficiently count the number of good permutations that satisfy the given condition.
```cpp
#include
@@ -58,13 +63,12 @@ int main() {
}
```
+
+
-
-
Design a data structure to add integers and remove the most frequent element, with ties broken by recency.
-
-
+Show Answer
Design a data structure that supports the following two operations:
@@ -128,22 +132,25 @@ int main() {
}
```
+
+
+
+
-
-
What are the main concepts of OOP?
-
-
+Show Answer
+
+
The main concepts of Object-Oriented Programming (OOP) are:
Abstraction, Inheritance, Encapsulation, Polymorphism.
-
+
+
+
+
-
-
Implement the Singleton pattern.
-
-
+Show Interaction
To provide better understanding, here’s how the discussion typically goes. The questions aren't directly asked; instead, they are discussed in the context of a coding problem or a concept. (I am sharing real experience of mine):
@@ -156,6 +163,9 @@ To provide better understanding, here’s how the discussion typically goes. The
**Interviewer:** The process you described has a specific name in design patterns. Do you recall what it's called?
**Candidate:** Sorry, I don't know the name.
**Interviewer:** It's called the Singleton pattern.
+
+
+Show Answer
**Solution:** Below is the implementation of the Singleton pattern in Java:
@@ -212,16 +222,16 @@ func getInstance() *single {
> [!WARNING]
> The given single threaded implementation of the singleton pattern though widely popular, is not thread-safe. If a multithreaded application were to get the connection, there is a chance that the connection is initialized multiple times. Ask the interviewer to make sure if they want it to be thread-safe. You can check this [wikipedia section](https://en.wikipedia.org/wiki/Double-checked_locking#Usage_in_Java) if you want to learn more.
+
## Online Round Questions
-
-
+
+
You're at a buffet with various food items. Each food item has a deliciousness factor and nutrient values. You need to maximize the total deliciousness of the foods you eat. Additionally, for health reasons, each nutrient value must occur in an odd number of food items.
-
-
-[A. Time for a Treat](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+[**💻 Submit Code**](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+Show Answer
**Solution:**
@@ -282,15 +292,14 @@ int32_t main() {
```
+
+
-
-
You have a 2D grid representing a village. 'X' denotes farmer-owned land, and '.' denotes government-owned land. Connected 'X' areas belong to the same farmer. If two connected 'X' areas match under any 90° rotation, they also belong to the same farmer. Count the number of unique farmers in the village.
-
-
-[B. Farmers](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+[**💻 Submit Code**](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+Show Answer
**Solution:**
```cpp
@@ -429,16 +438,14 @@ int32_t main() {
```
+
+
-
-
-
You need to write a program to simulate a Linux terminal on an old computer. You'll be given commands like "mkdir", "ls", "rm", "pwd", and "cd", and you need to simulate their behavior, printing the appropriate output or error messages.
-
-
-[C. Directory Specialist](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+[**💻 Submit Code**](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+Show Answer
**Solution:**
```cpp
@@ -541,31 +548,21 @@ int32_t main() {
```
+
+
-
-
You have a 2D grid representing a field with crop fields and godowns. Harvesters start at godowns and collect crops from fields, bringing them back to their godown. The first harvester must collect from a specific number of fields. You need to calculate the minimum total time for all harvesters to collect all crops.
-
-
-[D. Crop Harvesting](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+[**💻 Submit Code**](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+
-**Solution:**
+
-```cpp
-
-
-```
-
-
-
-
You have a list of unique strings and an empty list. You'll be given queries to add strings to the empty list, delete strings from it, and count the number of strings between two given strings in the list after sorting it.
-
-
-[E. A Simple String Problem](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+[**💻 Submit Code**](https://toph.co/c/recruitment-contest-by-kite-games-studio)
+Show Description
You are given a list L of N unique strings and an initially empty list P. You need to process Q queries of the following types:
@@ -581,6 +578,9 @@ You are given a list L of N unique strings and an initially empty
* For **add i f** and **delete i f** queries: **1 ≤ i ≤ N** and **1 ≤ f ≤ 105**.
* For **count i j** queries: **1 ≤ i ≤ N** and **1 ≤ j ≤ N**.
+
+Show Answer
+
**Solution:**
```cpp
@@ -625,7 +625,6 @@ info merge(info x, info y){
return temp;
}
-
void build(int node, int l,int r)
{
if(l==r)
@@ -754,3 +753,5 @@ int32_t main() {
```
+
+
diff --git a/docs/optimizely.md b/docs/companies/optimizely.md
similarity index 92%
rename from docs/optimizely.md
rename to docs/companies/optimizely.md
index 02573d2..ef67504 100644
--- a/docs/optimizely.md
+++ b/docs/companies/optimizely.md
@@ -1,5 +1,12 @@
# Optimizely Bangladesh
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.optimizely.com/ |
+| Career Website | https://careers.optimizely.com/search/ |
+| Technologies Used| Python, NodeJS, Angular2, Scala, MongoDB |
+
## Introduction
[Optimizely](https://www.optimizely.com/get-started/) has recently expanded its global operations with the establishment of a new office in Bangladesh. Optimizely is a leading software company specializing in digital experience platforms (DXP) that empower businesses to enhance their marketing and product strategies. Optimizely offers a comprehensive suite of tools, including a robust Content Management System (CMS) and an integrated Content Marketing Platform (CMP).
@@ -18,11 +25,11 @@ For the Software Engineer Intern position, the interview process consists of the
## Take-Home Assignment Questions
-
-
+
+
+
Build a tshirt distribution system
-
-
+Show Description
Imagine you're working at a T-shirt factory and you manage orders by packing a bulk amount of shirts into a certain number of bags. For every order, you have a specification of how many bags you have to fill and a fixed number of shirts to fill them with. The requirement is to distribute the shirts in the bags as evenly as possible.
@@ -30,12 +37,12 @@ For example, if there are 100 shirts and 10 bags, then each bag will get 10 shir
Write a function to solve this problem. Define the function name, input parameters, and output type as you wish. The goal is to minimize the deviation of the number of shirts in each bag, i.e., distribute as evenly as possible, with the important aspect that only a single bag can have a different number of shirts. For example, if you have 10 bags and 103 shirts, then 9 bags can have 10 shirts, and the last bag can have 13 shirts. Here the deviation is 13 - 10 = 3, which is the minimum deviation.
+
+
+
-
-
Task Management Software Reviewer Assignment
-
-
+Show Description
Let's say you are building a task management software (get familiar with JIRA, Trello, or Asana). Each task in the system has a few properties:
- `taskId`: An integer identifier.
@@ -43,9 +50,9 @@ Let's say you are building a task management software (get familiar with JIRA, T
- `reviewerName`: The person responsible for reviewing the task (think code review) - this can be null.
- `status`: The current state of the task, which could be "todo", "in-progress", "in-review", or "done".
- `estimateInHours`: The number of hours estimated to complete this task for the assignee.
-
+
Assume that you are given the list of tasks for a single team. We want to build a function that would do a simple recommendation for reviewers for each task. Given the list of tasks with the basic properties, our function should return a modified list where each task has a non-null `reviewerName` property, given that the task does not already have an assigned reviewer. The function should ensure that the reviewers are distributed as evenly as possible across all tasks and that the total effort for each team member is minimized.
-
+
Constraints / Assumptions:
- Some tasks in the list will already have a reviewer assigned to them.
@@ -58,14 +65,14 @@ Constraints / Assumptions:
for each team member.
Assume that reviewing a task takes 1/3 of the `estimateInHours` for that task.
+
## On-Site Interview Questions
-
-
+
+
Design a Backend for a Simplified Version of Internet Banking
-
-
+Show Description
#### Acceptance Criteria:
@@ -74,9 +81,12 @@ Design a Backend for a Simplified Version of Internet Banking
- **Pay Utility Bill**: Users can pay their utility bill to utility providers. They can choose the provider from a list of providers in the system.
- **Top N Users by Transactions**: Given a list of transactions, write a function that would return the top N users based on the number of transactions, in descending order of transaction volume. The result should include the user name, phone number, and number of transactions.
- **View Transaction History**: Users can view their transaction history, ordered by most recent. The history should include all kinds of transactions. For user transactions, it should include the recipient’s phone number and the amount. For bill payments, it should include the utility provider name. All transactions should also have the payment date.
+
-#### Bonus Problem:
+Bonus Problem
- **Promo Codes Management**: Admin users can create promo codes in the system, which users can use while paying bills. Each promo code can be used a certain number of times per user, and each promo code has a certain amount of cashback.
- **Promo Codes Analytics**: Admin users can see a list of all promo codes, including the total number of uses, the average number of times utilized per user, and the total amount of cashback disbursed for each promo code. This list should be ordered by the most recent promo code first.
+
+
diff --git a/docs/orbitax.md b/docs/companies/orbitax.md
similarity index 93%
rename from docs/orbitax.md
rename to docs/companies/orbitax.md
index 98074cf..4d5b952 100644
--- a/docs/orbitax.md
+++ b/docs/companies/orbitax.md
@@ -1,8 +1,15 @@
# Orbitax Bangladesh Limited
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.orbitax.com/ |
+| Career Website | |
+| Technologies Used| Java, JavaScript, Android, PHP |
+
## Coding Round Questions
-
-
+
+
You are given an HTML string. Your task is to determine the number of characters encompassed by each HTML tag in the string. For each tag, count the number of characters that are enclosed between the opening () and closing () tags.
A tag is composed of one or more lowercase English letters (a-z). For example: ` ...
`, `..`. It can be followed by digits (0-9) i.e `..
`.
@@ -17,10 +24,8 @@ When a character is encompassed by a same tag multiple times, count only once fo
A tag can have 0 characters. In that case don't print that tag.
Spaces(' ') between the tags are not counted.
-
-
-
[**💻 Submit Code**](https://www.hackerrank.com/contests/orbitax-associate-software-engineer-recruitment-2024-phase-1/challenges/count-between-tags/problem)
+Show Answer
```C++
string consume(string &s,int st){
@@ -87,19 +92,18 @@ void solve(string s) {
}
```
+
+
-
-
You are given a string S of length N and an integer K. Your task is to find the total number of subsequences in S that match the pattern P = "orbitaxian", where the difference in position between every consecutive character in the subsequence is no more than K.
More formally, let the subsequence of P be represented by an array pos, where (1 ≤ pos[i] ≤ N) and S[pos[i]] = P[i]. Then for each i > 1, the condition pos[i] − pos[i-1] ≤ K must hold.
The result should be returned modulo 10^9+7
-
-
[**💻 Submit Code**](https://www.hackerrank.com/contests/orbitax-associate-software-engineer-recruitment-2024-phase-1/challenges/orbitax-sub-sequence)
+Show Answer
```C++
#define M 1000000007
@@ -165,12 +169,12 @@ signed main() {
}
```
+
+
+
-
-
You are given an array of weights of length 200 and 3 buckets. The sum of total weights of the array will not exceed 100. You need to distribute the weights among the buckets such that the maximum value of the difference between the sum of weights in any two bucket is minimum.
-
-
+Show Answer
```C++
bool dp[205][505][505];
@@ -215,4 +219,5 @@ void solve() {
cout<
\ No newline at end of file
+
+
diff --git a/docs/priyo.md b/docs/companies/priyo.md
similarity index 87%
rename from docs/priyo.md
rename to docs/companies/priyo.md
index 8f01087..c69f107 100644
--- a/docs/priyo.md
+++ b/docs/companies/priyo.md
@@ -1,5 +1,12 @@
# Priyo
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.priyo.com/ |
+| Career Website | |
+| Technologies Used| |
+
## Introduction
[Priyo](https://www.priyo.com/) is a finance based tech company operating in US market. They operate from Bangladesh.
## Interview Stages
@@ -9,73 +16,55 @@ Priyo takes 2 interview.
3. **CEO Round:** It is kind of a behavioural round. But the questions can be coding or technical.
## Coding Round Questions
-
-
+
+
Given an array of positive integers and a integer p. Find the length of the minimum subarray upon deleting which the sum of remaining element will be divisible by p;
Follow up 1: find the number of subarray (need not be minimum) deleting which will result the sum to be divisible by p
Follow up 2: For each index find the number of times it is included in any subarray upon deleting which the remaining sum will be divisible by p
-
-
-[Answer]
-
+
+
+
-
-
You are given an array people and an integer limit, where people[i] is the weight of the ith person, and an infinite number of boats where each boat can carry a maximum weight of limit.
Each boat carries at most two people at the same time, provided the sum of the weight of those people is at most limit.
Return the minimum number of boats to carry every given person.
-
-
-[Answer]
-
+
+
+
-
-
Given an array of n colored balls. And some boxes. Each box has some capacity and each box must contain balls of same color. What is the maximum number of balls that the boxes can carry?
Constraint: max capacity of box - min capacity of box <= 1
-
-
-[Answer]
-
+
+
-
-
Given an array of n integers.Find max subarray sum with at most one delete.
-
-
-[Answer]
-
+
+
+
-
-
Given an array of n integers. Find the number of subarrays where the maximum element is between x and y
-
-
-[Answer]
-
+
## Technical Round Questions
-
-
+
+
Suppose you want to update value of a field in a database. Generally, a read operation is done to fetch the value. Based on the retrieved value some logic is applies and the result is updated in the field. Example, subtract from balance if the balance is more than some threshold. Another client in the meantime can update the field too thus resulting unexpected behaviour. How can this be solved?
-
-
+Show Answer
+
There can be multiple approach to solve this problem.
1. Complete the whole scenario in one query.
1. Use stored procedure
1. Use locks. Add an extra column for the purpose of locking. Before fetching a data for update, set the said lock to 1. If it is already 1 then don't proceed.
+
-
-
-How authentication is done in microservice based applications?
-
-
+
-
+How authentication is done in microservice based applications?
+
diff --git a/docs/relisource.md b/docs/companies/relisource.md
similarity index 94%
rename from docs/relisource.md
rename to docs/companies/relisource.md
index 833b9cf..b6fa9cf 100644
--- a/docs/relisource.md
+++ b/docs/companies/relisource.md
@@ -1,12 +1,19 @@
# Relisource
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.relisource.com/ |
+| Career Website | https://www.relisource.com/careers/ |
+| Technologies Used| Desktop, Mobile, Web, System & Network, Cloud Computing, AWS, Azure & Open Source DevOps |
+
## Introduction
For the Junior .NET Developer Position at first there was a 1 hour long written Exam which consisted 3 Questions (SQL Query, Problem Solving, JavaScript-HTML)
## Software Engineering Questions
-
-
+
+
Select The Company name which has the lowest total emoployee count.
|Company|Position|Employee|
@@ -19,13 +26,10 @@ Select The Company name which has the lowest total emoployee count.
|XYZ|blah|5|
|MNO|blah|20|
|MNO|blah|5|
-
-
-[Answer]
-
+
+
+
-
-
Problem Solving
There is a food track consisting of cells marked with 0, 1, or other numbers. Here, 0 signifies the cell is not traceable, 1 signifies it is traceable, and any other number represents the destination. Starting from the top-left point, determine the longest path to reach the destination. If no path exists, print -1.
@@ -35,27 +39,18 @@ There is a food track consisting of cells marked with 0, 1, or other numbers. He
|1|1|1|
|1|0|1|
|1|9|1|
+
+
-
-
-
-[Answer]
-
-
-
-
JavaScript & HTML
Write JavaScript code to check if a button is clicked in an HTML element using an EventListener. Upon clicking, the size of the HTML element should increase by 10%.
-
-
-[Answer]
-
+
## Embedded Software Engineering Questions
-
-
+
+
Problem Solving
Your task is to write a function in the C programming language to find an optimal route cost to a target location inside a maze and return the highest 4 bits (MSB + 3 bits) of the optimal route cost value. Your function should take as input two integer numbers for the starting index on the maze array. An optimal route is defined as a complete path from the start point to the target location that requires the least effort/cost. Diagonal movement in the maze is not allowed. An example maze is given below:
@@ -216,9 +211,5 @@ Maze Details:
- The maze size will be a pair of positive integer numbers, you can assume that the size parameters, length, and height of the maze will fit in a C integer (int) type.
- The cost values, excluding the impassable blocks, will always be a positive integer that will fit in a C integer (int) type.
- The maze length and height are not guaranteed to be equal but will be global fixed defined constants for each problem.
+
-
-
-
-[Answer]
-
diff --git a/docs/robendevs.md b/docs/companies/robendevs.md
similarity index 83%
rename from docs/robendevs.md
rename to docs/companies/robendevs.md
index 680ba8d..655548b 100644
--- a/docs/robendevs.md
+++ b/docs/companies/robendevs.md
@@ -1,4 +1,12 @@
# RoBenDevs
+
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://robendevs.com/ |
+| Career Website | https://robendevs.com/careers/ |
+| Technologies Used| |
+
## Introduction
[RoBenDevs](https://robendevs.com//) specilizes in building SaaS solutions.
## Interview Stages
@@ -8,41 +16,37 @@ RoBenDevs has a 3 stage interview process for Software Engineer, Intern role.
3. **Whiteboard System Design:** The candidate is tasked with designing a system on a whiteboard from a high level perspective. The candidate is expected to explain the reasoning behind the design.
## Coding Round Questions
-
-
+
+
Given the root of a binary tree, return the inorder traversal of its nodes values.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/binary-tree-inorder-traversal/description/)
-
+
+
+
-
-
Given a Directed Cyclic graph find the sum of all the nodes at level three from the root node
-
-
+Show Hint
To solve this problem we can use a BFS traversal of the graph. We can keep track of the level of each node and when we reach the third level we can sum all the nodes at that level.
+
+
+
-
-
Given the head of a linked list, remove the nth node from the end of the list and return its head.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/)
-
+
## Whiteboard System Design
-
-
+
+
Design a system that will be used to monitor the usage of electricity of meters across a area. The system should be able to show the usage of electricity in real time and also be able to show the usage of electricity over a period of time.
-
-
+Show Hint
Answer varies from person to person. The interviewers are looking for a high level design of the system and are interested in the reasoning behind the design.
+
diff --git a/docs/spectrum.md b/docs/companies/spectrum.md
similarity index 69%
rename from docs/spectrum.md
rename to docs/companies/spectrum.md
index 32e1704..95758ce 100644
--- a/docs/spectrum.md
+++ b/docs/companies/spectrum.md
@@ -1,30 +1,30 @@
# Spectrum
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.spectrum-bd.com |
+| Career Website | |
+| Technologies Used| |
+
## Introduction
Spectrum Engineering Consortium Ltd. specializes in IP/DWDM/SDH Network infrastructure, Data Center-Cloud solutions Facility, Server, Storage/Virtualizations.
## Questions
-
-
+
+
What is heap? How heap sort works? what is its run time?
-
-
-[Answer]
-
+
+
+
-
-
What is AVL tree?
-
-
-[Answer]
-
+
+
+
-
-
Given a singly linked list, more specifically the head of the linked list. Return the reverse of the list.
-
-
+Show Answer
```C++
ListNode* reverseList(ListNode* head) {
@@ -36,28 +36,20 @@ ListNode* reverseList(ListNode* head) {
}
```
+
+
+
-
-
[System Design] Design a url shortener like tiny url. Ensure uniqueness of the shortened link and scalability of the system.
+
-
-
-[Answer]
-
+
-
-
What is RAID? Describe RAID 0-5.
-
-
-[Answer]
-
+
+
+
-
-
Why disk IO time increases if the chunk size is small?
-
-
-[Answer]
-
+
+
diff --git a/docs/srbd.md b/docs/companies/srbd.md
similarity index 84%
rename from docs/srbd.md
rename to docs/companies/srbd.md
index 72b1686..86e5064 100644
--- a/docs/srbd.md
+++ b/docs/companies/srbd.md
@@ -1,5 +1,12 @@
# SRBD
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://research.samsung.com/srbd |
+| Career Website | |
+| Technologies Used| Windows, IOS, Android, Tizen, C/C++, Java, Objective-C, Swift, C#, Kotlin, Spring, WPF, UWP, MFC, Machine Learning |
+
## Introduction
[Samsung R&D Institute Bangladesh (SRBD)](https://research.samsung.com/srbd) started its journey in February 2011. Located in the heart of Dhaka, it is the first ever R&D hub set up by a multinational company in Bangladesh.
@@ -12,31 +19,28 @@ SRBD takes interview in two round.
1. **Technical round:** Round 2 is a technical round. You might get asked about basic theories or solve some simple problems
-
-
## Coding Round Questions
-
-
-You are given n balloons, indexed from 0 to n - 1. Each balloon is painted with a number on it represented by an array nums. You are asked to burst all the balloons.
+
-If you burst the ith balloon, you will get nums[i - 1] * nums[i] * nums[i + 1] coins. If i - 1 or i + 1 goes out of bounds of the array, then treat it as if there is a balloon with a 1 painted on it.
+You are given `n` balloons, indexed from `0` to `n - 1`. Each balloon is painted with a number on it represented by an array `nums`. You are asked to burst all the balloons.
+
+If you burst the `ith` balloon, you will get `nums[i - 1] * nums[i] * nums[i + 1]` coins. If `i - 1` or `i + 1` goes out of bounds of the array, then treat it as if there is a balloon with a `1` painted on it.
Return the maximum coins you can collect by bursting the balloons wisely.
-Variants: coins achived is nums[i-1]*nums[i+1]
-
-
-[Answer]
-
+Variants: coins achieved is nums[i-1]*nums[i+1]
+
+[**💻 Submit Code**](https://leetcode.com/problems/burst-balloons/description/)
+
+
+
-
-
A linked list of length `n` is given such that each node contains an additional random pointer, which could point to any node in the list, or null. Construct a deep copy of the list.
The deep copy should consist of exactly `n` brand new nodes, where each new node has its value set to the value of its corresponding original node. Both the next and random pointer of the new nodes should point to new nodes in the copied list such that the pointers in the original list and copied list represent the same list state. None of the pointers in the new list should point to nodes in the original list.
-
-
+Show Answer
+
```C++
class Solution {
@@ -53,10 +57,11 @@ public:
};
```
+
+
-
-
+
Mr. Kim has to deliver refrigerators to `N` customers. From the office, he is going to visit all the customers and then return to his home.
Each location of the office, his home, and the customers is given in the form of integer coordinates (x,y) (0≤x≤100, 0≤y≤100) .
The distance between two arbitrary locations (x1, y1) and (x2, y2) is computed by |x1-x2| + |y1-y2|, where |x| denotes the absolute value
@@ -67,16 +72,14 @@ You are given the locations of the office, Mr. Kim’s home, and the customers;
Write a program that, starting at the office, finds a (the) shortest path visiting all the customers and returning to his home.
Your program only have to report the distance of a (the) shortest path.
-
-
+
+
+
-
-
You are given a directed graph represented by an adjacency list. Your task is to detect if there exists a cycle in the graph.
If a cycle is found, print the nodes of the cycle in sorted order. Additionally, provide the results for each test case in the format
"#testCaseNo node1 node2 ... nodeK". If no cycle is present, print 0.
-
-
+Show Answer
```C++
#include
@@ -146,13 +149,13 @@ int main(){
}
```
+
+
-
-
You have string with repeated character. Example : `abcaade`. Count the number of characters that occur more than once. You can’t use array or map.
-
-
+Show Answer
+
[Answer 1]
My approach : Sort & search concurrent character `nlog(n)`.
@@ -160,47 +163,40 @@ My approach : Sort & search concurrent character `nlog(n)`.
Optimize approach : An integer have 32 bit. We have 26 small letter character. We just need to allocate each bit for position of a character. If an element is present set the concurrent bit and finally count the number of set bit.
(Comment from Tamim: Before trying this approach communicate with the interviewer to make sure about the characters present in the string ie only a-z is present and nothing else)
-
-
-
+
## Technical Round Questions
-
-
+
+
In pen and paper write the inner workings of a BST. How does a BST work? How to insert and retrieve a value from a BST?
-
-
-[Answer]
-
+
+
+
-
-
Thread A and Thread B are running parallely. What will be the output of following code?
-
+
-
-
+Show Answer
Unpredictable. It is not guaranteed that which thread is currently accessing the `cnt` variable. Was asked a follow up question on how to solve this issue?
-
+
+
+
+
-
-
Given 5 element. We want to search million time that will return if the searched element is present or no. What is the best time complexity.
-
-
-[Answer]
+Show Answer
+
You might be tempted to answer using binary search on sorted list but it might be better to use linear search. The internal mechanism for binary search has some constant overhead. For small number that overhead overshadows the benefit of logarithmic complexity. I ran both linear search and binary search. Linear search is about 5 times faster than binary search
+
+
+
-
-
Follow up question. We are guaranteed that each time new search element would be front the next position of previous search. Write code on pen & paper.
-
-
-[Answer]
+Show Answer
```C++
int lastElementPosition = 0;
@@ -222,12 +218,14 @@ int solve( vector arr, int element){
}
```
+
+
+
-
-
Follow up question. Suppose we have 5000 number each 500 digit. Now how will you search?
-
-
+Show Answer
Trie Data structure
+
+
diff --git a/docs/synesis.md b/docs/companies/synesis.md
similarity index 54%
rename from docs/synesis.md
rename to docs/companies/synesis.md
index 67f645a..e05e0fa 100644
--- a/docs/synesis.md
+++ b/docs/companies/synesis.md
@@ -1,13 +1,22 @@
# Synesis IT
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://synesisit.com.bd/ |
+| Career Website | https://synesisit.com.bd/career/ |
+| Technologies Used| |
+
## Introduction
Synesis takes a on campus written test first. The questions contain some coding problem, Database, writting sql, OOP etc
The second stage is face to face interview
## Questions
-
-
+
+
How would you manage your team if some teammate doesn't cooperate or doesn't contribute?
-
-
+Show Answer
+
Answer varies from person to person
+
+
diff --git a/docs/therap/dbe.md b/docs/companies/therap/dbe.md
similarity index 79%
rename from docs/therap/dbe.md
rename to docs/companies/therap/dbe.md
index 4e86508..eedffb4 100644
--- a/docs/therap/dbe.md
+++ b/docs/companies/therap/dbe.md
@@ -9,29 +9,23 @@ The selection process has 4 stages,
1. **2nd technical round:** This round is typically taken by both USA and BD team. However, the final selection is done by the US team.
1. **HR Round:** This is the final stage before onboarding and typically deals with salary negotiation.
-# Database Questions
+## Database Questions
+
+
-
-
Design an ERD of online restaurant management system
-
-
-[Answer]
-
+
+
+
-
-
What is Database Transaction
-
-
-[Answer]
-
+
+
+
-
-
Briefly explain ACID properties
-
-
+Show Answer
+
ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. Databases that support this are called ACID compliance. The properties are
- **Atomicity:** Each statement in a transaction (to read, write, update or delete data) is treated as a single unit. Either the entire statement is executed, or none of it is executed.
@@ -43,79 +37,53 @@ ACID is a set of properties of database transactions intended to guarantee data
> Atomicity, isolation and durability are properties of the database, whereas consistency is a property of the application. The C in ACID was tossed in to make the acronym work. [ref: Martin Kleppmann, Designing Data Intensive Applications]
+
+
+
-
-
What is normalization and denormalization
-
-
-[Answer]
-
+
+
+
-
-
Briefly explain BCNF
-
-
-[Answer]
-
+
+
+
-
-
Explain data warehousing
-
-
-[Answer]
-
+
+
+
-
-
Explain data redundancy
-
-
-[Answer]
-
+
+
+
-
-
Briefly mention the differences between stored procedure, function and trigger
-
-
-[Answer]
-
+
+
+
-
-
Briefly mention the differences between delete, drop and truncate
-
-
-[Answer]
-
+
+
+
-
-
Briefly mention the differences between where and having clause
-
-
-[Answer]
-
+
+
+
-
-
Briefly mention the differences between candidate key and super key
-
-
-[Answer]
-
+
+
+
-
-
A schema has entities like CUSTOMERS, ORDERS, ORDER_ITEMS, PRODUCTS, PRODUCT_DETAILS, WAREHOUSES, INVENTORIES. Data fields of entities and cardinality relationships were given in the figure. Questions included from <>
1. Group by, Order by, Join <>
2. Extracting month and year from oracle dates <>
3. Find ranks based on some criterion. The extremely hard question was - find top 10 customers based on their total amount spent in 2023. This one involved the following topics: aggregation, join of multiple tables, nested sub-query, year extraction from date. The book of Sukarna sir contains one/two such exercises. Practise them properly
+
-
-
-[Answer]
-
diff --git a/docs/therap/index.md b/docs/companies/therap/index.md
similarity index 81%
rename from docs/therap/index.md
rename to docs/companies/therap/index.md
index 0359024..c68c390 100644
--- a/docs/therap/index.md
+++ b/docs/companies/therap/index.md
@@ -1,5 +1,12 @@
# Therap
+|
|
|
+| :-| :- |
+| Founding year | 2004 |
+| Company Website | https://therapbd.com/ |
+| Career Website | https://therap.hire.trakstar.com/? |
+| Technologies Used| Java, J2EE |
+
## Introduction
[Therap (BD) Ltd.](https://therapbd.com/) is a US-based Software Company registered in Bangladesh, operating since 2004. They have their office in Dhaka, Bangladesh, and affiliate offices in the USA and Canada.
diff --git a/docs/therap/swe.md b/docs/companies/therap/swe.md
similarity index 90%
rename from docs/therap/swe.md
rename to docs/companies/therap/swe.md
index af31463..324a781 100644
--- a/docs/therap/swe.md
+++ b/docs/companies/therap/swe.md
@@ -8,16 +8,14 @@ The selection process has 3 stages,
1. **1st technical round** The first round is taken by the BD team
1. **HR Round:** This is the final stage before onboarding and typically deals with salary negotiation.
-
## Software Engineering Questions
-
-
-Given an array of numbers indicating stock price of n consecutive days. If you buy stock at one day and sell at any later day what is the maximum profit that you can get
-
-
+
+
+Given an array of numbers indicating stock price of n consecutive days. If you buy stock at one day and sell at any later day what is the maximum profit that you can get?
[**💻 Submit Code**](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)
+Show Answer
```C++
int maxProfit(vector& prices) {
@@ -32,15 +30,15 @@ int maxProfit(vector& prices) {
```
+
+
+
-
-
Given an array of n integers. You need to take all zeroes in array to the end without changing the relative order of remaining element.
-eg: [2,0,0,3,1,0,5] => [2,3,1,5,0,0,0]
-
-
+eg: `[2,0,0,3,1,0,5]` => `[2,3,1,5,0,0,0]`
[**💻 Submit Code**](https://leetcode.com/problems/move-zeroes/description/)
+Show Answer
```C++
void moveZeroes(vector& nums) {
@@ -53,23 +51,20 @@ void moveZeroes(vector& nums) {
```
+
+
+
-
-
Given an array of n integers. Reorder the elements such that all odd numbers occur after even numbers.
-
-
-[Answer]
-
+
+
+
-
-
Given an array of strings. Print the sets of strings which are anagram.
eg: ["cat","tab","act","bat","taco"] => [{"cat","act"},{"tab","bat"},{"taco"}]
-
-
[**💻 Submit Code**](https://leetcode.com/problems/group-anagrams/)
+Show Answer
```C++
vector> groupAnagrams(vector& strs) {
@@ -89,14 +84,14 @@ vector> groupAnagrams(vector& strs) {
```
+
+
+
-
-
Given an array of n integers. Find the kth largest element in the array.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/kth-largest-element-in-an-array/)
+Show Answer
```C++
int findKthLargest(vector& nums, int k) {
@@ -106,12 +101,12 @@ int findKthLargest(vector& nums, int k) {
```
+
+
+
-
-
Given two very large number in string format. Find the sum of the two number
-
-
+Show Answer
```C++
string sum(string &A, string &B){
@@ -136,14 +131,15 @@ string sum(string &A, string &B){
```
+
+
+
-
-
Given two binary tree. Check if they are identical [not isomorphism]
-
-
[**💻 Submit Code**](https://leetcode.com/problems/same-tree/)
+Show Answer
+
::: code-group
```C++ [Normal Solution]
@@ -215,15 +211,15 @@ func main() {
:::
+
+
+
-
-
Given two array of integers. Find the common elements between them.
-
-
-[**💻 Submit Code**](https://leetcode.com/problems/intersection-of-two-arrays/) Unique
-[**💻 Submit Code**](https://leetcode.com/problems/intersection-of-two-arrays-ii/) Repeats
+Unique : [**💻 Submit Code**](https://leetcode.com/problems/intersection-of-two-arrays/) Repeats: [**💻 Submit Code**](https://leetcode.com/problems/intersection-of-two-arrays-ii/)
+Show Answer
+
::: code-group
```C++ [Return uniques]
@@ -259,18 +255,21 @@ vector intersect(vector& nums1, vector& nums2) {
:::
+
+
+
-
-
Find pairs with given target sum in a doubly linked list.
-Input:
+```
+Input:
1 <> 2 <> 4 <> 5 <> 6 <> 8 <> 9
target = 7
-Output: (1,6), (2,5)
-
-
+Output:
+(1,6), (2,5)
+```
[**💻 Submit Code**](https://www.geeksforgeeks.org/problems/find-pairs-with-given-sum-in-doubly-linked-list/1)
+Show Answer
```C++
class Solution
@@ -307,9 +306,10 @@ public:
};
```
+
+
+
-
-
Solve the problem using Object Oriented Programming
``` C++
@@ -325,8 +325,7 @@ int main(){
int rectangle2area = rectangle2width* rectangle2height;
}
```
-
-
+Show Answer
``` C++
#include
@@ -377,17 +376,15 @@ int main() {
```
+
+
-
-
Given an array of sides of triangles, return an array of strings. The strings would be either “yes” or “no”, corresponding to whether the same indexed triangle is a right triangle or not.
Input: `[[3,4,5], [5,9,12], [6,8,10]]`
Output: `["yes","no","yes"]`
-
-
-
+Show Answer
```python
def areRightTriangles(triangles):
@@ -405,15 +402,14 @@ def areRightTriangles(triangles):
```
+
-
-
-A dictionary of sorted words was like this: [a, above, bad, broke, cat,..., yes, yolk, zoo]. After a malfunction it became this: [..., yes, yolk, zoo, a, above, bad, broke, cat,....]. Write a program so that given a word, one can find the word in the dictionary, with the same time complexity as when the dictionary was sorted.
-
+
-
+A dictionary of sorted words was like this: [a, above, bad, broke, cat,..., yes, yolk, zoo]. After a malfunction it became this: [..., yes, yolk, zoo, a, above, bad, broke, cat,....]. Write a program so that given a word, one can find the word in the dictionary, with the same time complexity as when the dictionary was sorted.
[**💻 Submit Code**](https://leetcode.com/problems/search-in-rotated-sorted-array/description/)
+Show Answer
```python
def search(words, target):
@@ -440,21 +436,17 @@ def search(words, target):
```
+
+
-
-
-
-
-
-
Given two strings s1, s2, return whether a substring of s1 is an anagram of s2
Input: `s1 = "hello", s2 = "lol"` Output: `True`\
Input: `s1 = "hello", s2 = "loa"` Output: `False`
-
-
+Show Answer
+
```python
def containsAnagram(s1, s2):
@@ -477,12 +469,12 @@ def containsAnagram(s1, s2):
return ara1 == ara2
```
+
+
+
-
-
Given two large numbers as strings, num1 and num2 with num1 larger than num2, return their difference in string format, using no direct string to int conversion or libraries.
-
-
+Show Answer
```python
def subtract(num1, num2):
@@ -510,15 +502,14 @@ def subtract(num1, num2):
return res[::-1]
```
+
+
-
-
Given an array containing 0,1,2 sort it.
Input: `[2,0,1,1,0,2]` Output: `[0,0,1,1,2,2]`
-
-
+Show Answer
```python
def bring2Front(ara,start,target):
@@ -535,17 +526,16 @@ def sortNums(ara):
return ara
```
+
+
+
-
-
Using no loops, print this pattern for a given number n:
`n, n-5, n-10,....0,....,n-10,n-5,n`.
Example: `7, 2, -3, 2, 7`
-
-
-
+Show Answer
```python
def recursiveAdd(ara, n):
@@ -561,12 +551,10 @@ def solution(n):
```
+
+
-
-
-
-
Design this legacy table for using in a relational database.
| ID | Name | Email | Subject | Courses |
@@ -576,7 +564,5 @@ Design this legacy table for using in a relational database.
| 3 | Josim | josim@gmail.com | BME | EEE101, CSE101, BME101 |
| 4 | Belal | belal@gmail.com | CIVIL | CIVIL101, CIVIL102, MECHA101, EEE101 |
| 5 | Rakib | rakib@gmail.com | MECHA | CSE101, BME101, MECHA101, MECHA101 |
+
-
-
-
diff --git a/docs/welldev.md b/docs/companies/welldev.md
similarity index 86%
rename from docs/welldev.md
rename to docs/companies/welldev.md
index 0de850e..09f650f 100644
--- a/docs/welldev.md
+++ b/docs/companies/welldev.md
@@ -1,5 +1,12 @@
# WellDev Ltd
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://www.welldev.io/ |
+| Career Website | https://www.welldev.io/careers |
+| Technologies Used| Ruby on Rails, Android, iOS, ReactJS |
+
## Introduction
WellDev Ltd is a software company based in Zurich, Switzerland, specializing in software development and IT services. It has offices in Bangladesh (Dhaka), South Africa, Canada etc.
@@ -21,8 +28,8 @@ This round consisted of a multiple-choice questionnaire covering these topics. T
Hands-On Problem Solving
-
-
+
+
What will the output of this code in C Programming Language and why?
```C
@@ -35,18 +42,19 @@ if(&arr[0] == &arr){
}
```
-
+Show Answer
The name of the array is a pointer to the first item of the Array.
So it will print "They are the same!"
+
+
+
-
-
Given an array, what will be the base address if we print the array name only (e.g., printf(ara))?
-
-
+Show Answer
+
It will print the address of the first item of the array.
In C, you can't pass array to functions by "Pass by value".
So when you pass an array to an function (for example: printf(arr)),
@@ -73,49 +81,42 @@ Damn!
```
+
-
-
+
+What is the time complexity of the print statement?
+if it's `O(1)` why is that? Is it the same case for Linked List?
+If it's not, why it isn't the same case?
```python
arr = [1, 2, 3, 4]
print(arr[2])
-
```
-
-What is the time complexity of the print statement?
-if it's `O(1)` why is that? Is it the same case for Linked List?
-If it's not, why it isn't the same case?
-
-
+Show Answer
`Tip:`
Learn about stack and heap memory and their use cases when memory is allocated.
Learn about compile time and runtime memory allocation.
+
+
+
-
-
Can we run binary search on a sorted LinkedList? If we can, what issues we might face?
-
-
+Show Hint
-`Hint:`
Think about how and why arrays can be divided easily but LinkedList can't be.
-
+
+
+
-
-
Write a code to delete the middle element of a stack without using any additional data structure while preserving the original order. Input: [1, 2, 3, 4, 5]. Output: [1, 2, 4, 5]
-
-
-
+
-
-
+
```python
def fn(n):
@@ -131,10 +132,8 @@ Given the above function, rename the function according to what the function tri
Write the same function but in a iterative manner.
Does the both implementations have same Time Complexity and Space Complxity?
-
-
+Show Hint
-`Hint and Tips:`
Write down the stack trace of the recursive function and try to speak aloud while doing so.
After getting what the function returns, rename the function accordingly.
@@ -143,9 +142,10 @@ However, think deeply about the fundamental difference between the two implement
One of the implementation uses a Data structure, one doesn't. So their space complexity won't be same.
+
+
+
-
-
What is the time complexity of the following code?
```C
@@ -157,44 +157,37 @@ int fun(int n) {
}
```
-
-
+Show Answer
+
+
+
-
-
Explain the order of SQL query execution (e.g., FROM, WHERE, GROUP BY, HAVING, SELECT).
-
-
-
-
-
+
+
+
+
Given a table with redundant data in multiple columns, how would you optimize it? (Hint: Normalization)
-
-
-
+
+
+
-
-
Given a Java code, identify issues that violate access modifiers.
-
-
-
+
+
+
-
-
Explain the basic concepts of Object-Oriented Programming (OOP).
-
-
-
+
+
+
-
-
What are the ACID properties in DBMS?
-
-
+Show Answer
+
ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. Databases that support this are called ACID compliance. The properties are
- **Atomicity:** Each statement in a transaction (to read, write, update or delete data) is treated as a single unit. Either the entire statement is executed, or none of it is executed.
@@ -206,111 +199,85 @@ ACID is a set of properties of database transactions intended to guarantee data
> Atomicity, isolation and durability are properties of the database, whereas consistency is a property of the application. The C in ACID was tossed in to make the acronym work. [ref: Martin Kleppmann, Designing Data Intensive Applications]
+
+
+
-
-
A basic GRE-like math question.
-
-
-
+
+
+
-
-
Write a SQL query to show all the duplicate rows in a table.
-
-
-
+
+
+
-
-
Can we make a stack with a queue?
-
-
+Show Hint
-`Hint:`
Think multiple queue.
-
+
## Second Round Questions
-
-
+
+
Write an API call to check whether the system is running properly and explain a GET API call.
-
-
-
+
+
+
-
-
Write a code to create a directory and a text file inside it with “Hello World” written.
-
-
-
+
+
+
-
-
What happens if two people try to reserve the same ticket simultaneously in a ticket reservation system? How would you solve this problem in a ticket management system? What will be your idea in this regard?
-
-
-
+
+
+
-
-
How many APIs are required to solve the above ticket reservation problem?
-
-
-
+
+
+
-
-
How can passwords be secured so that no one (even the administrator) can view them? How can password hashing be strengthened? What techniques do you know? (Hint: Salting and hashing techniques)
-
-
-
+
+
+
-
-
What is a trigger in DBMS, and what does cascading mean?
-
-
-
+
+
+
-
-
If we need to display a large amount of data on a website, what technique should be followed? (Hint: Pagination)
-
-
-
+
+
+
-
-
What happens when we browse a website? How are the contents rendered?
-
-
-
+
+
+
-
-
What is the difference between SQL and NoSQL?
-
-
-
+
+
+
-
-
For storing values from cache memory to RAM, should we use SQL or NoSQL?
-
-
-
+
+
+
-
-
Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/largest-rectangle-in-histogram/description/)
+Show Answer
::: code-group
@@ -396,56 +363,44 @@ int main(){
:::
+
+
+
-
-
You have a 100-story building, and two marbles. A marble will break if dropped from a certain height (from any floor). Find the highest floor you can lift by dropping or utilizing exactly two marbles.
-
-
-
+
+
+
-
-
Given a table with product_id, price, and product_name, write a query to find products with the same price.
-
-
-
+
+
+
-
-
What is the difference between DELETE, TRUNCATE, and DROP in SQL?
-
-
-
+
+
+
-
-
Explain threading in OOP.
-
-
-
+
+
+
-
-
How do you check for changes in a database?
-
-
-
+
+
+
-
-
Many questions from my CV (all practical, not just asking what you have done).
-
-
-
+
+
+
-
-
Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements.
-
-
[**💻 Submit Code**](https://leetcode.com/problems/move-zeroes/description/)
+Show Answer
```C++
void moveZeroes(vector& nums) {
@@ -458,6 +413,7 @@ void moveZeroes(vector& nums) {
```
+
## Contributors
diff --git a/docs/wsd.md b/docs/companies/wsd.md
similarity index 73%
rename from docs/wsd.md
rename to docs/companies/wsd.md
index 5f19a4a..d6f4999 100644
--- a/docs/wsd.md
+++ b/docs/companies/wsd.md
@@ -1,4 +1,12 @@
# WSD
+
+|
|
|
+| :-| :- |
+| Founding year | |
+| Company Website | https://wsd.com/ |
+| Career Website | https://wsd.com/career/ |
+| Technologies Used| |
+
## Introduction
[WSD](https://wsd.com/) or Wall Street Docs is a US based company trying to expand in Bangladesh.
@@ -12,93 +20,65 @@ They take their interview in two phases.
1. **First round** is task based. An assignment will be sent to your email if resume screening is passed.
1. **Second round** is in their Bangladesh office. It is a mix of coding and technical
-
## First Round Questions
-
-
+
+
Create a java console based movie listing application. Features include authentication (signin, login), adding movies, searching movies etc.
-
-
-[Answer]
-
+
+
+
-
-
Create a java console based banking application. Features include creating, displaying, searching, updating and deleting an acount, depositing and withdrawing an amount to your account.
-
-
-[Answer]
-
+
## Second Round Questions
-
-
+
+
Describe key features of spring boot.
-
-
-[Answer]
-
+
+
+
-
-
What is JWT token? What are the parts of a jwt token?
-
-
-[Answer]
-
+
+
+
-
-
Given a 2D matrix where each row is sorted. Describe how to find an element in the matrix. What is the complexity of such approach?
-
-
-[Answer]
-
+
+
+
-
-
Given a graph G and two nodes u and v of the graph. Find the lowest common ancestor of u and v.
-
-
-[Answer]
-
+
+
+
-
-
What are the key points of OOP?
-
-
-[Answer]
-
+
+
+
-
-
Describe abstract class and interface. What are their similarities and dissimilarities? What are their benefits?
-
-
-[Answer]
-
+
+
+
-
-
Describe key features of spring boot.
-
-
+
+
+
+
What happens when final keyword is used with variables and classes?
-
+
+
+
-
-
Given a binary search tree, find/ insert an element in the tree
-
-
-[Answer]
-
+
+
+
-
-
Describe method overloading and method overriding.
-
-
-[Answer]
-
+
+
diff --git a/docs/index.md b/docs/index.md
index 7f6a7ec..0a8153c 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -8,8 +8,11 @@ hero:
tagline: "Crowd sourced collection of interview questions of different BD tech companies"
actions:
- theme: brand
- text: Start Taking Preparation
- link: /general
+ text: Start Taking Preparations
+ link: /companies/general
+ - theme: alt
+ text: Read Notes
+ link: /notes/general
# - theme: alt
# text: API Examples
# link: /api-examples
diff --git a/docs/notes/README.md b/docs/notes/README.md
new file mode 100644
index 0000000..a8e7232
--- /dev/null
+++ b/docs/notes/README.md
@@ -0,0 +1,8 @@
+# Notes Section
+This folder is used to add notes. This section is still under planning phase.
+
+I am currently thinking about adding multiple resources in this section
+- creating topic wise collection of blog/tutorial post links
+- bite size piece of topicwise interview preparation contents
+
+No contribution is wanted for now. If you have any idea then please create a discussion.
\ No newline at end of file
diff --git a/docs/notes/database.md b/docs/notes/database.md
new file mode 100644
index 0000000..cedec03
--- /dev/null
+++ b/docs/notes/database.md
@@ -0,0 +1,8 @@
+# Database Related Blog Links
+
+| Topic Type | Resource |
+| :- | :- |
+| ACID | [ACID Databases – Atomicity, Consistency, Isolation & Durability Explained](https://www.freecodecamp.org/news/acid-databases-explained/) |
+| Database Isolation | [Understanding Database Isolation Levels](https://medium.com/nerd-for-tech/understanding-database-isolation-levels-c4ebcd55c6b9) |
+| Database Indexing |[An in-depth look at Database Indexing](https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd) |
+| Database Multitenancy | [Introduction to Multi-Tenant Architecture](https://stratoflow.com/multitenancy-introduction/) |
\ No newline at end of file
diff --git a/docs/notes/general.md b/docs/notes/general.md
new file mode 100644
index 0000000..851a878
--- /dev/null
+++ b/docs/notes/general.md
@@ -0,0 +1 @@
+This section is still under planning phase!
\ No newline at end of file