From 1089dd825f7fe31aa709691a3ad6418ea700c5fc Mon Sep 17 00:00:00 2001 From: Vahagn Khachatryan Date: Sun, 8 Feb 2015 23:06:25 +0400 Subject: [PATCH] Radely James for bloomberg. --- interviews/radley_james/online_test.cpp | 140 ++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 interviews/radley_james/online_test.cpp diff --git a/interviews/radley_james/online_test.cpp b/interviews/radley_james/online_test.cpp new file mode 100644 index 0000000..cba4882 --- /dev/null +++ b/interviews/radley_james/online_test.cpp @@ -0,0 +1,140 @@ +/* +VIM: let g:lcppflags="-std=c++11 -O2 -pthread" +VIM: let g:wcppflags="/O2 /EHsc /DWIN32" +VIM: let g:argv="" +*/ +#include +#include +#include +#include +#include +#include + +/* +#1 print numbers from 1 to N and if i is 3 mutltiple print "Fizz", if 5 multiple "Buzz". + If both then "FizzBuzz". Otherwise print number. + + int N; + std::cin >> N; + + for (int i = 1; i <= N; i++) + { + if (!(i % 3)) + std::cout << "Fizz"; + if (!(i % 5)) + std::cout << "Buzz"; + if ((i % 3) && (i % 5)) + std::cout << i; + std::cout << std::endl; + } +*/ + +/* +#2 print complement of N. + + unsigned int c = 1; + unsigned int b = N; + while (b) + { + b >>= 1; + c <<= 1; + } + return c-1-N; + +alternative: + if ( !N ) + return 0; + + unsigned int b = N; + while ((b&(b-1))) + auto n = b&(b-1); + return (b<<1)-1-N; +*/ + +/* + #3 + char a[] = ""; + sizeof(a)? +*/ + +/* +#4 +struct A { + int x; + A(int a) : x(a) {} + A( const A& a ) { x=a.x; x++; } + opertaor = ... { x=a.x; x--; } +}; + +A a(4); +A b = a; +std::cout << b.x; + +3? +4? +5? +*/ + +/* +#5 +struct A { + int u; + int l; + + A(int i) : l(i), u(l + 1) {} +}; + +A a(5); +print a.l a.u + +5 6 +compilation fail +5 garbage ? + +*/ + +//#6 +/* +struct A { + int d; + virtual ~A(){} +}; +sizeof(A)? 8 || 16 +*/ + +//#7 +/* + +conceptual support for function call + +system stack +data segment +processor's register +text segment +heap +*/ + +int main ( void ) +{try{ + + + A a(5); + std::cout << a.l << ' ' << a.u ; + + char c; + std::cin >> c; + return 0; +} +catch ( const std::exception& e ) +{ + std::cerr << std::endl + << "std::exception(\"" << e.what() << "\")." << std::endl; + return 2; +} +catch ( ... ) +{ + std::cerr << std::endl + << "unknown exception." << std::endl; + return 1; +}} +