在这个网络发展快速的时代,我想问为什么你选择做程序员?有人说因为不善交际,也有人说最火的行业互联网,最好的职业程序员。确实在这个繁荣的行业,只要你自己不下船技术不水,就可以衣食无忧,努力努力说不定还能加薪升职,成为别人眼中的佼佼者,没多少行业如同程序员起薪高,也没有多少行业如同程序员涨薪快,没多少行业和程序员这个行业一样处处聚集高智力人群,身边都是工作上脑子转的飞快的人群。职场不讲政治只讲方案,对一些不善交际的人来说确实是一种轻松的活法。
为别人做事,那一份稳定的工资,对很多人来说不是很难接受的事情,怕就怕在当你人到了中年,发现自己被绑定在了这个行业绑定在了公司,一身专业技能到了出了公司根本用不到,甚至生活中的菜米油盐都和这个没有半毛钱关系,很久之前流行这么一句话‘世界那么大,我想去看看’这是某位任性的教师离职时的辞职信,很多人当年很佩服这位老师的潇洒,那是因为有选择自由的选择,而我们一离开程序员这个圈子,你会发现很多那些原本因为不善言辞而选择这个行业的人因为时间久了变成了生活中的巨婴,不善与人打交道,别人怪我们情商太低不会做事?这些算是程序员的悲哀吗,还算是市场圈子的潜移默化的影响?我曾遇到过一个人,本来因为不善言辞而选择的这个行业,后来因为这个圈子的氛围影响,回到家更不善和自己的爱人沟通,最后导致了婚姻的不幸。着实令人惋惜!
前几天和我一个在阿里的朋友闲谈的时候,特意问了这位10年Android开发的“骨灰级”面试官,阿里巴巴面试都问哪些原理问题。特此整理出这篇文章,希望对大家的面试有所帮助。
1.排序算法有哪些?
2.最快的排序算法是哪个?
3.手写一个冒泡排序
4.手写快速排序代码
5.快速排序的过程、时间复杂度、空间复杂度
6.手写堆排序
7.堆排序过程、时间复杂度及空间复杂度
8.写出你所知道的排序算法及时空复杂度,稳定性
9.二叉树给出根节点和目标节点,找出从根节点到目标节点的路径
10 给阿里2 万多名员工按年龄排序应该选择哪个算法?
11.GC 算法(各种算法的优缺点以及应用场景)
12.蚁群算法与蒙特卡洛算法
13.子串包含问题(KMP 算法)写代码实现
14 一个无序,不重复数组,输出N 个元素,使得N 个元素的和相加为M,给出时间复杂度、.
空间复杂度。手写算法
15.万亿级别的两个URL 文件A 和B,如何求出A 和B 的差集C(提示:Bit 映射->hash 分组->
多文件读写效率->磁盘寻址以及应用层面对寻址的优化)
16.百度POI 中如何试下查找最近的商家功能(提示:坐标镜像+R 树)。
17.两个不重复的数组集合中,求共同的元素。
18.两个不重复的数组集合中,这两个集合都是海量数据,内存中放不下,怎么求共同的元
素?
19.一个文件中有100 万个整数,由空格分开,在程序中判断用户输入的整数是否在此文件
中。说出最优的方法
20.一张Bitmap 所占内存以及内存占用的计算
一些基础知识和理论肯定是要背的,要理解的背,用自己的语言总结一下背下来。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,我能明显感觉到国庆后多了很多高级职位,所以努力让自己成为高级工程师才是最重要的。
好了,希望对大家有所帮助。
接下来是整理的一些Android学习资料,有兴趣的朋友们可以关注下我免费领取方式。
①Android开发核心知识点笔记
②对标“阿里 P7” 40W+年薪企业资深架构师成长学习路线图
③面试精品集锦汇总
④全套体系化高级架构视频
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
获取方式:【Android架构视频+BAT面试专题PDF+学习笔记】
%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)】**