문제

기,내가 무엇인지 궁금 모두 당신이 경험이 풍부한 프로그래머이나 새로(같은 날)있다.그래서 무엇이 가장 어려운 복잡한 프로그램을 작성?

도움이 되었습니까?

해결책

응용 프로그램에서 작성한 2005/6 사람들이 만들기 시각화를 통해 그들의 집의/차 등을 서로 다른 색으로 칠해진다.지금할 수 있는 확실히 될 수행되는 포토샵에서 수 있지만,훨씬,훨씬 더 많은합니다.

Viresol output preview

다른 팁

컴파일러

내가 원하지 않았거나 재미있는 글을 쓰고 싶지 않은 사람.

한 번은 BWT (Burrows Wheeler Transform)를 사용한 압축 알고리즘을 작성해야했으며 거대한 매트릭스를 만들어야하는 알고리즘에 단계가 있습니다. 매트릭스가 너무 커서 메모리 문제와 속도에 문제가있었습니다. 알아 보러 오십시오. 내가 사용할 수 있고 매트릭스를 완전히 피할 수있는 간단한 알고리즘이 있습니다.

나는 또한 ASM에 간단한 운영 체제를 작성해야했고 그것은 매우 까다 롭습니다.

한때 실시간 멀티 카메라 비디오 처리 소프트웨어를 만들었고, 33MHz 프로세서와 640MB의 RAM에서 모션 감지 및 누적 역사 마법을 수행했습니다. 어려운 부분은 이것을 빨리 만들었습니다. 약 4 년 동안 피자와 에피 파니와 함께 많은 해싱, 비트 변화, 부정 행위, 욕설 및 늦은 밤. 아, 그리고 나는 색상을 다루는 버전도했다. 아, 그리고 큰 방에서 증기와 흰색 연기의 차이를 볼 수있는 모듈 (원자로와 같이). 하, 당신은 그것을 시도합니다! 당신은 어떤 교과서에서도 그러한 예를 찾지 못할 것입니다. :)

비선형 부분 차이 방정식을 해결하기위한 라이브러리. 우리는이 이론적 물리 그룹에서 그것을 사용하여 매우 특별한 저온 환경에서 발생하는 Schrodinger 방정식의 비선형 적응을 해결했습니다.

간단한 솔버를 얻는 것은 비교적 쉬웠지만 일반화하는 것은 비교적 쉬웠습니다. 그리고 빨리 만드는 것은 도전이었습니다.

현재 Google 코드의 오픈 소스입니다. FDTL

하나의 코드베이스가있는 Windows와 Mac 모두에서 컴파일 및 실행되는 응용 프로그램.

암호화 및 보안과 관련된 것은 항상 나타나는 것보다 1000% 더 어렵습니다!

플라크가 많은 온라인 서비스를위한 범용 모뎀 드라이버. 또한 30 가지 유형의 모뎀 (헤이즈 모뎀 이전)을 지원해야했습니다. 그들은 모두 타이밍 특성이 다릅니다.

제품의 CP/M 및 DOS 버전에 대해 8086 및 Z80 어셈블러로 작성해야했습니다. 나는 아직도 특정 반이중 모뎀에 대한 악몽이있다 ...

그리드를 가로 질러 실행 된 COM으로 자동화

FFMPEG API를 사용하는 독점적 인 비디오 스트리밍 클래스 - 오디오와 동기화하여 패킷을 처리하고 적시에 프레임을 표시하는 수준에서. 다른 사람들이 나열된 것만 큼 어렵지는 않지만 몇 주 동안 내 엉덩이를 걷어차 고!

아마도 넥타이 : 사용 세트를위한 의사 결정 문제 해결사 만족도 모듈로 이론 그리고 C/ASM의 협력 프로세스 스케줄러는 UNIX 운영 체제 위에 실행되었습니다. 첫 번째는 단지 단단했습니다. SMT를 사용하기 전에는 한 번도 끝난 적이 없었고 다른 맥락에서 실제 구현으로 고도의 논문을 번역하는 것은 어려웠습니다. 두 번째는 OS 데이터 구조를 파기하여 데이터 구조를 이해하고 비트와 조각을 대체하여 마치 마치 마치 마치 마치 마치 별도의 스레드 인 것처럼 프로그램의 기능 사이를 앞뒤로 점프했습니다.

디버거

A 벡터 그래픽 라이브러리 을 쓰기 시작 1998 년에는 광범위하게 사용하의 계층적 구분을 제공하는 많은 작업에 O(로그 n)및 이방성 tesselations memoized OpenGL 전시 목록을 유지하는 높은 프레임 속에서 동적인 장면이 있습니다.특히,그것은 확인할 수 있게 되었습니다.으로 복잡한 벡터 그래픽을 유동적으로 분해되기 때문에 그들을 나무와 발췌 그들을 효율적으로 합니다.몇 년 동안,그것은 지금까지 가장 빠른 소비자의 수준의 벡터 그래픽 렌더러에서 세계입니다.

오 200kLOC 의 C++그러나 이론적 문제를 형성하는 기초적인 디자인이 걸렸 2 년 해결합니다.

두 가지 :

1) 컴파일러. 언어의 이름은 "3 볼"이었다 (공을 운영 한 친구에게 공물)

2) 단일 매크로가없는 Windows 어셈블리 프로그램, 모든 것이 스택으로 밀려 났으며 주소는 모두 상대적이었습니다. 그것은 모든 창에서 작동합니다 (주소가 없음). 기본적으로 일부 버튼과 레이블이있는 간단한 창입니다. 그러나 좋은 점은 객체 및 실행 파일에서 Opcodes를 추출하고 쉘 코드를 생성했다는 것입니다. 그래서 나는 프로그램의 모든 버퍼를 악용하고 문자 그대로 실행 중 하나 위에 내 자신의 응용 프로그램을 만들 수 있습니다! 원격 컴퓨터에 화면을 표시하는 것이 좋으며 원격 컴퓨터는 컴퓨터에 존재하지 않는 프로그램을 실행하면 리터럴이 프로그램을 원격 컴퓨터로 실행하도록 보냈습니다.

물론 이것은 아무것도하지 않는 데 너무 많은 헤드 캐시입니다 ... 그러나 그것은 내가 입력 한 모든 바이트의 가치가 있습니다!

나는 여러 공간 차원 (3에서 약 7 차원까지 3에서 높음)으로 모델링을하는 여러 코드를 작성했습니다. 실제로 음모를 꾸미거나 시각화 할 수없는 작업을 수행 할 때 문제가 어려워집니다.

그러나 실제로 다른 사람들이 자신의 작업에 사용할 수 있도록 툴킷을 구축하는 데 대부분의 시간을 보낸 사람으로서, 내가 한 가장 복잡한 프로그램은 실제로 도구 상자, 서로 협력하기 위해 만든 도구 세트라고 주장합니다. 일관된 방법. 그것들은 모두 함께 일하도록 만들어 졌기 때문에 수십 개의 유틸리티가 실제로 하나의 단일 도구로 작동한다고 주장 할 수 있습니다. (물론, 모든 모듈 식 코드는 이와 관련하여 유사합니다.) 여기서 내가 제공 한 것은 일반적으로 색상 관리 문제를 해결하기 위해 만들어진 모델링 도구였습니다.

나는 몇 주 전에 인터뷰 에서이 질문을 받았다 (아직도 내가 일자리를 얻었는지 듣지 못했다).

저에게는 기본 소개 수업 후 첫 프로그래밍 수업에서 몇 가지 과제였습니다. 우리 대학에서 웹 디자인 과정이 처음으로 제공되었습니다. 그것이 새로운 이후로, 몇몇 졸업생들이 가입하고 반의 절반 정도를 구성했습니다. 강사는 고위급 수업을 가르치는 데 익숙했으며 이미 수업에 참여한 많은 수업을 알고있었습니다. 기본적으로 그는 꽤 경험이없는 수업의 나머지 절반보다는 자신의 수준에서 가르쳤다.

아마도 가장 어려운 과제는 텍스트 전용 브라우저를 작성하는 것이었을 것입니다. 나는 다양한 태그에 대한 구문 분석에 문제가 있었고 도움을 요청했습니다. 강사는 컴파일러 코스를 가지고 있다면 간단한 것을 쓸 수 있다고 말했다. 그 시점에서 '컴파일러'는 프로그램이 진행되기 전에 마법의 일을 한 블랙 박스였습니다. 나는 그것이 무엇인지 몰랐다. 나는 그것을 쓸 수 있었다.

어려운 점은 작업을 수행하는 데 필요한 도구가없고, GOGLED시 결과를 이해하는 것을 포함하는 것이 었습니다. (Man Pages와 API는 당신이 찾고있는 것을 이미 이해하고 있지만 멍청이를 가르치는 것이 아니라면 훌륭합니다.) 내 협동 경험에서 나는 멘토가있을 때 가장 많이 배웠습니다. 몇 시간 이상, 내가 당신을 쫓아 내고 함께 움직일 수 있도록 알려주세요. 매주 저를 듣고 싶지 않은 사람들보다 훨씬 낫습니다.

나는 지금까지 재미있는 여행이었던 또 다른 PHP 프레임 워크를 연구하고 있습니다.

현재 iPhone 응용 프로그램을 작성하고 있습니다. 내가 쓴 가장 어려운 프로그램입니다. 언어가 어렵 기 때문에 코드가 어렵거나 다른 이유가 아니라 장치의 모든 것이 유창해야하기 때문입니다.

모든 것이 자연스럽고 느껴져야합니다. 나는 진짜 프로그래머이기 때문에 (유창함, 부드러움 또는 디자인에 대한 이해를받지 못하고 있습니다. 이 프로그램은 코드 현명하지만 사용자 인터페이스는 현명하게 작동합니다.

또한 실이 빨다 ;-)

특별한 것은 없지만 삼각형이있는 "구"를 그릴 수있는 함수, NXN 포인트가있는 삼각형을 두 개의 색상으로 보간했습니다 (따라서 입력은 반경, 하위 디비슨 수, Color1, Color2)였습니다. 그것은 힘들었지 만 그것이 효과가 있었을 때 매우 재미있었습니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top