前言
网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议:
1.尽量不要花哨,程序员和设计师或者产品运营还不一样,我们的简历成功与否决定权还是在技术面试官那,而他们看重的是你的项目经验内容和技术等描述。
2.技能描述这块尽量只写你懂得而且理解深刻的,可以适当加入一些新技术或流行框架,不过这块需要理解,没来得及看源码的可以看看大神们对它的总结,网上一大堆。
3.项目经验这块尽量加入关键词,比如使用了什么技术、用到哪些设计模式、优化数据对比、扩展总结之类的。而非一味地介绍这个项目内容(那是产品经理的描述),比如性能优化这块,分为UI性能优化、内存优化、数据库优化、网络优化、耗电优化等等。可以从1.如何发现问题,2.怎么解决问题,3.解决效果对比,这几个方面去描述。举个简单例子——UI优化,可以从 UI出现什么问题(卡顿不流畅),怎么查找问题(手机开发者权限>GPU过度绘制 发现层级问题,TraceView CPU使用情况分析),怎么解决问题(降低层级、自定义View绘图出现问题等),解决问题后性能再次对比。
字节跳动+京东+360+网易+腾讯踩过的坑
第一个:字节跳动
一面:已知二叉树BT各结点的先序、中序遍历列分别为A、B、C、D、E、F和C、B、A、E、D、F,试画出该二叉树。
**二面:**已知一棵树的由根至叶子结点按层次输入的结点序列及每个结点的度(每层中自
左到右输入),试写出构造此树的孩子-兄弟链表的算法。
**三面主管面:**已知一棵二叉树的前序序列和中序序列分别存于两个一维数组中,试编写算法建
立该二叉树的二叉链表。
**四面交叉面:**试编写递归算法,输出广义表中所有原子项及其所在层次。
第二个:京东
一面:哈希HashMap的底层实现
二面:那为什么当链表长度大于阈值8时才会选择使用红黑树呢?
三面:请你说明HashMap和Hashtable的区别?
第三个:360
一面:线程和进程的区别?
二面:万亿级别的两个 URL 文件 A 和 B,如何求出 A 和 B 的差集 C,(Bit 映射->hash 分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)
三面:5 枚硬币,2 正 3 反如何划分为两堆然后通过翻转让两堆中正面向上的硬币和反面向上的硬币个数相同;
四面:如何从一百万个数里面找到最小的一百个数,考虑算法的时间复杂度和空间复杂度
第四个:网易
一面:1.并发集合了解哪些?2.HashMap的实现原理
二面:列举java的集合以及集合之间的继承关系
三面:容器类介绍以及之间的区别
四面:ArrayMap和HashMap的对比
第五个:腾讯
一面:HashTable实现原理
二面:hashMap如何扩容
三面:1.请列举出在 JDK 中几个常用的设计模式?2.什么是设计模式?你是否在你的代码里面使用过任何设计模式?
四面:举例说明什么情况下会更倾向于使用抽象类而不是接口?
最后
分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!
- 阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升(详细点击我的腾讯文档领取)
- **全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记
需要架构学习笔记导图的可以点击我的腾讯文档领取
群内有许多技术大牛,高手如云,有任何问题,欢迎广大网友一起来交流,群内还不定期免费分享高阶Android学习视频资料和面试资料包~
ERkbnFoS0ZF)
群内有许多技术大牛,高手如云,有任何问题,欢迎广大网友一起来交流,群内还不定期免费分享高阶Android学习视频资料和面试资料包~