\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{jash24} \pdfinfo{ /Title (phonescreeninfo-resumebased.pdf) /Creator (Cheatography) /Author (jash24) /Subject (PhoneScreenInfo\_ResumeBased Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{PhoneScreenInfo\_ResumeBased Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{jash24} via \textcolor{DarkBackground}{\uline{cheatography.com/20424/cs/9629/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}jash24 \\ \uline{cheatography.com/jash24} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 2nd November, 2016.\\ Updated 26th October, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{4} \begin{tabularx}{3.833cm}{x{1.33887 cm} x{2.09413 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Object Oriented Programming}} \tn % Row 0 \SetRowColor{LightBackground} What is OOP? & Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. \tn % Row Count 12 (+ 12) % Row 1 \SetRowColor{white} Basic Concepts of OOP? & Abstraction, Encapsulation, Inheritance, Polymorphism \tn % Row Count 15 (+ 3) % Row 2 \SetRowColor{LightBackground} What is a class? & A set or category of things having some property or attribute in common and differentiated from others by kind, type, or quality. \tn % Row Count 21 (+ 6) % Row 3 \SetRowColor{white} What is an object? & Objects are created from classes. Objects have states and behaviors. \tn % Row Count 24 (+ 3) % Row 4 \SetRowColor{LightBackground} {\bf{What is polymorphism?}} & The ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes. A polymorphic type is a type whose operations can also be applied to values of some other type. \tn % Row Count 35 (+ 11) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{3.833cm}{x{1.33887 cm} x{2.09413 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Object Oriented Programming (cont)}} \tn % Row 5 \SetRowColor{LightBackground} {\bf{What is inheritance?}} & When an object or class is based on another object or class, using the same implementation to maintain the same behavior. {\bf{Helps the coder: mechanism for code reuse and to allow independent extensions of the original software via public classes and interfaces.}} \tn % Row Count 11 (+ 11) % Row 6 \SetRowColor{white} {\bf{What is encapsulation?}} & The packing of data and functions into a single component. (Using classes). {\bf{Allows selective hiding of properties and methods in an object by building an impenetrable wall to protect the code from accidental corruption.}} \tn % Row Count 21 (+ 10) % Row 7 \SetRowColor{LightBackground} What is constructor? & Used to initialize private fields of the class while creating an instance for the class. A default constructor will be created by the compiler if you don't create one. \tn % Row Count 28 (+ 7) % Row 8 \SetRowColor{white} Destructor? & A method which is automatically invoked when the object is destroyed. Main purpose is to free the resources (memory allocations, open files or sockets, etc.) \tn % Row Count 35 (+ 7) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{3.833cm}{x{1.33887 cm} x{2.09413 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Object Oriented Programming (cont)}} \tn % Row 9 \SetRowColor{LightBackground} Abstract class? & It may or may not include abstract methods. Cannot be instantiated, but they can be subclassed. \tn % Row Count 4 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.44186 cm} x{1.99114 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Data Structures}} \tn % Row 0 \SetRowColor{LightBackground} Traverse & Print all the array elements one by one. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Insertion & Adds an element at the given index \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Deletion & Deletes an element at the given index \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} Search & Searches an element using the given index or by the value \tn % Row Count 9 (+ 3) % Row 4 \SetRowColor{LightBackground} Update & Updates an element at the given index \tn % Row Count 11 (+ 2) % Row 5 \SetRowColor{white} Link & Each link of a linked list can store a data called an element \tn % Row Count 14 (+ 3) % Row 6 \SetRowColor{LightBackground} Next & Each link of a linked list contains a link to the next link called Next \tn % Row Count 18 (+ 4) % Row 7 \SetRowColor{white} LinkedLIst & A linked list contains the connection link to the first link called First \tn % Row Count 22 (+ 4) % Row 8 \SetRowColor{LightBackground} What is a binary search tree? & A binary tree with a special provision where a node's left child must have a value less than its parent's value and node's right child must have value greater than it's parent value. \tn % Row Count 30 (+ 8) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{3.833cm}{x{1.44186 cm} x{1.99114 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Data Structures (cont)}} \tn % Row 9 \SetRowColor{LightBackground} What is tree traversal? & A process to visit all the nodes of a tree. 3 ways: In-order traversal, pre-order traversal, post-order traversal. \tn % Row Count 5 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.7165 cm} x{1.7165 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Algorithms}} \tn % Row 0 \SetRowColor{LightBackground} What is a recursive function? & one which calls itself, directly or calls a function that in turn calls it. Every recursive function follows the recursive properties- base case where functions stop calling itself and progressive approach where the functions tries to meet the base case in each iteration. \tn % Row Count 14 (+ 14) % Row 1 \SetRowColor{white} What is selection sort? & Divides the data set into two sub-lists: sorted and unsorted. Then it selects the minimum element from unsorted sub-list and places it into the sorted list. \tn % Row Count 22 (+ 8) % Row 2 \SetRowColor{LightBackground} What happens in insertion sort? & Divides the list into two sub-lists, sorted and unsorted. It takes one element at time and finds it an appropriate location in the sorted sub-list and inserts there. \tn % Row Count 31 (+ 9) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{3.833cm}{x{1.7165 cm} x{1.7165 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Algorithms (cont)}} \tn % Row 3 \SetRowColor{LightBackground} How is insertion sort and selection sort different? & Insertion: works on the current element in hand and places it in the sorted array at the appropriate location maintaining the properties of insertion sort. Whereas, selection sort searches the minimum from the unsorted sub-list and replaces it with the current element in hand. \tn % Row Count 14 (+ 14) % Row 4 \SetRowColor{white} What is recursive backtracking? & Backtracking reduces the \# of possible value assignments that we consider, because it never considers invalid assignments. \tn % Row Count 21 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.68217 cm} x{1.75083 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Cyber Security + Balbix}} \tn % Row 0 \SetRowColor{LightBackground} Which companies are in cyber security? & root9B, Herjavec Group, IBM, Checkpoint Software \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} What is cyber security? & Protecting information and systems from major cyber threats. \tn % Row Count 7 (+ 4) % Row 2 \SetRowColor{LightBackground} Exigence? News? Why? & Computer and computer networks are involved in almost every aspect of our lives. Anything connected to the internet is at risk of getting hacked. Internet of Things is an innovation that is really common and useful nowadays. However, it is another area for hackers to penetrate. Internet of Things brings about another vulnerability. This is why cyber security today is so important. We have so much technology that is connected to the internet. \tn % Row Count 30 (+ 23) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}