Skip to content

Shanghai Baud Data Communication Co. Ltd.

Founding year1994
Company Websitehttps://www.bdcom.cn

Introduction

BDCOM is a Chinese company specializing in networking and communication solutions. It has established its Research & Development(R&D) department in Bangladesh and recruit intern R&D engineer which is a 6 months program to be a Junior R&D Engineer.

Interview Stages

  • Written test: The total time is 2 hours.
  • On site contest and Interview

Written Test Questions

C Programming

  • pointer, memory, sizeof, struct, define, enum, string, unsigned char/int, short int, array output tracing type problems (search on google, you may find tons of output tracing problems), 1’s/2’s complement, sign magnitude, arithmetic/logical shift
  • Size of a struct.
  • Pointer to a struct, incrementing the pointer
  • Output tracing with various conditional operators

Operating System

Discuss what led to the need for process scheduling in modern operating systems.
Explain how multitasking and limited CPU resources made it necessary to manage processes efficiently, and describe the objectives of a process scheduler (e.g., fairness, responsiveness, throughput, CPU utilization).

When a high-level program file (e.g., C or C++) is turned into an executable file, several steps occur in sequence. Explain each stage and how they work together to create a runnable program.

Show Answer

  • Preprocessing: Handles directives like #include and #define.
  • Compilation: Converts source code into assembly code.
  • Assembling: Translates assembly code into machine code (object file).
  • Linking: Combines object files and libraries to produce the final executable.

Define the following fundamental computer science terms: DMA, Byte Order, coroutine, RISC, PCB.

Show Answer
  • DMA (Direct Memory Access): A feature that allows hardware devices to access main memory without CPU intervention.
  • Byte Order (Endianness): The order in which bytes are stored for multi-byte data types; primarily little-endian vs. big-endian.
  • Coroutine: A generalization of subroutines allowing execution to be paused and resumed; useful for cooperative multitasking.
  • RISC (Reduced Instruction Set Computer): A CPU design philosophy focusing on a small, highly optimized set of instructions.
  • PCB (Process Control Block): A data structure used by the operating system to store all information about a process (e.g., PID, state, registers, memory info).

List and briefly describe the major parts of a CPU (Central Processing Unit):

Show Answer
  • ALU (Arithmetic Logic Unit): Performs arithmetic and logical operations.
  • CU (Control Unit): Directs the operation of the processor by interpreting instructions.
  • Registers: Small, fast memory locations for temporary data storage during instruction execution.
  • Cache: A small-sized, high-speed memory for frequently accessed data.
  • Clock: Synchronizes all operations and controls the pace of instruction execution.

Networking

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

Analytical

There are N train coaches numbered from 1 to N placed in sequence on a left track. The coaches can be moved either directly to the right track or temporarily to a spur track (which behaves like a stack). Once a coach moves from the left track to either the spur or the right, it cannot return to the left.
Print all possible valid output sequences (permutations) in which the coaches can arrive at the right track using the spur as intermediate storage.

There are 1000 liquid bottles. One of the bottles contains poisoned liquid. A rat dies after one hour of drinking the poisoned wine. How many minimum rats are needed to figure out which bottle contains poison in hour? [Also called the Poison and Rat problem]

Four people need to cross a bridge at night. They have one torch and the bridge can only hold two people at a time. Each person walks at a different speed: 1, 2, 5, and 10 minutes. If two people cross together, they must go at the slower person’s pace. What is the minimum total time required for all four people to cross the bridge?

You are given two candles of equal length. Each candle takes exactly 60 minutes to burn, but they burn at inconsistent rates (i.e., half the candle may not burn in 30 minutes). How can you measure exactly 45 minutes using these two candles? [Also called the The Burning Candles problem]

There are 10 jars of pills. One jar contains pills that weigh 9 grams each, while the others contain pills weighing 10 grams each. Using a weighing scale only once, how can you determine which jar contains the lighter pills?

Data Structure and Algorithm

You are given an arithmetic expression in either infix or postfix notation. Write a program to convert it to prefix notation, maintaining correct operator precedence and associativity.

You are given 1000 unsorted numbers and need to find the 10 smallest elements efficiently. Which sorting or selection algorithm would be most optimal to solve this problem and why?

Implement a function to perform preorder traversal of a binary tree using both recursive and iterative (loop-based) approaches.

Write a program to add and delete a node in a doubly linked list. Your implementation should handle edge cases like deleting the head or tail nodes and adding a node at arbitrary positions.

Compare arrays and linked lists in terms of memory usage, access time, insertion, and deletion. In which scenarios would you prefer one over the other?

You are given unlimited coins of denominations 1, 2, and 5 cents. How many different ways can you make a total of 1 dollar (100 cents) using these coins?

Explain the difference between linear and non-linear data structures with examples.
Mention the advantages and typical use cases of each.

Contributors

Rigan Mahmud Chowdhury