2009-04-13 50 views
13

我想大多數人都知道我在做什麼。你開始了一項新工作,在掃描整個代碼的第一個星期左右,你會發現你還在另一個C商店中,偶爾出現這種流行或者倒黴的用戶定義類。你很快意識到,不僅你不會學習任何新東西,而且在你被要求不使用某些東西之前只是一個時間問題,因爲沒有人理解它們,並且不能保持你的工作。如何確定商店的實際開發水平,例如C++與C?

多久你會看到一些新的技術說,StackOverflow,只有意識到,如果你曾經在工作中使用它,你會遇到困惑或煩惱充其量嗎?

根據您的經驗,這些地方是規範還是例外?

在面試環境中,您會(或者會)如何確定團隊的複雜程度以及對C++的承諾?例如,我嘗試詢問有關公司使用STL,Boost,第三方庫等的問題,但似乎只是逐漸接近實際情況,您會發現它一旦發現。思考?

+1

在那裏有一個真正的問題,但我不太確定它是什麼。 – Shog9 2009-04-13 17:53:51

+0

這是關於就業經驗,真的應該是社區wiki。簡單地說,你經常遇到比廣告更落後的商店,你如何避免這些商店? – 2009-04-13 17:58:40

+0

我不知道爲什麼這會關閉。 +1重新打開 – jalf 2009-04-13 18:05:29

回答

9

這真的是全線。就範圍而言,我曾在一個地方工作過,最近在10年前,這個地方的代碼最近被改寫爲C.每個人都對這種新型技術持懷疑態度。稍微遠一些,你會發現C程序員碰巧擁有啓用了C++特性的編譯器。他們會涉足「class」關鍵字。但除此之外,它們實際上是用C編寫的。

接下來,我認爲你會發現那些只是遺傳繼承和多態性的人。這些都是那種可以在MFC或wxWidgets程序中暈倒的人,並且認爲這是最棒的。

你會走得更遠一點,找到剛讀過邁耶的人。它們都是關於如何高效地使用STL。他們有一個基本的模板概念,主要與STL使用它們的方式相同。

然後你已經有了Modern C++ Template Metaprogramming geeks。現在我們中的許多人都以提升和所有善良的形式使用他們的工作。實際上很少有模板元編程。這可能是一件好事。

我已經看到在每個級別編寫完美的代碼。

我一直很喜歡C++的很酷的事情是,在每個增加複雜度的層面上,可以根據「如何在C中實現這個新的抽象」來概念化成本。所以我可以概念化繼承和多態是增加了函數指針查找的代價。由於我已經看到了這一點,並用C語言編寫,我知道我在做什麼。我也對模板的工作原理有所瞭解,部分原因是預處理器如何在C中工作。這適用於C++和C世界中的大多數特性。

由於很容易將概念映射爲在C中如何實現,因此我可以輕鬆地查看底層體系結構如何運行我的代碼。

1

我在三家C++商店工作了很長一段時間。在所有情況下,他們都是真正的C++商店,使用C++作爲其打算使用的商店,並且考慮到我在他們工作的時間,保持相當的最新狀態。

2

我工作過的地方不一定使用C soley。他們並沒有一個接一個地開發出新的程序......他們通常都在建造一些大的東西並保持它。根據我的經驗,不斷實施新的令人興奮的語言功能變得越來越難以融入老一套不斷增長的軟件中,而主要工作是維護/更新它。

我想在採訪中詢問那些很酷的新功能會對你有很大的幫助......你至少應該能夠清除那些明顯的新功能。另一個問題是詢問是否可以與一些實際編寫代碼的人交談。大多數採訪都與經理類型有關......他們並不總是涉及使用語言最新功能的人員。

3

如果你在兩行之間閱讀,你可能會發現大量信息埋藏在他們的問題中,無論是在他們想要什麼和他們的複雜程度方面。

您可能還想回答他們的問題不僅僅是答案,而是需要澄清問題中含糊不清的問題。

當你這樣做的時候,不要冒充傲慢的混蛋。 ;-)

-2

有趣的是,我認爲提升的水平與您的偏好幾乎相反。因此,這個迴應可能不是直接有用的,但我希望它至少有些內容豐富。


首先,任何鼓勵「聰明」的環境都是可疑的。如果我看到很多Boost,大量的模板元編程,尤其是任何使用C++的「功能」特性,它都是一個很大的紅色警告信號。這意味着開發人員對編程的正確性有一些瞭解,但受到缺乏想象力或政治因素的限制,無法使用諸如C++等破舊的垃圾語言。 C使用起來很枯燥乏味,但「先進」的C++完全沒有辦法干涉開發。

其次,檢查一個特定的技術或概念是否被視爲流行詞。如果準僱主使用XML,那麼你可以做一個簡單的檢查 - 他們是否使用真正的解析器/序列化程序(SAX或DOM很好),還是用正則表達式解析並用原始字符流序列化?如果是後者,則表明他們不明白爲什麼 XML很有用,並且他們只是使用它在項目描述中另有三個字母的首字母縮寫詞。

三,弄清楚開發商希望使用哪種語言以及爲什麼。每個優秀的開發人員都有一個最受歡迎的模糊語言 - 無論是Python,Ruby,Smalltalk,Haskell還是因素 - 都無所謂,而且更喜歡它。如果每個人都滿意地用C++工作,這是另一個警告信號,他們一般對編程沒有太多好奇心。

0

問他們他們的C++編碼標準文件的副本。這應該會讓你對他們的工作水平有所瞭解。如果他們沒有,那可能是一個不好的跡象。