当你的才华还撑不起你的梦想时,你只能一直前进!
摘要:面试 18:复杂链表的复制(剑指 Offer 第 26 题) 在上一篇推文中,我们留下的习题是来自《剑指 Offer》 的面试题 26:复杂链表的复制。 请实现复杂链表的复制,在复杂链表中,每个结点除了 next 指针指向下一个结点外,还有一个 sibling 指向链表中的任意结点或者 NULL。比 阅读全文
posted @ 2018-08-01 08:51 南尘 阅读 (563) 评论 (1) 编辑
摘要:我们今天继续来看看周五留下的习题: 面试题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如:压入序列为{1,2,3,4,5},那{4,5,3,2,1} 就是该栈的弹出顺序,而{4,3,5,1,2} 明显就不符合要求; 这道题还是比 阅读全文
posted @ 2018-07-30 09:08 南尘 阅读 (417) 评论 (0) 编辑
摘要:面试 15:顺时针从外往里打印数字 题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印每一个数字。例如输入: {{1,2,3}, {4,5,6}, {7,8,9}} 则依次打印数字为 1、2、3、6、9、8、7、4、5 这是昨天最后给大家留下的题目,相信大家也有去思考如何处理这道题目了。 初看这 阅读全文
posted @ 2018-07-27 08:42 南尘 阅读 (1092) 评论 (3) 编辑
摘要:终于又回到了我们的算法习题讲解了。南尘发现最近文章阅读量明显比以前少了不少,就上门请教小伙伴原因。他们都说作为一名 Android 应用开发工程师,实在是在工作中没有接触到算法。做技术这个东西,学习了还是得练,不练过几天一定会忘掉。 不过想必大家读南尘的文章也是深有所感,基本都是站在一个极其普通的程 阅读全文
posted @ 2018-07-25 09:24 南尘 阅读 (239) 评论 (0) 编辑
摘要:终于轮到我们排序算法中的王牌登场了。 快速排序由于排序效率在同为 O(nlogn) 的几种排序方法中效率最高,因此经常被采用。再加上快速排序思想——分治法也确实非常实用,所以 在各大厂的面试习题中,快排总是最耀眼的那个。要是你会的排序算法中没有快速排序,我想你还是偷偷去学好它,再去向大厂砸简历。 事 阅读全文
posted @ 2018-07-23 13:25 南尘 阅读 (995) 评论 (3) 编辑
摘要:昨天给大家讲解了 Java 玩转冒泡排序,大家一定觉得并没有什么难度吧,不知道大佬们玩转了吗?不知道大家有没有多加思考,实际上在我们最后的一种思路上,还可以再继续改进。 我们先看看昨天最终版本的代码。 public class Test09 { private static void swap(in 阅读全文
posted @ 2018-07-17 08:54 南尘 阅读 (473) 评论 (1) 编辑
摘要:面试 9:用 Java 实现冒泡排序 南尘的朋友们,新的一周好,原本打算继续讲链表考点算法的,这里姑且是卡一段。虽然在我们 Android 开发中,很少涉及到排序算法,因为基本官方都帮我们封装好了,但排序算法也是非常重要的,在面试中 归并排序 和 快速排序 一直为高频考点,但在学习它们之前,我们必须 阅读全文
posted @ 2018-07-16 08:55 南尘 阅读 (671) 评论 (0) 编辑
摘要:昨天在最后给大家留了拓展题,不知道大家有没有思考完成,其实南尘说有巨坑是吓大家的啦,实际上也没什么。我们来继续看看昨天这个拓展题。 面试题:给定单链表的头结点,删除单链表的倒数第 k 个结点。 前面的文章见链接:面试 7:面试常见的链表算法捷径(一) 这个题和前面的文章中增加了一个操作,除了找出来这 阅读全文
posted @ 2018-07-13 08:56 南尘 阅读 (169) 评论 (0) 编辑
摘要:面试 7:面试常见的链表类算法捷径 链表是我们数据结构面试中比较容易出错的问题,所以很多面试官总喜欢在这上面下功夫,为了避免出错,我们最好先进行全面的分析。在实际软件开发周期中,设计的时间通常不会比编码的时间短,在面试的时候我们不要着急于写代码,而是一开始仔细分析和设计,这将给面试官留下一个很好的印 阅读全文
posted @ 2018-07-12 08:58 南尘 阅读 (1241) 评论 (7) 编辑
摘要:今天给大家带来的是 《剑指 Offer》习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考。 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分,希望时间复杂度尽量小。 看到这道题,想必大多数人都是能一下 阅读全文
posted @ 2018-07-11 10:04 南尘 阅读 (1032) 评论 (3) 编辑
摘要:我们在处理一道编程面试题的时候,通常除了注意代码规范以外,千万要记得自己心中模拟一个单元测试。主要通过三方面来处理。 功能性测试 边界值测试 负面性测试 不管如何,一定要保证自己代码考虑的全面,而不要简单地猜想用户的输入一定是正确的,只是去实现功能。通常你编写一个能接受住考验的代码,会让面试官对你刮 阅读全文
posted @ 2018-07-10 10:01 南尘 阅读 (1293) 评论 (1) 编辑
摘要:面试:老师讲的递归解决斐波那契数列真的好吗 在搞「模拟面试」的日子,我发现大家普遍有个问题就是,感觉自己的能力总是到了瓶颈期,写了好几年代码,感觉只是会的框架比以前多了而已。去大公司面试,屡战屡败,问失败原因,大多数人的答案都是,在三面数据结构与算法的时候,直接就挂了。 而不少人表示,我数据结构与算 阅读全文
posted @ 2018-07-06 09:56 南尘 阅读 (933) 评论 (2) 编辑
摘要:编辑文章 在算法面试中,面试官总是喜欢围绕链表、排序、二叉树、二分查找来做文章,而大多数人都可以跟着专业的书籍来做到倒背如流。而面试官并不希望招收的是一位记忆功底很好,但不会活学活用的程序员。所以学会数学建模和分析问题,并用合理的算法或数据结构来解决问题相当重要。 面试题:打印出旋转数组的最小数字 阅读全文
posted @ 2018-07-05 08:49 南尘 阅读 (2452) 评论 (15) 编辑
摘要:昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入了 volatile 关键字,不少朋友问我,到底为啥要加 volatile 这个关键字呀,而它,到底又有什么神奇的作用呢? 对 volatile 这个关键字,在昨天的讲解中我们简单说了一下:被 volatile 修饰的共 阅读全文
posted @ 2018-07-04 14:10 南尘 阅读 (767) 评论 (0) 编辑
摘要:面试:用 Java 实现一个 Singleton 模式 面试系列更新后,终于迎来了我们的第一期,我们也将贴近《剑指 Offer》的题目给大家带来 Java 的讲解,个人还是非常推荐《剑指 Offer》作为面试必刷的书籍的,这不,再一次把这本书分享给大家,PDF 版本在公众号后台回复「剑指Offer」 阅读全文
posted @ 2018-07-03 12:12 南尘 阅读 (1084) 评论 (0) 编辑
摘要:面试场景 平时开发用到其他线程吗?都是如何处理的? 基本都用 RxJava 的线程调度切换,嗯对,就是那个 observeOn 和 subscribeOn 可以直接处理,比如网络操作,RxJava 提供了一个叫 io 线程的处理。 在 RxJava 的广泛使用之前,有使用过其他操作方式吗?比如 Ha 阅读全文
posted @ 2018-03-29 09:03 南尘 阅读 (1953) 评论 (2) 编辑
摘要:写在前面 关注我的小伙伴可能都知道,我是一个 Android 开发工程师,目前在 GitHub 有着约 7k 的 Star 量,在各大博客网站访问量也是破百万大关,而且一直以来都被不少粉丝奉为「技术大佬」。其实并不是这样,我在 Android 技术领域,其实是一个十足的菜鸡,只是花了不少的时间在写作 阅读全文
posted @ 2018-03-05 13:38 南尘 阅读 (6534) 评论 (40) 编辑
摘要:前途比现金重要,公司带给你的成长,才是你最宝贵的财富。 —— 题记 写在前面 大家周末愉快,完全没想到上一篇白话文 "我为什么想离职?" 看起来还挺受欢迎,虽然写的不好,真的不好,哈哈,不过我会好好努力提升自己的文笔的,争取给大家带来赏心悦目的文字分享。 怎么最近都没写纯技术文章了? 这个问题,很多 阅读全文
posted @ 2018-02-04 16:46 南尘 阅读 (2149) 评论 (31) 编辑
摘要:写在前面 本周六晚上面试了一位来自杭州的 17 年应届毕业生,来自计算机科学学院软件工程专业,也是一位非常爱学上进的小伙伴,在微信上约了我无数次「模拟面试」。因为非常着急着找工作,而前面三家面试也是均以失败告终,所以一阵纠结下来,还是选择了先帮帮他。 首先从交流态度上,这是一位态度非常好的小伙伴,可 阅读全文
posted @ 2018-01-30 09:03 南尘 阅读 (297) 评论 (0) 编辑
摘要:写在前面 还记得上周我发起的福利活动吗?原文在这: "给 Android 开发者的福利:免费模拟面试" 。 模拟面试活动反馈 没错,原谅我每篇文章可能都会加上这个前缀,这是我公众号最新推出的福利,旨在帮助到更多的人。 虽然这偏重于给活动参与者的面试报告,但纯反馈建议,也许一样适合你! 为什么发起这个 阅读全文
posted @ 2018-01-15 14:20 南尘 阅读 (231) 评论 (0) 编辑
摘要:写在前面 大家好,我是「南尘」,一个爱分享爱学习的 Android 技术控。目前在 "GitHub" 上有着差不多 6k 的个人项目 Star 数,之前也为其他开源库贡献过大量的源码。在各大博客网站上也有着一定量的读者,是个不折不扣的 Android 技术控,目前在运营公众号「nanchen」。 做 阅读全文
posted @ 2018-01-11 16:51 南尘 阅读 (2386) 评论 (15) 编辑
摘要:一些闲聊 距离上一篇文章似乎又是很久了,看起来也没有很多反馈,催更就更不用说了。哈哈,放弃了。 话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀。虽说我面试过的技术开发至少 50 人以上,但这还是第一次开始面试 Android,此时犹如大姑娘上轿 阅读全文
posted @ 2017-12-04 15:52 南尘 阅读 (1456) 评论 (0) 编辑
摘要:这可能是最好的性能优化教程系列专栏 "这可能是最好的性能优化教程(一)" 前言 上篇写了 和 UI 性能优化,这篇我想和大家聊聊每个人都关心的 APP 启动,参见 "Android 性能优化典范" 。 正文 提高 APP 的启动速度对我们意义深远,很显然,APP 的启动时间越短,使用它的用户越有耐心 阅读全文
posted @ 2017-09-13 15:46 南尘 阅读 (230) 评论 (0) 编辑
摘要:本文首发于我的简书: "http://www.jianshu.com/p/17fd325b28f6" 前言 性能检测与分析,一直在 APP 开发中相当重要,但又被我们常常忽略。很多 APP 或者开发者总是急功近利,总想着快速充实 APP 的相关功能,把开发进度放在首位没有问题,可很多时候就没有然后了 阅读全文
posted @ 2017-09-13 14:48 南尘 阅读 (290) 评论 (7) 编辑
摘要:前言 该文章是笔者参加 "Android 巴士线下交流会成都站" 的手写讲稿虚拟场景,所以大家将就看一下。 开始 大家好,我是刘世麟,首先感谢安卓巴士为我们创造了这次奇妙的相遇。现场的氛围也让我十分激动。 职场竞争力,从来都是我们关注的话题,所以我今天给大家分享一下:《Android 初学者,如何快 阅读全文
posted @ 2017-08-29 17:20 南尘 阅读 (1675) 评论 (7) 编辑

写不完的矫情,做不完的开源

点击进入我的GitHub页
南 尘
主 页
优美钢琴曲合集-南尘.mp3                    感谢您阅读我的博客,如果您现在工作、学习累了或者疲惫了,不妨聆听一下音乐,它能够减轻你的疲劳,还能够带给您一种舒适愉悦的心情。(样式取自博客园-欲泪成雪)