一次上机面试题带来的感悟【学习的感觉、学习的方法】

简介:
前言

最近团队面临解散,上面感觉想把我们一刀切,当天心里就很郁闷,于是想到了换工作,哎不想换现在也不行了。。。。

当时联系到一个我认为不错的大哥,他给了我一道题,我一看,感觉有点水平,大概和HTML5有关系,但是我工作中一直想学但没机会学习,现在也只能硬着头皮做做了。

 访问地址我给关了,今早一来,磁盘空间都要挂了,图片“应有尽有”,好吧,伟大的程序员不差...

这是一道面试题

此次考察题目:
1. 用户可以选择1个或多个图片进行上传,支持拖拽文件上传和弹出文件选择窗口2种方式;
2. 用户可以看见上传的过程,清楚每个文件上传的进度;
3. 上传后,用户可以选择不同的图片进行裁剪;
4. 裁剪选择区域的时候,用户可以查看到裁剪后的效果图;
5. 测试能够通过最新版的IE/FF/CHROME
 
我实现的功能:
1、选择1或者多个图片上传
2、拖曳上传
3、上传状态显示/上传进度条
4、裁剪图片、预览图片、保存裁剪后的图片
基本所有功能皆以完成;
 
 
 
注意事项:
此次题目共花去我两天左右时间,加上平时工作时中午时间,约12小时。
而且这道题需要不只是前端方面的知识,过程中我使用了较熟悉的.net技术,作为服务器端语言,所以本地若需运行需要.net程序运行环境(安装vs2010即可),若无环境,需要给我一定时间上服务器部署以作为演示;
 
兼容性:
该程序中使用的很多东西都是HTML5里面的,所以兼容性只能做到最新浏览器兼容,我这里对以下浏览器做过测试:
测试过的浏览器:firefox、chrome
应该支持的浏览器:IE10
 
对于不支持的浏览器:
虽然功能差点,但也能进行操作(渐进增强),
不支持功能:
1、多图片上传
2、拖曳上传
3、上传状态
 
不足:
1、该功能要做好,个人认为需要至少1周时间,所以我暂时只能做到这个样子;
2、项目中代码未封装、未优化,若有必要,后面点我会封装优化一下; 
题目评价

不知道各位大哥是怎么看的,但是就我这水平的小鱼一看,认为该题确实有点水平,就我的知识面来看,在html5出现之前,这就是一坨铁,我所想到的就只有flash可以做。。。

不然就是后端程序相当恶心的配合,最后会得到四个字“费力不讨好”(我知道是5字了。。)

但就该题而言能做起、并且能做好,没有一定水准还真不行。。。。有点自夸的嫌疑了(别喷我承认我查了资料好不)。。。

功能截图















 

程序主要代码

View Code
感悟

写之前,本来感觉好多话要说,但是最后发现自己就一个标题党。。。

感悟这个东西你说之前感觉很多很多,但真的要写的时候却发现什么也没有了。

由此我想到了另外一件事情,曾经很多很要好的兄弟,平时非常思念,但真的拿起电话、见面时反而没什么话可说。。。。

哎,其实我想说在这段时间的业余时间中,总在看书学习,却没有动力,没有效果,很搞笑的是这次面试题却带给了我不一样的感觉;

我真的就以此接触了一直想学习而没有学习的HTML5的东西,我突然可以两天晚上开开心心的编码,甚至晚上睡觉时候也会思考,

我仿佛回到了大学和同学一起做项目的时光,没有多余的想法,就是想学东西,就是想做好而已。。。。

就在这个过程中,我觉得我找到了我丢失已久的“安静”,因为我心不静已经很久了,为了工资为了提升,却忘了刚刚出校门所思所想了。。。

调用曾经高手们的一句话:

如果能够只为挥剑而挥剑,或许就能更接近我所追求的境界,但又谈何容易呢?



前言


最近团队面临解散,上面感觉想把我们一刀切,当天心里就很郁闷,于是想到了换工作,哎不想换现在也不行了。。。。

当时联系到一个我认为不错的大哥,他给了我一道题,我一看,感觉有点水平,大概和HTML5有关系,但是我工作中一直想学但没机会学习,现在也只能硬着头皮做做了。

 访问地址我给关了,今早一来,磁盘空间都要挂了,图片“应有尽有”,好吧,伟大的程序员不差...

这是一道面试题


此次考察题目:

1. 用户可以选择1个或多个图片进行上传,支持拖拽文件上传和弹出文件选择窗口2种方式;

2. 用户可以看见上传的过程,清楚每个文件上传的进度;

3. 上传后,用户可以选择不同的图片进行裁剪;

4. 裁剪选择区域的时候,用户可以查看到裁剪后的效果图;

5. 测试能够通过最新版的IE/FF/CHROME

 

我实现的功能:

1、选择1或者多个图片上传

2、拖曳上传

3、上传状态显示/上传进度条

4、裁剪图片、预览图片、保存裁剪后的图片

基本所有功能皆以完成;

 

 

 

注意事项:

此次题目共花去我两天左右时间,加上平时工作时中午时间,约12小时。

而且这道题需要不只是前端方面的知识,过程中我使用了较熟悉的.net技术,作为服务器端语言,所以本地若需运行需要.net程序运行环境(安装vs2010即可),若无环境,需要给我一定时间上服务器部署以作为演示;

 

兼容性:

该程序中使用的很多东西都是HTML5里面的,所以兼容性只能做到最新浏览器兼容,我这里对以下浏览器做过测试:

测试过的浏览器firefoxchrome

应该支持的浏览器IE10

 

对于不支持的浏览器:

虽然功能差点,但也能进行操作(渐进增强),

不支持功能:

1、多图片上传

2、拖曳上传

3、上传状态

 

不足:

1、该功能要做好,个人认为需要至少1周时间,所以我暂时只能做到这个样子;

2、项目中代码未封装、未优化,若有必要,后面点我会封装优化一下; 

题目评价


不知道各位大哥是怎么看的,但是就我这水平的小鱼一看,认为该题确实有点水平,就我的知识面来看,在html5出现之前,这就是一坨铁,我所想到的就只有flash可以做。。。

不然就是后端程序相当恶心的配合,最后会得到四个字“费力不讨好”(我知道是5字了。。)

但就该题而言能做起、并且能做好,没有一定水准还真不行。。。。有点自夸的嫌疑了(别喷我承认我查了资料好不)。。。

功能截图


 

程序主要代码


View Code

感悟


写之前,本来感觉好多话要说,但是最后发现自己就一个标题党。。。

感悟这个东西你说之前感觉很多很多,但真的要写的时候却发现什么也没有了。

由此我想到了另外一件事情,曾经很多很要好的兄弟,平时非常思念,但真的拿起电话、见面时反而没什么话可说。。。。

哎,其实我想说在这段时间的业余时间中,总在看书学习,却没有动力,没有效果,很搞笑的是这次面试题却带给了我不一样的感觉;

我真的就以此接触了一直想学习而没有学习的HTML5的东西,我突然可以两天晚上开开心心的编码,甚至晚上睡觉时候也会思考,

我仿佛回到了大学和同学一起做项目的时光,没有多余的想法,就是想学东西,就是想做好而已。。。。

就在这个过程中,我觉得我找到了我丢失已久的“安静”,因为我心不静已经很久了,为了工资为了提升,却忘了刚刚出校门所思所想了。。。

调用曾经高手们的一句话:

如果能够只为挥剑而挥剑,或许就能更接近我所追求的境界,但又谈何容易呢?




本文转自叶小钗博客园博客,原文链接:http://www.cnblogs.com/yexiaochai/archive/2013/04/11/3014404.html,如需转载请自行联系原作者

相关文章
|
3月前
|
缓存 算法 Java
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
31 1
|
1月前
|
网络协议 算法 数据库
|
11天前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
29 2
|
2月前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
2月前
|
Java API 索引
【Java基础面试二十四】、String类有哪些方法?
这篇文章列举了Java中String类的常用方法,如`charAt()`、`substring()`、`split()`、`trim()`、`indexOf()`、`lastIndexOf()`、`startsWith()`、`endsWith()`、`toUpperCase()`、`toLowerCase()`、`replaceFirst()`和`replaceAll()`,并建议面试时展示对这些方法的熟悉度,同时深入理解部分方法的源码实现。
【Java基础面试二十四】、String类有哪些方法?
|
2月前
|
Java
【Java集合类面试三十】、BlockingQueue中有哪些方法,为什么这样设计?
BlockingQueue设计了四组不同行为方式的方法用于插入、移除和检查元素,以适应不同的业务场景,包括抛异常、返回特定值、阻塞等待和超时等待,以实现高效的线程间通信。
|
2月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
2月前
|
机器学习/深度学习 算法 Python
【机器学习】面试问答:决策树如何进行剪枝?剪枝的方法有哪些?
文章讨论了决策树的剪枝技术,包括预剪枝和后剪枝的概念、方法以及各自的优缺点。
47 2
|
2月前
|
机器学习/深度学习
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
54 2
|
2月前
|
存储 机器学习/深度学习 缓存
【数据挖掘】XGBoost面试题:与GBDT的区别?为什么使用泰勒二阶展开?为什么可以并行训练?为什么快?防止过拟合的方法?如何处理缺失值?
XGBoost与GBDT的区别、XGBoost使用泰勒二阶展开的原因、并行训练的原理、速度优势、防止过拟合的策略以及处理缺失值的方法,突出了XGBoost在提升模型性能和训练效率方面的一系列优化。
68 1
下一篇
无影云桌面