PranabNandy / Graph-Algorithm

It contains all graph based algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nvidia

PranabNandy opened this issue · comments

Work closely with our diverse team members on flows to provide DFT, and DFP methodologies for industry-leading chip designs.

  • I already worked with multiple teams while doing Automative SOC bring up Linux BSP team, SVE team, PPAT team, performance team etc.
  • For Qultivate feature, We need the Access Policy permission for different FW like CPUCP subsys and CPU sysVM FW. We need to suggest multiple technique so that it won't violate the security policy of the system.
  • While Developing some feature, when there is some different requiement in some different SOC like Monaco only wants Gold & GOLD+ CD to access MPMM feaure where Lemasn GOLD and SILVERS both need the MPMM feaure. Gone through multiple round of discussion with HW team, Linux Team, SVE team and CPU Sys SW team. Finally coming up with accurate solution like rather doing the initialization from CPU CP FW pushed the responsiblity to TZ via SYSTEM INIT LIB.

Support development of tools using C++/Python/TCL.

Be clear with your fundamental
Be it embedded or not
Even if it is non technical also

CAD Tools : EDA Development Teams
Application Software Development ( 80% C++ , 20% Python as Script Language )
India ( Insertion Team) : 15 + 5 [ 1-2 YOE to 7-8 YOE & 12-15 YOE)
Taiwan ( Verification Team) : 5 (Interns are there)
USA ( Infra Team ) : 7 ( 15 YOE)

1 Test
1 Screening Rounds ( Basic Fundamental )
4 Rounds

  • C++ (STL)
  • Python [ Prepare Puzzle questions also for Logical ability ]
  • DS and Algorithm [ Linked List, BST, Graph questions ]
  • DLD [ Go through the basic ]

1 Round = HR + Managerial ( Salary etc. )

21/40 Score also accepted

MLD is Library designed by Me. It is working on the top of Kernel.
Via Dynamic Memory Allocation, we directly ask Kernel to allocate memory for User Application.
Now User application is asking MLD Library to allocate memory for it.
We don't use OOPs priciple here we user has freedom to deisgn the system.
Here it will manage all the dynamically allocated memory and detect the memory leaked.
Then it will free that leaked memory.

Here we achieved the goal by considering the allocated objects as graph node where there must be
one root node of the graph. All the nodes must be reachable from root node. If nodes are not reachable
from root node then it is called leaked objects.

We can also achieve the same using a table and reference count for each object also.

Where Smart Pointer & Shared Pointer concept is based on Class & Object i.e OOPs.
Here it will allocate memory and destroy the memory via constructor and destructor whenever
object will be out of scope.

• Design, develop, verify and productize software drivers for automotive SOCs and platforms, with focus on virtualization of audio and multimedia hardware

• Prior experience in designing ALSA/Sound device drivers for Digital Audio I/Os (I2S, PDM) and Audio ADC/DAC HW modules
• Understanding of I2S(TDM, PCM)/PDM/A2B Audio Hardware Interfaces
• Experience in Software based Pre-silicon verification, Post-silicon bring-up and production of Complex SOCs
• Solid background in operating system internals, device driver, real-time embedded operating system, algorithms and data structures
• Understanding of ARM CPU architecture and hardware considerations (MMU, DMA, Interrupts, Caches etc.)

Ways to stand out from the crowd:
• Experience working with solutions, based on Type-1 or Type-2 Hypervisors
• Experience in developing and optimizing Software for Hardware Virtualization
• Understanding of the hardware device virtualization technologies such as VirtIO

• Improve system performance and power optimization of Nvidia products.
• Building and customizing existing infrastructure to enable the effort of system tunning, debugging, automation and validation across workloads.

• Excellent C programming skills and data structure knowledge.
• Excellent debugging and problem-solving skills.
• You have strong experience in system software, device drivers, IPC, Synchronization, OS fundamentals and experience in building embedded products.

• Strong debugging skills in Windows, Linux or real-time OS environment.
Ways to stand out from the crowd:
• Deep understanding of systems architecture: CPU, GPU, memory, display, buses, kernel internals would be helpful.
• Exposure to Power/Performance improvement of embedded system.
• Expert in Windows Device driver arch and knowledge of GPU driver architecture.
• Experience on pre-silicon environment.

  • Familiarity with PC architecture, and ability to work close to the hardware.

  • Background with PCIE, Nvlink or server product technologies like Infiniband, Ethernet is a plus.

  • Previous experience of working on a large system software code base is preferable.