Sandisk – QA + פיתוח כלי בדיקה

מאת JobHunt

חלק א :

you have following routines:
1.bool SingleWrite(start sector,sector count,pattern)- write a single sector
2.bool SingleRead(start sector,sector count)- read a single sector
3.bool MultipleWrite(start sector,sector count,pattern)- write a miltiple sectors
4.bool MultipleRead(start sector,sector count)- read a miltiple sectors
*each of the above routines true or false result
*sector size is 512 bytes
*memory device starts from sector 0, the last sector is equal to max device capacity in sectors
*sector count – quantity of write/read sectors
pattern-written data

לבדיקת התאמה

Questions:
write a pseudo-code that performs the following operations on 8GB memory device:
1.write the entire media using SingleWrite with pattern OA.
2.write the entire media with SingleRead
3.write the entire media using MultipleWrite with chunk size of 64 sectors , pattern FF.
4.write the entire media with MultipleRead with chunk size of 64 sectors
חלק ב:
יש לך כרטיס זכרון, צריך לנסות לשבור את אבטחה של הכרטיס כאשר מחיקה/שמירה/קריאה של הכרטיס protected
פתרון מוצע:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PrepForSandisk1
{
class Program
{

static void Main(string[] args)
{
int[] myArray = { 7, 2, 5, 10, 3 };
int[] sortedArray = ArraySorter<int>(myArray);

string a = "abc_y_x";
string b = "bac_x_y";
Console.WriteLine(SameChars(a, b));
}

// 1. Write a method which receive an array and sort it in descending order.
static T[] ArraySorter<T>(T[] arrayToSort)
{
return arrayToSort.OrderByDescending(c => c).ToArray<T>();
}

// 2. How syntax of class which inherits from another class look like?
class A { };
class B : A { };

// 3. How you tell a program to wait for 1 second?
static void TellProgramToSleep(int seconds)
{
System.Threading.Thread.Sleep(seconds);
}

// 4. Is it possible to implement “Bungie sort” algorithm in order of n*log(n)?
// Never heard of bungie sort

// 5. Is it possible to create a WCF service and WCF data service in one model (Yes, No, Maybe)?

// 6. When do you use Thread.Keep?
// Never, such function does not exist

// 7. Have you read “C# fundamentals” by..?
// No, read several others

// 8. Do basicHttpBinding supports HTTPS (Yes, No, Maybe)?
// Yes

// 9. Can System.Array contain multiple data types, if so, write the code?
// Yes, 9.1 Array of objects
// 9.2 Array of Interfaces where each cell contains a different instance of the object
// 9.3 Array of parent classes where each cell may contain a different instance of that object

// 10. What is WPF trigger and what types of trigger exist?
// List of setters that are executed based on provided conditions (http://wpftutorial.net/Triggers.html)

// 11. What is the difference between managed and unmanaged code?
// Unmanaged is compiled to native machine code (CPU instructions) and is run by the CPU
// Managed code passes through two step compilation process before it becomes machine code
// it is compiled into IL and then by the JIT to machine instruction – so its also compiled into machine code.
// Before running this machine code the CPU loads the CLR code which provides a set of libraries for the application to use

// 12. What is the difference between Stuct and Class?
// struct is a value type, class is not – this means that….

// 13. How can you call unmanaged code from c#?
// example: [DllImport("kernel32.dll")]
// static extern int GetDriveType(string lpRootPathName);

// 14. Are you familiar with DevExpress?
// yes

// 15. Write a program which restarts the system
// 15.1 use console: System.Diagnostics.Process.Start("ShutDown", "-r"); //restart

// 16. Describe a three tier model.
// talk about MVC

// 17. What is the difference between int and long data types?
// int 32 bit, long 64

// 18. How you deny inheritance from a class?
// use the "sealed" accessor

// 19. What keyword you’ll use to query unique entries from SQL? (UNIQUE, DISTINCT, TOP, NONE OF THE ABOVE)
// DISTINCT

// 20. What is/are the protocol/s that WCF service will response with, when using webHttpBining (json, binary, xml, all of them)
// all of them

// 21. What Debug.Assert() do?
// If a condition is fulfilled, popup a messagebox that allows you to stop debugging

// Technical Interview Questions
// Logic question:

//Class Dict
//- Bool Insert(string x)
//- Bool Check(string y)
// For ex. we insert strings: “abc_x_y”, “y_x_bac” which considered equal strings
// How you’ll implement the Check method? (Found a solution using .Net Dictionary but asked to find other solution or implement the Dictionary itself)
// Answer:
static private bool SameChars(String firstStr, String secondStr)
{
char[] first = firstStr.ToArray();
char[] second = secondStr.ToArray();
Array.Sort(first);
Array.Sort(second);
bool res = first.Equals(second);
bool equals = first.SequenceEqual(second);
return res;
}

// Write a program that invokes a process, like notepad.exe opening text file.
static private void InvokeNotePad()
{
Process notePad = new Process();

notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "ProcessStart.cs";

notePad.Start();
}

// How to debug native code marshaled from .NET in VS?
//

// Have you developed multi-threaded applications?
// Yes

// Do know what Telerik is?
// Yes, company for .NET controls, like DevX
}
}

לבדיקת התאמה