秋招百度Android面经

春招的时候错过了百度,秋招的时候总算抓住机会。
百度笔试:在线笔试(赛码网)的时间是在晚上7点,我实习下班是晚上6点,当时下班后我飞快地赶回宿舍开电脑,连晚饭都顾不上。实践证明,饿的时候头脑是最清醒的。拿下算法题后,笔试应该可以通过。

windows下使用hexo搭建博客

先安装git、nodejs,git和nodejs的配置环境

然后:

1
2
git config --global user.email "claymantwinkle@gmail.com"
git config --global user.name "kesar"

shell下:

1
2
3
ssh-keygen -t rsa -C "claymantwinkle@gmail.com"
//测试是否ssh key有效
ssh -T git@github.com

安装hexo

1
2
npm install -g hexo
npm install hexo-deployer-git --save

[Android学习]Android中MVP模式初探1

前言:

  1. 初识MVP模式时,看到它缺点是需要增加一倍的类的维护量。所以就暂时没用它。但是,当一个类的代码行数达到一定的量(1000行以上),这时候维护类变得好麻烦,主要是功能变得多了,方法数量也变多了。这个时候真的是需要给类“瘦瘦身”。
  2. 这时候重新看了MVP模式,确实发现了“宝”。

[面经]阿里游戏一面的算法题

前言:两天前参加阿里游戏的面试,一面时出了一道面试题。那时我看楞了,好像没做过这种题型,看起来很容易又很难。很容易是,使用O(N^2)就可以解决,难得是,优化时间复杂度。


题目:字符串删除字符(字符可能会有重复,要一起删掉)

[面经]CVTE技术二面一道算法题

题目描述: 1+11+111+…+1111111111=sum,最后一个二进制数是n个1。计算二进制数的累加后sum的值。
思路解析:

  1. 首先,这明显是个大数问题。所以建议所有数都用字符串来表示或者是int数组来表示。这里我们用字符串来表示。
  2. 使用字符串表示二进制数的话,需要实现两个二进制数字符串形式的加法运算。(关键)
  3. 需要有制造这么多个1的字符串数组的方法。
  4. 使用循环迭代的方式将二进制数组累加起来。

[java学习]java容器源码初探(1)

一、动态数组ArrayList

在我们开发者眼中,这就是一个“动态数组”,可以“动态”地调整数组的大小,虽然说数组从定义了长度后,就不能改变大小。
实现“动态”调整的基本原理就是:按照某个调整策略,重新创建一个调整后一样大小的数组,然后将原来的数组赋值回去。
下面我们来解析一下几个与数组不一样的方法。

[面经]CVTE的两道笔试编程题

晚上状态有点不好,然后就仓促参加笔试了。前面很多道选择题,真是坑,都是多选(混杂了多道单选)。下面就说说笔试题的两道编程题吧。其实我做的时候也是挺紧张的,随意符合题意的做完提交,也没加以优化,其实如果时间允许,我也是蛮想优化下的,不过这 场笔试不是看你优化得有多好,而是看你做对了没。