What are fundamentals you should know before a technical interview?
It really depends on the of interview. Will you being doing application development? Mobile development? Web development? In general if you know the following you should be pretty well off (to be honest having a broad understanding of CS is helpful) Software Engineering General MVC (Model-View-Controller) What the software lifecycle looks like (something like Universe of Discourse - Problem Formulation - Problem Specification - Requirements Engineering - Requirement Specification - Architecting - Architecture Specification - Design - Design Specification - Programming - Software Components - Integration - Software System - Delivery - Delivered Software) How to use recursion The pros and cons of recursive algorithms How to write a recursive algorithm as an iterative algorithm SOLID (object-oriented design) (object-oriented_design) Debugging Complexity How to read code and determine its Big-Oplexity How topare the performance of algorithms that have the same Big-Oplexity Low Level Bit manipulation (And Or Not Shifts etc.) Bit masking Big-endian versus little-endian Caches and how they work Data Structures n(Know how to use the Big-Oplexities of various operations how to implement etc.) Hash Tables Singly- & Doubly- Linked Lists Arrays Binary Trees Trees in General B-Trees (just have a very basic understanding of these) Heaps Stacks Queues Tries Algorithms Techniques Shortest Path Breadth-first search Depth-first search In-order traversal Binary Search Merge Sort Quick Sort Insertion Sort Bubble Sort Divide and Conquer Dynamic Programming OOP Interfaces Abstract classes Polymorphism Inheritance Encapsulation Overriding Overloading Concurrency What is multithreading What to watch out for with multithreading Mutexes Problem Solving White Board Coding How to speak everything you are thinking How to verify that your code works (and check that it handles unexpected inputs correctly) How to break a problem into parts How to determine whether to use an iterative solution or a recursive solution How to relate a problem to other problems you've seen How to test a problem against various data structures to see if it can be solved more cleverly How to scope a problem (define it identify assumptions determine inputs & outputs) How to write a brute force solution How to improve the efficiency of a solution How to externalize your thoughts How toment code in a helpful and organized manner How to trace through code to verify that it works for sample inputs How to identify where in your code you made a mistake if you aren't getting the output you expect How to test individual parts separately How to identify patterns in problems by going through sample inputs and considering expected outputs This list isn't all-inclusive. You're going to need to know a lot more for more domain-specific interviews but this should get you started.
Which building materials is the best?
There is no particularpany because every locality has own building materials. Construction and Building Materials used in India In 199 the Indian Government took an initiative under the Building Materials & Technology Promotion Council (BMTPC) to encourage and promote sustainable energy efficient and environmentally feasible building materials. However traditional sourcing continues to be a major part of the construction industry and includes Source 1. Wood italic Compared to alternatives like plastic and other engineered products wood offers a great natural advantage. Traditionally wood construction has been the primary choice of Indian construction especially in rural areas. In modern times wood as a building material is also making headway into urban spaces. The advantages include High tensile strength 3 lightweight and higher self-support length Heat and electrical resistance 3 natural resistance to construction and heat 3 offering more stability and safety Sound absorption 3 Naturally acoustic properties make it a great advantage in city living and workspaces Aesthetic 3 Again the natural touch of wood is fresh. Also an incredible range of wood is available based on the need. Wood construction however has its set of disadvantages including Deforestation 3 sourcing requires cutting down of trees Prone to damage 3 Easily damaged by natural elements High maintenance 3 requires expensive maintenance Source s 2. Plastic italic Mainly used as polymers in the construction industry they form a relatively small percentage of the building materials in India. Its advantages include Can be molded into any shape or form Hard resilient heat tolerant Immune to water damage Cost effective However at the same time Environment damage 3 Is not biodegradable and hence pollutes the environment Flammable 3 Can be an easy cause of fires Source s 3. Glass italic Glass has be an exceedingly important material in the urban scape. Not just corporate offices but even modern homes are using glass as a faue7ade alternative. The main advantages include Beautification 3 Looks good from outside More sunshine 3 allows for maximum use of daylight while saving energy costs Privacy 3 Comes in a huge variety of reflective surfaces to offer privacy UV Resistant 3 Keeps off the harmful UV rays from the indoors However glass fails when it is about Costly 3 Expensive to deploy and needs to be carefully handled High maintenance 3 Requires regular cleaning and this can be challenging with high glass walls Security concerns 3 Privacy and safety can bepromised Source 4. Metal italic Aluminum and steel alloys form a big part of the construction industry across the globe and are in fact the framework for big structures. The strengths lie in Flexibility and resilience 3 Highly durable and strong Weatherproof 3 Can withstand adverse climatic conditions to a great extent Fire resistant 3 less prone to burningpared to wood or glass Its disadvantages include Prone to rust 3 and consequently affects the structural integrity of the construction Difficult to seal 3 inconvenient to design Expensive 3 metal constructions are highly expensive. Also they require high maintenance Source s 2 3 master_ s s 6. Bricks and Blocks italic Made up of clay or mud brickse in several shapes and offer high strength to the construction. They have long been used to construct homes and offices across India. Its advantages include High thermal stability Made from local materials Cheap to manufacture and durable to use Offers a range of insulation moisture absorption and resonance properties However bricks are Environmentally damaging 3 soil excavation resulting in soil erosion Requires high construction costs 6. Concrete italic Concrete as in cement brings in the same set of advantages and disadvantages. They are long lasting building materials and have be the foundation for India bridges highways reservoirs dams parking structures and everything big. Clay Bricks As The Most Superior Building Material Clay bricks are first of all ideal for the tropical climate like India. Consequently it has also been the oldest known building material for its utility and high sustainability. What more important is that clay brick is the healthiest and greenest of all the alternative solutions. Sourcing of clay is the least devastating on the environment and it can even be recycled into the process. As the need for futuristic homes increase we also need to be responsible for the environmental impact that our population leaves behind. Choosing green building materials like clay can help the cause of the environment and is perhaps the best solution at hand presently. Curated by editor at italic Wienerberger India italic Like this story? Or have something to share? Write to us italic gosmartbricks@ italic mailtogosmartbricks@ or connect with us on italic Facebook italic s and italic Twitter italic s . italic 1149 SHARES Facebook s Twitter s Green Corner building construction materials building materials Construction and building materials Construction and Buil Still specific brands are good. Grouting Compound Packaging Type HDPE Bag s Perma Construction Aids Private Limited s Mulund West Valsad 48 KilogramCall NowGet Best Price Wall Flashing s Apna Roofing (Brand Of Budhia Steel) s VKI Extension Jaipur 25 MeterCall NowGet Best Price Perma Concrete Repair Products s Perma Construction Aids Private Limited s Mulund West Mumbai 59 KilogramCall NowGet Best Price Wall Flashing s Pushpak Infra Steel Private Limited s Gultekdi PuneCall NowGet Best Price Indutrial Construction Material s Varun Textiles s Kandivali West MumbaiCall NowGet Best Price Block s Concrete Cover Blocks s Refractory Bed Material s Sillimanite Powder s Laddle Sleeves s Raw Perlite s High Alumina Fire Castable s Asphalt Concrete s Bitucure Mastic Compound s Siporex Slab s Cement Cover Block s Refractory Sleeves s Crumb Rubber Modified Bitumen s Wall Ties s Road Patching Materials s Beam Brackets s u276f White Water Proofing Basement Walls Grade Standard Analytical Grade Packaging Type Packet s Riddhi Enterprise s MumbaiCall NowGet Best Price Grey Plaster Material For Construction And Road s RPP Blue Metals s Thennampalayam Tiruppur Coimbatore 52 UnitCall NowGet Best Price Stone Path Wall Plaster Grade Standard Technical Grade Packaging Type Bag s Samrock Chemicals (i) Ltd. s Navrangpura Ahmedabad 15 KilogramCall NowGet Best Price Rectangle Partition Walls Construction Red Brick Size 9 X 4 X 3 In s DRP Infratech s Indore 4 PieceCall NowGet Best Price DR S BOND Dr.s. Bond Ready Mix Plaster 4 KG s Dr. S. Bond Construction Chemicals s Kushaiguda Hyderabad 45 BagCall NowGet Best Price Renaplast Ready Mix Cement Plaster 5 Kg s Renaatus Procon Private Limited s Coimbatore 3 BagCall NowGet Best Price Cast Iron Concrete Formwork s Maruti Steel Fab s Bhosari Pune 6 Metric TonCall NowGet Best Price ASTRRA Biomass Silica Micronised As Cement Replacement Material In Concrete s Astrra Chemicals s Thousand Lights Chennai 21 KilogramCall NowGet Best Price Land Filling Materials s Star Trace Private Limited Chennai s Redhills ChennaiCall NowGet Best Price We can search out in market or go to building of our lopacity. THEY wI'll provide all s of material at suitable cost. Thanks.
How did people working in a service based industry have to prepare for startup and product based companies in India?
Migrating from service basedpanies to product basedpanies is tough. Companies like TCS CTS IBM Infosys have a very mediocre (if at all any) quality bar (which exs their number of employees) as a result of which employees find it very easy to be mediocre in terms of fundamentals and skills and can carry on for years. Grunt work is the norm in thesepanies and gradual exposure to such work pushes the brain towards a state of non-intellect and it bes even tougher to migrate the longer you stay in thesepanies. No hope is lost though. You can still make it (I did!). Necessary disclaimers - Everything I am saying is based on my personal experience. I have worked in IBM India following which I cleared Adobe and Amazon. I worked at Amazon for 3.5 years following which I am a SDE 2 in Microsoft IDC Hyderabad. My background is Electrical Engineering and until 4th year I did not know programming at all and scored a zero in my semester programming course. So if I can do it no reason you cannot! Learn coding . When I say learn coding I place very little (if at all any) emphasis of the language. One of the mostmon questions in Indian software sphere is - Bro what languages do you know? I know Java and C++. This question is ridiculous due to a number of reasons. Firstly language is very easy to pick up. When I joined Amazon I did not know Java at all. From day one I had to code in Java. I learnt it on the fly. You may learn Java but end up working in Microsoft where majority of the codebase is C++ and C#. What will you do then? You will always have to be prepared to know new technologies (be it languages like Erlang or frameworks like Swift or Cloud platforms like AWS) ad-hoc. If you are not quick to adapt to new requirements you will never prosper in product basedpanies. Most of the people who claim that they know C++ will fail badly if they face 1 questions from a Scott Meyers book. Just knowing how to write a for loop in a language doesn mean you know the language. Secondly language is the last thing interviewers look at. When I cleared Adobe the role was for a C++ developer. And I knew neither I wrote all interview answers in Perl and Python! So language is not important pick up any one code lots and lots of stuff in that language and befortable in language to pick up? Any one of them really. However if you are looking for a job in Microsoft you might as well be proficient in C++ or C#. If anything your ramp up time after joining will be reduced. If you are looking for a Java developer position say in Amazon may be Java. If you are looking for a web developer position you have to be well versed in HTML (although critiques go bonkers when HTML is called a programming language. Brace yourself!) ordered-list 2. Graspputer fundamentals . This is where the cream is separated from the crop. You may ask yourself I am working in Amazon I will never need to write an OS from scratch. Why do I need to learn what virtual memory is or in which scenarios an AVL Tree is a better balancing data structurepared to a Red Black Tree? Because while you will not need to use them directly you will need to use higher level stuff that eventually use these internally and your knowledge in these low level stuff will not only help you debug that nasty vtable error your precious C++ code is throwing or determine whether clustered index is better suited in your scenario than a non-clustered one it will also help you be a subject matter expert which is of paramount importance if you are looking for a promotion. Sure Google and Stackoverflow can alwayse your rescue but if you just like others fire up Google to search for a solution when your juniores to you with a problem it doesn show that you are an expert at the subject it just shows you are an expert at Googling and the peer respect necessary for rising up doesn build up. Soputer science is a massive field what fundamentals you should be expert at? For starters a. Operating Systems italic . You don have to know how to fork kernel code debug device drivers and all that but at least know the basics of how the memory system works what paging and segmentation are how caching is done how processes are spawned transferred scheduled and called how files are represented and stored etc. Don just read the theory go to Youtube and go through working examples to hit the lesson home. You don have to know the detailed intricacies of how a printer works but if you answer is Well sir on clicking the print button the paper gets printed to the question How do printers work you are being no different than your mother whose solution to everyputer problem is to restart it. When the interviewer asks you this question - he is just verifying whether your fundamentals are in order you are expected to at least say something about I devices file streams how the printable files are supposed to follow a generic protocol that can copy a stream to an output device so that the device can print anything that obeys that protocol regardless of what that file actually is etc. b. Database italic - Just like language this is another dicey area. People just learn how to form one or two simple queries and they start saying that they know Oracle or MySQL. Don. You will get roasted in interview. My last interview round in Amazon was an excruciatingly tough one requiring details of database index caching and optimization and internal data structures. I had to use every bit of my knowledge to clear that round. Was that necessary? Nope. The person who interviewed worked in the same team which I joined and there never had been or in future were any requirement for database knowledge. He simply tried to roast me just to verify if what I had stated in my resume was . Remember - this is not TCS they won ask you to write a program to print your name to test your language skills. So you need to have a holistic knowledge of databases - how index works and what are the various s of index where to use which one how they are represented internally how to optimize a given query which join is better suited to a given query how can stored procedure be used to make things easy the caveats of a stored procedure etc. An excellent book would be the biblical one on SQL Server by Kalen Delaney. If the role is geared towards a specific technology then the fundamentals of that will also be required. For example if you are applying for a SDE role in Microsoft Edge team where majority if the work is in C++ you will be expected to be fairly expert in C++. So if you with great confidence answer Well in the order in which they are initialized to the question In what order are member variables initialized in a constructor initializer list you have already messed up! 3. Learn Software Design - This is most important if you are looking for senior roles based on experience like SDE 2 or SDE 3. You may be the star performer in TCS but you won clear even the first round in Microsoft if you are clueless about Oriented Design. Read internalize the definitive book on designs by the Gang of Four. You will be specifically asked to design stuff - like design a bank ATM system or a system of 1 elevators you will be expected to use all your design knowledge toe up with a design which is clean reusable and extensible. You will be asked why in a particular case Factory Pattern is overkill why in a given situation Singleton Pattern makes sense etc. These knowledge will be in requirement during practically every day of your work so be sure that interviewers will grill you on this topic. It might be okay if you could not ex how exactly segmentation works in OS but it won be okay if you could not write clean and reusable object oriented code. 4. Learn about Data Structures and Algorithms . This is perhaps most important although its importance gradually reduces as you apply for higher positions. Again like everything else it is a gigantic field. The interviews can also range from the tricky one to the unimaginably tough. I have seen Google interview questions which require knowledge of centroid dposition. Will you face these questions the likes of which generally appear in Topcoder or Olympiads? Probably not. If you do you are applying for the wrong position. Coming back the kind of questions which generally doe are abundant over internet. Grab some books like the one by Gayle Lackman or browse through the examples at GeeksForGeeks and Leetcode. You will have a very good idea of what kind of questions do arise in interviews in Google Amazon Facebook Microsoft etc. However do not mug them up. You can be the best mugger of your generation you will still fail in interview if you don get the concepts right. For example in my Amazon interview 3rd round I was asked a stock question - there are N players numbered 1 to N and a function which takes two player ids as input and returns the winner in O(1) time. Use the function to sort the N players in the array in least time so that every player has won against the player on his left. I also gave the stock answer - quicksort replacing the typicalparison operation by this function. I was feeling reasonably pleased until the interviewer (he was to be my manager) asked me its worst case scenario. That for a Quicksort is O(N^2). There are ways to optimize quicksort but none could apply here because of the nature of the problem. He said it is possible to do it. If I had mugged up the solution I would have had to give up. But I gave it some thought finally came up with a solution based on AVL tree that reduced the worst time to O(N Log N). No amount of mugging up GeeksForGeeks and Leetcode could have prepared me for this. So how do you learn and practice? a. Grab hold of a good book on the topic. Preferably CLRS or the one by Steven Skienna. Learn the fundamentals. How binary trees work. How binary search trees work. Where to use heap sort. What amortized time analysis is. What is meant by NP hard problems. How to find the shortest path between two nodes in a mesh. Etc. b. Go through the websites I mentioned. Many people frown upon them do not listen to them. Go through the problems solved there practice. Learn. Practice again. You may have written an immensely popular software for OS X like Homebrew however Google will still reject you if you do not know how to invert a binary tree (this is a real life example. Google it!). Many people ask whether this is necessary. For example in my three year work in Amazon the mostplex algorithm I had to use was a binary search. I never had to take resort to binary trees or even ed lists forget Red Black Tree! So why do interviewers ask you that tough binary tree algorithm even though your work will not require it? It is because these test your problem solving skills. One who can solve tough problems in an interview in such short duration is capable of solving big real world problems thepany will be facing in short time as well - that is the idea.