LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭

LOFTER-网易轻博

移动开发

477浏览    118参与
hdw2000
穿越时空的兔子

2017.03.17 面试、行情、趋势

        下午无事,来写点东西。

        这个题目其实两周前就想写了,但是之前忙着补完从图书馆借的书,终于还了之后(还是有一本没看完),这周又忙着整理。于是就一直拖到现在。

        时间拖得久了,有些事就记不太清楚。新人是这周入职的,那么上周还面试了一个,上上周面试四个,所以应该要从上上上周说起,也就是2月20号那周。...


        下午无事,来写点东西。

        这个题目其实两周前就想写了,但是之前忙着补完从图书馆借的书,终于还了之后(还是有一本没看完),这周又忙着整理。于是就一直拖到现在。

        时间拖得久了,有些事就记不太清楚。新人是这周入职的,那么上周还面试了一个,上上周面试四个,所以应该要从上上上周说起,也就是2月20号那周。


        起因其实很简单,就是有同事要离职,是移动开发组的,所以我们这边要再重新招个人。一开始我以为并没有我什么事。要知道我在前公司待了五年多,都没有去面试过别人(可能我们主管觉得我不适合面试别人吧)。然而27号早上,我们可怜的出了车祸伤了腿的小主管(突然发现我忘了发这一篇,关于车祸的,1月17号的时候他出了车祸,我跟他去的医院,脚踝骨折,做了手术,现在拄着拐杖来上班)给我邮箱里发了一堆简历,最后一份上附加了一句早上十点半面试。之前应该有说过,我们这个开发组,连我一共四个人,只有这位受了伤的同事经验丰富一点,剩下我们三个水平都差不多,甚至可能我还算可以的。我们其实没有中层主管的职位(反正我们公司很随意的),只是他跟我们待遇上还是有差别,所以算是我们的主管吧。姓陈,简便起见,称之为C同事吧。

        自从工作以来,都没有面试过人,而且尴尬的是,我觉得编程这块我也是经验尚浅。。。只好赶紧找些资料,对照着简历,思考下能问些什么对应的问题,在网上看看安卓面试题,哪些比较常见等等。真正到面试的时候,还是C同事主考,我就在旁边记(顺便也在复习),偶尔我也补一些简单的问题。不过因为准备不足,还是有时候会陷入大家都不提问的尴尬。。。然后在java基础和android部分都问好之后,我问了下平时都看点什么或者晚上周末空余时间都做什么,以及会不会其他的编程语言这些(我比较喜欢问这个)。可惜通常回答也就是编程相关的书籍而已。

        第一天只面试了一个,感觉一般,因为也没有对比,也不知道这在外界属于什么水平。后面就着C同事给我的简历,开始做筛选,顺便也整理了一些题目。考虑怎么做到有层次的提问(在一个简单的问题后面留一个难一点的问题,答得出来追加,否则就算了)。

        第二天是个女生,接近三年经验,做过直播平台的app。英语和软件工程双专业,会一点日语,爱好五子棋、军旗。嗯。。。感觉还蛮不错的。看了下出生月份是一月,很有可能是摩羯座(虽然并没有什么关系)。面试的感觉还不错,问道为什么离职,说上上个公司倒闭了。。。而上个公司开发完成就不再需要她了(现在都这么节省成本了)。C同事感觉也不错,问了期望薪资,大概跟我去年差不多。然后C同事跟她说“我们这次只招一个人,但是收到400多份简历,感觉你还是蛮适合的,但后面的面试还是要走一下,有消息会尽快通知你的”。这是个第二个面试人员。

        周三约好的没有来。周四来了一个,也是两年多经验的,东西也都做过,不过好像原理都不太懂。遇到不懂的地方会问我们“嗯。。。难道。。不对么?那应该是怎么做”,刚开始我还是会解释一些,后面的话C同事就不想回答了,直接说“你是来被面试的,不是来面试我们的”。结果当然是pass。

        周五约了一个,这个厉害,至少简历上看着相当厉害。WEB三大框架用得溜溜的,前后端都能做。约面的时候,语气也很大,感觉要招架不住。结果面试的时候全程尴尬,因为编程相关一点都答不上来,问大学学过什么语言,居然也完全不知道(EXM?),说大学基本没上课。。。(这也能毕业?),我降低了问题难度说“大学发过那些书,跟我讲讲书名也可以”,居然也不回答。。。程序员这一行转行的培训的都很多,所以编经验的也很多,但是就算是编的,至少也稍微编得像一点吧,连专业学的什么都不知道,我和C同事都是一脸懵。

        经过这几天面试后,C同事跟我讨论了下,外面的行情感觉有点糟糕,而且好像面试的人都不怎么样。商量了一下,决定跟老板说先招那个女生。下周还有两个面试就当做了解下外部情况吧(抱歉了)。不过老板只愿意开10k,并且按照最低标准交社保,我本来以为这个条件没有希望的。这比她前公司待遇要低,至于福利,我们也没什么福利。然而下午晚些时候C同事就收到回复,同意入职了。。。。

        上周一约了一个,没来,也没联系说原因什么的。上周二面了一个,工作五年,之前是建筑相关的,后来有人带着做开发,做了差不多两年。东西做得还可以,就是基本原理不是很懂。我们也算松了口气,毕竟这个也没有特别优秀。那也就这样子。周四的时候,收到一条消息,是周一那个没来面试的,问还招人么,说“上次没去成,生病了”。嗯。。。这个理由有点糟糕。不过我们也提前订好了人,也不去批评这种行为了,所以还是好好回了一下“不好意思,已经有人选了”。


面试的部分大概这些,有很多感想:

1、大部分java基础都很一般。(我能问的都是简单的了,复杂的我自己都不会,更不用说提问)。这让我意识到自己的基础也还算可以,有些方法虽然忘记了,但大体原理都还记得,也算是提升了一点自信。当然,就以前的工作经验来看,其实工作之后的很多内容和所学的是不相关的,如果我还是去面试食品相关的工作,然后问我三羧酸循环,那我也是答不出来的,因为工作那么久根本没用到。同样,android做得久了,可能有些不常用的java基础也就忘记了。

2、目前的整体环境真的有点差,特别是移动开发。去年很多初创公司都死掉了,还有就是大厂的合并,随着并购倒闭,市场上的程序员多出了许多,而培训机构依然在量产,面试竞争自然激烈,相应的待遇也就下来了。想想自己待遇不减大概算不错的了。。。其实新来的未必水平比我低。我们现在上架的很少,所以很多三方支付、定位、分享、埋点的技术都用不到,这些方面,可能使用起来也不是很难,但总归还是没做过(新来的这些都做过)。所以,对于新人的待遇,我还是觉得有点可惜的。虽然相比其他行业,这个待遇也不算差了。

3、传统行业面试的时候,对女生的歧视可能会高一些,至少我们前公司是这样(虽然前公司对法规都执行得比较到位,该有的假都有),会问有没有结婚啦,或者结婚了有没有生育之类的。IT好像不太考虑这些,而且IT行业的女生都跟珍宝一样的,拉勾上招聘经常会有写“福利好、美女多”之类的,毕竟IT大体都是跟宅男、GEEK挂钩的,有女生调节一下总是好的。另外一方面,IT边际成本这么小,也便于远程操作,怀孕在家的时候依然可以上线解决问题,或者抱着电脑随便写写程序也不至于生疏。

4、顺便还得提一下C同事,正常伤筋动骨一百天,要是传统行业,只能在家乖乖躺着,什么也做不了,期间的工资就看公司好不好了。IT就不一样,每天坐在电脑前就好了,春节过后他还在家远程工作了一段时间,之后不久就拄着拐杖来上班了,也没有太大影响。14年的时候,之所以考虑转IT也有这方面的原因,那时最严重的时候路都不好走,之后虽然好不少,但是感觉如果还是从事传统行业的话,难免要走动或者下车间什么的,多多少少还是不方便(万一身体恢复得不好的话)。如今看来,还是做了个正确的选择。

5、说完优点得说说缺点,IT比较麻烦的就是要不断学习。就比如现在,只有基础扎实并且经验丰富的才能在这样的就业寒冬中存活下来。另一方面,也要紧跟时代的潮流,移动端现在增长越来越慢,一方面用智能手机的就那么多,后面还能增长,但是肯定不会那么快。其次app那么多,用户常用的能留在手机里也就十来个。用户的需求有限,在推广上的投入就要增大,就这方面来说,能烧钱的公司可不多。现在想转行而走移动开发培训的话,就不是那么明智了。

6、顺着这个想法,去看了一些培训机构的页面,android已经不是主推的课程了,取而代之的是python。在大数据、后台搭建甚至嵌入式都大有作为的python大概又要火一把了。对python了解一点皮毛,真的是皮毛,但也觉得特别简洁和使用。不过尴尬的是,离职的同事兼做一些后台php的开发,我又要去学点php。。。虽然多说多学点没坏处,但是杂而不精也很不好。




晴朗

活动(Activity)细节拾遗

默认的AppCompatActivity的扩展类要隐匿标题栏使用

requestWindowFeature(Window.FEATURE_NO_TITLE);

是无效的,它仅对Activity的扩展类有效;而有效的办法是:

if (getSupportActionBar() != null){
    getSupportActionBar().hide();
}

*注意:尽管在AppCompatActivity扩展类中第一种方法无效,但在使用第二种方法时仍要注释掉第一种方法。

--------------------...

默认的AppCompatActivity的扩展类要隐匿标题栏使用

requestWindowFeature(Window.FEATURE_NO_TITLE);

是无效的,它仅对Activity的扩展类有效;而有效的办法是:

if (getSupportActionBar() != null){
    getSupportActionBar().hide();
}

*注意:尽管在AppCompatActivity扩展类中第一种方法无效,但在使用第二种方法时仍要注释掉第一种方法。

-----------------------------------------------------------------------------

使用onSaveInstanceState(Bundle someSate)方法保存可能被临时回收掉的活动的临时数据:

protected void onSaveInstanceState(Bundle outState) {

    super.onSaveInstanceState(outState);

    String tempData = "Something you just typed";

    outState.putString("data_key", tempData);

}

上面是存,下面是取:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    ... ....

    if (savedInstanceState != null ) {

        String tempData = savedInstanceState.getString("data_key");

        Log.i(TAG, tempData);

    }

    ... ...

}

不过书上没有给出有以上方法的活动被强行回收的测试代码

-----------------------------------------------------------------------------

四种启动模式中singleInstance会启用新的返回栈管理以该启动模式启动的活动,然而

当活动A为标准模式,A以startActivityForResult(instent, 1)方法启动活动B,B为singleInstance模式,B以startActivity(intent)方法启动C,C为标准模式时

打印的栈id依次是:A 51, B 51, C 52 (退出活动顺序为C,B,A)

而当三者启动模式不变,A启动B的方法也改为startActivity(intent)后

打印的栈id依次是:A 51, B 52, C 51 (退出活动顺序为C,A,B)

亦即活动间的启动活动时数据传递会影响活动启动模式的作用

Externallinks_kokojia

【IT培训】7天掌握跨平台APP开发技术视频教程

课程目标:快速掌握跨平台App开发技术

适合人群:web前端开发工程师,iOS开发工程师,Android开发工程师等移动App相关人员

课程介绍

本课是APICloud唯一付费课程,价值899元,此次发布为部分课程内容。由APICloud CTO亲自教授,快速掌握跨平台App开发技术

课程地址7天掌握跨平台APP开发技术视频教程

http://www.kokojia.com/course-3914.html

课程网站主页课课家教育平台

http://www.kokojia.com/


课程目标:快速掌握跨平台App开发技术

适合人群:web前端开发工程师,iOS开发工程师,Android开发工程师等移动App相关人员

课程介绍

本课是APICloud唯一付费课程,价值899元,此次发布为部分课程内容。由APICloud CTO亲自教授,快速掌握跨平台App开发技术

课程地址7天掌握跨平台APP开发技术视频教程

http://www.kokojia.com/course-3914.html

课程网站主页课课家教育平台

http://www.kokojia.com/


Externallinks_kokojia

【IT培训】Android自学100天,从入门到精通视频教程

课程目标:通过本套视频的学习,让学员足以胜任企业实际开发工作,成为更贴合企业需求的多维度技术人才。

适合人群:任何方向,有编程思想即可

课程介绍

Android自学100天《Android开发从入门到精通》视频教程由浅入深,层层递进,适合广大有志于Android开发的入门者及希望进一步提升Android开发技能的程序员学习使用。

课程地址:Android自学100天,从入门到精通视频教程

http://www.kokojia.com/course-3890.html

课程网站主页:课课家教育平台

http://www.kokojia.com/


课程目标:通过本套视频的学习,让学员足以胜任企业实际开发工作,成为更贴合企业需求的多维度技术人才。

适合人群:任何方向,有编程思想即可

课程介绍

Android自学100天《Android开发从入门到精通》视频教程由浅入深,层层递进,适合广大有志于Android开发的入门者及希望进一步提升Android开发技能的程序员学习使用。

课程地址:Android自学100天,从入门到精通视频教程

http://www.kokojia.com/course-3890.html

课程网站主页:课课家教育平台

http://www.kokojia.com/


imagjs

JS延伸到移动端,原生app开发的春天到了

本文来自爱码哥CTO邱杨(Terry)同学,微信公众号“爱码哥”(微信公众号:iMAG_app)

随着HTML5和Node.js的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAG.js的渐渐流行...



本文来自爱码哥CTO邱杨(Terry)同学,微信公众号“爱码哥”(微信公众号:iMAG_app)

随着HTML5和Node.js的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAG.js的渐渐流行,这种状况正在发生改变.

揭开iMAG.js这匹黑马的神秘面纱

iMAG.js是国内的爱码哥移动平台推出的Javascript移动跨平台开发框架,它的特点简单高效,同时又功能强大,可以用Javascript来替代原生开发。iMAG.js的原理和在服务器端运行的Node.js有些相似,都是封装了Javascript引擎,用Javascript去调用底层的API接口。不同的是因为移动应用的控件主要是UI模块、用户交互界面开发,iMAG.js为此引入了XML模板技术,XML和Javascript结合,这样很适合手机界面的展示。

下面我们来看iMAG.js是怎么做到替代原生开发,完成HTML5无法完成的事情的?

1、首先是封装原生UI控件。大家知道手机系统无论是Android还是iOS都有其自身的特色,而这些特色给用户最直观的感受就是用户体验,虽然Android和iOS的App可以在外观上设计得相似,但用户操作两下之后就能很轻易地区分出哪个是Android哪个是iOS。因此发挥系统本身最大功效最根本的做法就是尽可能使用原生UI控件,而iMAG.js框架中所有提供给用户的控件都是原生的,只不过是在上层封装了Javascript接口而已。比如说iMAG.js中的Label控件,在iOS上是调用系统的UILabel控件,而在Android上则是调用的TextView控件,这样在性能和用户体验上就能做到和原生应用完全一致。手机的CPU和内存等资源有限,原生控件在一些细节地方都是有针对性的优化的,比如Android ListView的复用机制,使用ViewHolder来重复使用View,以节省内存使用并且保持滚动的流畅性。同样地,iMAG.js很充分地利用了这些机制,以保证基于iMAG.js开发的App能够和原生App同样操作流畅。

2、其次是统一的开发框架。不同于 HTML5上开发框架纷乱的状况,基于iMAG.js为移动开发量身定做的API,你会始终感到很顺畅,iMAG.js的开发者最直观的感受就是这个框架就是为移动开发准备的。在学习掌握了一个iMAG.js控件之后,即便不看文档,开发者也能大致猜到其他控件怎么用,这得益于iMAG.js良好的设计和封装。iMAG.js框架支持XML模板技术,这样所有的UI控件都可以用XML的方式来书写,开发得到了相当程度的简化。就像搭积木似的,即便是不懂技术的人,也能利用iMAG.js快速搭建出自己想要的App原型,将自己的想法直观地呈现给客户。除了静态界面的展示,与用户交互也是重点。比如说跟后台数据库相结合,界面数据都是来自数据库的动态数据,用户输入的数据能够以同步和异步的方式入库。而所有这些动态的东西,在iMAG.js中都可以通过Javascript脚本来完成,Javascript本身就是一门具有高度扩展性的动态脚本语言。

3、iMAG.js同样适合开发大型的App项目。一个大的开发团队,除了有开发人员,还有专业的产品经理,专业的美工,专业的测试,成员之间彼此分工协作来完成项目。在精密的分工协作下完成的App通常是一个UI界面很精确的东西,比如美工根据设计做的图,通常是精确到像素的,文字的字号多大,文字图片之间的间距多少都是严格定义的,不能只是一个大致差不多的东西。iMAG.js通过css样式来控制这些内容,实现UI元素的精确布局,而且充分考虑到了手机屏幕大小的不规则性,能对不同平台不同屏幕大小的手机进行自动适配,让跨平台开发变得更容易。在兼容性方面,由于iMAG.js框架自身对Android和iOS平台良好的兼容性,真正做到了一次开发多处运行,避免了类似于HTML5开发上出现的由于内核的不同在不同手机上展示不一致的情况。再就是iMAG.js提供了离线应用和在线应用两种模式,习惯了web后台开发的开发者可以很轻松地切换到在线应用这种模式下,因为这根本就和开发网页一样。

4、功能也是用户关心的,到底能有多少种UI展示效果,有多少种手机能力可用,决定了APP开发能够达到的层次。iMAG.js框架本身已经封装了上百种原生控件,比如TextView, ListView, UIScrollView, UITableView这些,支持电话、短信、定位、蓝牙、通讯录等几十种手机能力的使用,而这些本地功能调用都相当容易,比如:$phone.call(‘10086’)表示拨打这个电话。当然iMAG.js本身提供的功能再丰富也有不够用的时候,因为移动开发常常会面对一些复杂的场景,比如多人视频会议,不仅复杂可能还需要跟底层特定硬件结合。幸好iMAG.js是一个跟Node.js类似的东西,Node.js作为后起之秀能够迅速走红很大程度上得益于良好的扩展性,iMAG.js也是一样,iMAG.js支持原生插件,所有“不够”的能力,都可以通过原生插件的方式来实现。如果你想实现一个视频会议的插件,那么可以通过$phone.plugin(‘MyVideoMeeting')来调用你自己用原生代码实现的视频会议模块,这里MyVideoMeeting是一个在爱码哥平台发布的插件代码。当然你其实并不需要自己专门去开发一个视频会议的模块,因为这种功能模块往往是现成的,你只需要向第三方购买相应的SDK即可。

5、前面介绍了iMAG.js看起来比较“酷”的地方,但你可能还有疑虑:既然这么高大上那我用iMAG.js开发一个微信怎么样?iMAG.js努力的方向是能够完全替代原生App的开发,即便是使用原生来开发也是以插件的形式集成进来,这样模块都是可以复用的,因此用iMAG.js来开发微信类的应用是完全可行的,并且官方已经有这样的案例。因此iMAG.js提供了一种方式,能够将Javascript语言引入到移动端,并且通过插件化模块化的方式将移动领域各种原本分散的解决方案打包成一个整体呈现给开发者和企业,让企业能够通过爱码哥平台快速实现移动化。

Delphi开发移动客户端

Delphi XE7 的 Android Bitmap转JPG图的参数问题

TBitmapCodecManager.SaveToStream的最后一个参数为 PBitmapCodecSaveParams,但是在使用时,如果定义

parms:PBitmapCodecSaveParams;

设置

parms.Quality := 10; 则Android程序闪退,所以改用该指针的指向,

parms:TBitmapCodecSaveParams,运行正常。


procedure TForm5.BitmapToJPEG(input_bp: TBitmap; output_fn: string);

var

  Surf: TBitmapSurface;...

TBitmapCodecManager.SaveToStream的最后一个参数为 PBitmapCodecSaveParams,但是在使用时,如果定义

parms:PBitmapCodecSaveParams;

设置

parms.Quality := 10; 则Android程序闪退,所以改用该指针的指向,

parms:TBitmapCodecSaveParams,运行正常。


procedure TForm5.BitmapToJPEG(input_bp: TBitmap; output_fn: string);

var

  Surf: TBitmapSurface;

  Stream: TMemoryStream;

  parms:TBitmapCodecSaveParams; 

begin

  Surf := TBitmapSurface.Create;

  Surf.Assign(input_bp);

  Stream := TMemoryStream.Create;

  try

    parms.Quality:=10;

    TBitmapCodecManager.SaveToStream(Stream, Surf, '.jpg', @parms);

    Stream.SaveToFile(ExpandFileName(output_fn));

  finally

    Stream.Free;

    Surf.Free;

  end;

end;



beifengxiaopu

成为优秀APP开发人员的基本要素

我们知道,当前在各种安卓应用商店里,有超过150万应用列队等着用户去下载,应用开发者想要从中脱颖而出谈何容易。可全世界使用安卓平台的设备有两百万之多,怕是没人甘心放弃这块市场。

如果你打算在这个领域大干一番,iHub开发者有一些小贴士送给刚入行的你,有了这些秘诀至少可以确保你的APP不至于还没进入人们视野就销声匿迹。

  •  有毅力。那些成功了的开发者们通常都花费了很多精力在他们的项目上。他们虚心听取并采纳创造性的意见和建议,由此开发出更新,更好的应用版本。

  •  重质量,而非数量。 有些开发者会觉得,自己开发的APP数量越多就越牛叉,但其实不是这样的。与...

我们知道,当前在各种安卓应用商店里,有超过150万应用列队等着用户去下载,应用开发者想要从中脱颖而出谈何容易。可全世界使用安卓平台的设备有两百万之多,怕是没人甘心放弃这块市场。

如果你打算在这个领域大干一番,iHub开发者有一些小贴士送给刚入行的你,有了这些秘诀至少可以确保你的APP不至于还没进入人们视野就销声匿迹。

  •  有毅力。那些成功了的开发者们通常都花费了很多精力在他们的项目上。他们虚心听取并采纳创造性的意见和建议,由此开发出更新,更好的应用版本。

  •  重质量,而非数量。 有些开发者会觉得,自己开发的APP数量越多就越牛叉,但其实不是这样的。与其做出三个一般般的APP,不如用这些时间去开发出一款让用户耳熟能详的应用。

  •  有商业思维。大多数开发人员仅仅关注技术本身,殊不知这只占所有工作的30%。剩下70%还包括思考如何从APP中得利。如果这是一个付费APP,你的目标群体是谁?目标用户如何发现这款APP并为之买单?如果这是一款免费APP,那么你打算通过提供优质内容或通过广告赚钱吗?

  •  不要停止学习。要有快速学习的能力。成功的开发者都能够及时捕捉最新技术,把握市场脉络。

  •  研究并理解市场定位。如果你的东西不能迎合市场所需,那人们是不会用你的APP的。所以最好要确保做出来的APP新颖有趣,或能寓教于乐,或者对我们的生活工作有所帮助。

 

文章相关课程

来源:m13817511020

zhanggc

phonegap如何支持get请求和post请求,类似原生请求方式

http://bbs.phonegap100.com/forum.php?mod=viewthread&tid=1471&highlight=http

http://bbs.phonegap100.com/forum.php?mod=viewthread&tid=1471&highlight=http

IT168文库

移动开发类图书年度盘点:最值得看的39本

 

移动开发类图书年度盘点:最值得看的39本

IT168文库联合博文视点、清华文康、华章科技、人民邮电出版社、图灵教育、机械工业出版社计算机分社八家机构对“数据库,移动开发,网络与信息安全,Web开发, 编程语言,操作系统,软件算法,产品与设计,电商运营,项目管理等十几个图书分类逐一进行了年度优质图书的推荐盘点。本期推出移动开发大类..


详细解读 和小伙伴们一起来吐槽


移动开发类图书年度盘点:最值得看的39本 - 332566262 - 拟声的主扬

 

移动开发类图书年度盘点:最值得看的39本

IT168文库联合博文视点、清华文康、华章科技、人民邮电出版社、图灵教育、机械工业出版社计算机分社八家机构对“数据库,移动开发,网络与信息安全,Web开发, 编程语言,操作系统,软件算法,产品与设计,电商运营,项目管理等十几个图书分类逐一进行了年度优质图书的推荐盘点。本期推出移动开发大类..


详细解读 和小伙伴们一起来吐槽


籽藤

Genymotion的模拟器上无法安装微信的解决办法

根源是因为Genymotion的模拟器上没有微信必需的ARM,下载链接文章中的指定zip,在模拟器中安装后重启,完美解决。

Genymotion的模拟器上无法安装微信的解决办法

根源是因为Genymotion的模拟器上没有微信必需的ARM,下载链接文章中的指定zip,在模拟器中安装后重启,完美解决。

IT168文库

移动开发工程师面试题集:Android & iOS

 

移动开发工程师面试题集:Android & iOS


移动开发也称为手机开发,或叫做移动互联网开发,移动市场暗流涌动,春潮泛滥,各种各样有趣的应用层出不穷,新奇创意不断,大量原来PC和互联网上的信息化应用、互联网应用均已出现在手机平台上,Android和iOS则是其中最火的两大开发平台,吸引了大量的技术爱好者,Android和iOS开发类岗位也成为高薪职位,然而随着行业热潮和技术成熟,此类岗位竞争也异常激烈,本文集主要收集了互联网上大家分享的一些经典面试题,希望能帮助正在面试此类岗位工作的朋友们。


详细解读 和小伙伴们一起来吐槽

移动开发工程师面试题集:Android  iOS - 332566262 - 拟声的主扬

 

移动开发工程师面试题集:Android & iOS


移动开发也称为手机开发,或叫做移动互联网开发,移动市场暗流涌动,春潮泛滥,各种各样有趣的应用层出不穷,新奇创意不断,大量原来PC和互联网上的信息化应用、互联网应用均已出现在手机平台上,Android和iOS则是其中最火的两大开发平台,吸引了大量的技术爱好者,Android和iOS开发类岗位也成为高薪职位,然而随着行业热潮和技术成熟,此类岗位竞争也异常激烈,本文集主要收集了互联网上大家分享的一些经典面试题,希望能帮助正在面试此类岗位工作的朋友们。


详细解读 和小伙伴们一起来吐槽

LOFTER

让兴趣,更有趣

简单随性的记录
丰富多彩的内容
让生活更加充实

下载移动端
关注最新消息