⑴ IT行業都有什麼職位
1、信息處理和服務產業,該行業的特點是利用現代的電子計算機系統收集、加工、整理、儲存信息,為各行業提供各種各樣的信息服務,如計算機中心、信息中心和咨詢公司等。
2、信息處理設備行業,該行業特點是從事電子計算機的研究和生產(包括相關機器的硬體製造)計算機的軟體開發等活動,計算機製造公司,軟體開發公司等可算作這一行業。
3、信息傳遞中介行業,該行業的特點是運用現代化的信息傳遞中介,將信息及時、准確、完整地傳到目的地點。因此,印刷業、出版業、新聞廣播業、通訊郵電業、廣告業都可歸入其中。
4、後端工程師行業,這是現在國內二流或者是三流的公司的現狀,甚至是在某些一流的公司。很多時候都是架構師出了架構設計,更多的外包公司根本就是有DBA來做設計。
然後後端程序員從JS到CSS到Java全寫,完全就是一個通道,所有的復雜邏輯全部交給DB來做,這也是幾年前DBA很受重視的原因。
5、UI1 工作內容:收到產品原型,給原型上色,偶爾會自作主張調整下原型的位置,出不同的風格給老闆和客戶選,然後聽他們的意見給出一個自己極不喜歡的風格,最好給Android,IOS或者是CSS做好標注,還有的需要直接幫他們切好圖。
最後要練出來象素眼,看看這些不靠譜的程序員們有沒有上錯色或者是有偏差。2 需要技能:PS,Illustrator,Sketch,耐性,找素材。
⑵ ios軟體工程師職業前景
目前培訓機構培訓的工程師太多了,市面上低級工程師遠超需求,高級工程師則供不應求,如果還沒開始入行,現在准備學習的話,個人是不建議的!招聘網站上看下招聘需求有多少也能看出來呢。不要輕易聽信培訓機構的那套話術
⑶ 回答一個合格的IOS開發工程師應具備哪些條件
一、Objective-C
C語言是iOS開發的語言基礎,而Objective-C是iOS開發的標准語言,也是為眾多iphone開發工程師所公認的標准,所以必須要掌握。內容包括以下這些:
(1)Objective-C語言基礎;
(2)library,framework的製作;
(3)Runtime編程;
(4)LLVM原理和調優。
二、操作系統
操作系統使計算機系統所有資源最大限度地發揮作用,提供各種形式的用戶界面,使用戶有一個好的工作環境,為其它軟體的開發提供必要的服務和相應的介面。所以,必須對ISO操作系統很熟悉才行。包括以下方面的內容:
(1)iOS內存管理和調優;
(2)iOS的文件系統和沙盒機制;
(3)iOS多線程編程(Thread,GCD,NSOperation);
(4)iOS網路和伺服器編程(NSURLConnection,NSURLSession);
(5)iOS系統的各種安全機制。
三、網路編程
網路編程是學習iOS開發必須掌握的編程技巧,涉及到Htpps、Socket編程等;在這一部分處理的規范程度,直接影響到蘋果AppStore的審核。
(1)iOS網路發送機制調整和優化(NSURLSession);
(2)Socket編程;
(3)網路傳輸中的各種保障;
(4)對傳輸協議的調整優化。
四、資料庫&持久化方案
資料庫持久化就是把數據保存到可永久保存的存儲設備中,持久化的主要應用是將內存中的數據存儲在關系型的資料庫中。
(1)常規持久化方案(Keychain,NSUserDefaults,Sqlite,CoreData);
(2)資料庫的使用和設計(Sqlite);
(3)數據結構優化,Sql調優。
五、圖形圖像編程
iOS開發過程中,大部分的APP都是採用多視圖設計來完成的。所以要熟悉一些圖像的繪制:
(1)UIKit,CoreAnimation和CoreText的繪制;
(2)CoreGraphics,Quartz2D,MediaPlayer,AVFoundation;
(3)OpenGLES,GLKit,SpriteKit,SceneKit,Metal。
六、數據結構&演算法
懂得基本的演算法:
(1)基本的演算法和數據結構(排序搜索演算法,數組,隊列);
(2)較復雜數據結構的靈活應用(二叉樹,圖等);
(3)復雜的專項演算法(圖像識別演算法,拓撲定位等)。
七、業務能力
作為一名優秀或者說是及格的iOS程序員,必須要有一定的將功能需求轉化並實現的業務能力:
(1)一般性業務功能需求分析及實現;
(2)重要業務模塊的需求分析及實現;
(3)中小規模產品的架構,系統設計和實現;
(4)大規模產品或產品線的架構,系統設計和實現;
(5)平台級產品的架構,系統設計和實現。
八、安全方案
另外,還需要提供對數據安全方面有利的方案:
(1)本地數據存儲安全(Keychain);
(2)授權和身份驗證;
(3)傳輸安全(對稱,非對稱,SSL);
(4)App代碼安全。
九、專業素質
作為一名iOS工程師,需要具備一定專業素質,包括:
(1)團隊協作能力。軟體開發要求開發參與者間有一定默契度,從事自己工作之餘為其他同伴創造條件;
(2)溝通能力。能清晰的把你對項目的理解、開發中的問題等轉達給同事和用戶;
(3)強烈的好奇心和學習精神。IOS軟體開發的變化和創新幾乎是每時每刻的,優秀的程序員要適應和主動迎合行業變化的大環境;
(4)冷靜、細心。及時發現問題和判斷對策。
⑷ 如何面試 iOS 工程師
程序員面試iOS開發工程師都會遇到哪些問題?下面是一些問題分享,希望對以後的面試會有所幫助。
首先需要聲明的是,此次的面試者大多在有1~3年的iOS開發經驗,並非需要找一個真正的大牛,所以准備的題目,自己覺得大多數還是比較基礎,比較能夠看出這個層次的人的水準的。如果也是個有3年左右開發經驗的從業者,不妨一試。
面試開始的時候,會讓面試者選擇一個他最熟悉的項目,給介紹一下它的技術架構,以及面試者在其中參與的模塊和具體工作。事實上,很多開發者並不明白提到的「架構」的具體意思,有些人說了一大堆產品的功能,還有人說的非常籠統(比如,遵循MVC架構之類),一般這種時候會打斷他們,直接讓他們給講一下這個APP的層次結構,或者是核心模塊等。
之後會問兩個問題:
1. 講述一次在這個APP中,用戶觸發了一個事件,引起了一個服務請求,然後獲取服務端返回,並且更新前端界面的過程。請說的詳細一點,比如數據經過了哪些類的處理,每一次傳遞時的格式是怎麼樣的?
2. 參與的APP,是如何處理多個服務的同步發起的?隨後讓面試者說一下APP的界面架構,這個比較隨意。
問完了項目,就開始基礎知識題啦~
Model層:
數據持久化存儲方案有哪些?
沙盒的目錄結構是怎樣的?各自一般用於什麼場合?
SQL語句問題:inner join、left join、right join的區別是什麼?
sqlite的優化
網路通信用過哪些方式(100%的人說了AFNetworking...)
如何處理多個網路請求並發的情況
在網路請求中如何提高性能
在網路請求中如何保證安全性
語言與基礎知識:
內存中的棧和堆的區別是什麼?那些數據在棧上,哪些在堆上?
#define和const定義的變數,有什麼區別
什麼情況下會出現內存的循環引用
block中的weak self,是任何時候都需要加的么?
GCD的queue,main queue中執行的代碼,一定是在main thread么?
NSOperationQueue有哪些使用方式
NSThread中的Runloop的作用,如何使用?
.h文件中的變數,外部可以直接訪問么?(注意是變數,不是property)
講述一下runtime的概念,message send如果尋找不到相應的對象,會如何進行後續處理 ?
TCP和UDP的區別是什麼?
MD5和Base64的區別是什麼,各自場景是什麼?
二叉搜索樹的概念,時間復雜度多少?
架構:(招的不是架構師,這方面問的不多,而且從之前對APP的架構介紹里可以邊聽邊問)
哪些類不適合使用單例模式?即使他們在周期中只會出現一次。
Notification的使用場景是什麼?同步還是非同步?
簡單介紹一下KVC和KVO,他們都可以應用在哪些場景?
APP相關:
如何添加一個自定義字體到工程中
如何製作一個靜態庫/動態庫,他們的區別是什麼?
Configuration中,debug和release的區別是什麼?
簡單介紹下發送系統消息的機制(APNS)
UI:
系統如何尋找到需要響應用戶操作的那個Responder
多屏幕尺寸的適配
UIButton的父類是什麼?UILabel呢?
push view controller 和 present view controller的區別
描述下tableview cell的重用機制
UIView的frame和bounds的區別是什麼
最後是幾道場景題,也是最喜歡問的:
發送10個網路請求,然後再接收到所有回應之後執行後續操作,如何實現?
實現一個第三方控制項,可以在任何時候出現在APP界面最上層
實現一個最簡單的點擊拖拽功能。
上面那個拖拽之外,如果在手放開時,需要根據速度往前滑動呢?
如何減小一個應用程序的尺寸?
如何提高一個性用程序的性能?
不同版本的APP,資料庫結構變化了,如何處理?
平心而論,這些題目並沒有特別難,沒有講到黑科技,也沒有講到ACM演算法題,都是iOS的基礎概念以及很容易遇到的場景。可能也是因為招的目標,也只是一個可以完成業務開發的3年左右經驗的人而已,所以大部分面試者水平並不如意,能答出以上大半題目,同時思路清晰態度積極向上的人,不到四分之一吧...
另外的感想就是,這個行業可能真的有點浮躁,很多面試者,連簡單的幾個場景題都答不出來,基礎知識更是一般,只會用幾個第三方庫,就開口要25~30w的年薪,還有一種愛理不理的感覺。也有些人,在原來的公司,自稱是技術負責人,但連APP的基本架構,包括哪些主要模塊都講不清楚,各種兜圈子,甚至有人講了半天的產品功能和亮點,不得不一次次打斷才能繼續面試。
學iOS,做的事情越多,越覺得自己有越多的東西要學,離大牛的標准也是越來越遠。而無論從深度還是廣度來看,iOS開發都是一個值得挖掘的技術領域。由於蘋果產品的火熱,市場上的iOS開發一直供不應求,但真正有能力,高素質的可能真的不那麼多。
⑸ android和ios軟體工程師
其實只要你有真本事,工作都比較好找,我之前聽一個公司的老闆講過,現在市面上雖然iOS的招聘啟示很多,但是符合要求的人並不多,而且貌似目前iOS工程師的需求量要比Android工程師的需求量少點,可能是因為前幾年人們瘋狂的學習iOS的關系吧,如果說工資的話,應該是iOS的工資要稍微高點,另外,就發展前景來講,Android的發展前景比較好,因為Android的開源,已經現在移動終端市場的發展趨勢,應該是Android要比iOS好點,當然這只是現在能看到的情況,就看蘋果和谷歌在未來創新之路上如何走了,看庫克是否能領導蘋果再創輝煌了
⑹ 面試ios軟體工程師沒有工作經驗怎麼辦
沒有任何接觸ios相關經驗,建議你去培訓公司培訓
另外注意麵試千萬不要說沒有經驗你是去實習的,公司要的是能幹活的
你覺得你有能力勝任你就應聘正式崗位,面試時要強調你能勝任這份工作,並出示你的相關項目經驗,覺得可行的話公司會招聘你的
⑺ 工作職責: 1、負責IOS和Android平台的客戶端APP開發和維護; 2、整理SDK以及用
一般都是分開的 學android 開發就先學Java基礎,基礎學完後就可以學android開發了。只要你Java基礎學好了。android做出簡單應用還是不成問題的。
IOS開發那你先要有個MAC電腦。然後學OC 最新的開發語言是swift。IOS相對能簡單一些。android的復雜度和難度相對能高一些。
各有優點。
⑻ 想問下做ios平台的軟體開發,需要那些基礎知識
iOS是運行於iPhone、 iPodtouch以及iPad設備的操作系統,它管理設備硬體並為手機本地應用程序的實現提供基礎技術。根據設備不同,操作系統具有不同的系統應用程序,例如Phone、Mail 以及 Safari,這些應用程序可以為用戶提供標准系統服務。
iOS 開發工程師主要從事手機操作系統研發及手機應用軟體開發(包括手機游戲等各類功能的軟體開發)。在參與調查的開發技術人員中,72%的稱,他們正在 iOS 平台開發人才,其中 38%的表示, iOS 平台開發經驗要比任何其他平台開發經驗更受青睞。
由於國內 iOS 開發起步相對較晚,人才培養機制更是遠遠跟不上市場發展速度。有限的iOS 開發人才成了國內企業必爭的資源。甚至有的企業不得不考慮通過收購來填補人才空缺。一名 iOS 開發新手要比普通軟體開發新手高出約 20-30%的薪資,符合條件或有項目經驗的開發工程師更是有價無市。 IOS開發方面的知識,大概有一下幾點。
1、環境准備。這就是開發前所需的環境,相關軟體的安裝及使用詳解。這里包括有IOS開發前准備,Xcode集成開發環境的安裝使用與項目建立流程,Xcode6中的Playground的特點和使用方法,IOS開發常用操作及技巧,IOS程序打包與發布
2、Swift編程語言。包括有Swift語言基礎,Swift語言與Objective-C語言混合編程,Swif語言面向對象詳解,Swift、語言調試技巧
3、IOS用戶界面。包括有IOS項目介紹,IOS用戶界面開發基本劉晨惡搞,IOS裂變控制項TableView的開發與使用,使用StoryBoard做IOS UI界面跳轉。
4、界面優化。包括有IOS繪圖API繪制線條/文字/幾何圖形,Xcode常用項目模版,屏幕適配,IOS自定義控制實例,IOS的動畫效果及實現方法,IOS中的CALayeer的使用。
⑼ web前端工程師與ios程序員工作的分工
作為一個iOS程序員可以從事的崗位是很多的,大小公司分工不一樣,有的分的明細有的就分給一個人一個項目長期在做。
制定項目階段性目標和項目總體控制計劃 項目總目標一經確定,項目經理的職責之一就是將總目標分解,劃分出主要工作內容和工作量,確定項目階段性目標的實現標志如形象進度控制點等。所以可能在接收項目經理分配的任務可能會有所不同。
像iOS開發工程師主要接收從事手機操作系統研發及手機應用軟體開發工作,包括手機游戲等各類功能的軟體開發。具體下來可以擔任 iPhone App 研發工程師、iPhone App 測試工程師、iPhone App 產品策劃等職位。