想问一下这是那个软件的页面?

1月13日,著名博客作者Jurgen Appelo写了一篇博文:“软件开发者面试百问”。该文甚受读者欢迎,15日便登上了delicious,Popurls.com,Reddit的首页。InfoQ中文站在得到作者许可之后,将其全文翻译为中文,希望可以对国内读者有所助益。

想雇到搞软件开发的聪明人可不容易。万一一不小心,就会搞到一堆低能大狒狒。我去年就碰到这种事了。你肯定不想这样吧。听我的,没错。在树上开站立会议门都没有。

问点有难度的问题能帮你把聪明人跟狒狒们分开。我决定把我自己整理出来的软件开发者面试百问发出来,希望能帮到你们的忙。

这个列表涵盖了软件开发知识体系中定义的大多数知识域。当然,如果你只想找出类拔萃的程序员,便只需涉及结构、算法、数据结构、测试这几个话题。如果想雇架构师,也可以只考虑需求、功能设计、技术设计这些地方。

不过不管你怎么做,都要牢记一点:

这里大多数问题的答案都没有对错之分!

你可以把我的这些问题作为引子,展开讨论。例如下面有个问题是使用静态方法或是单例的缘由。如果那个面试的就此展开长篇大论,那他很有可能是个聪明能干的家伙!如果他一脸茫然的看着你,发出这种声音,很明显这就是只狒狒了。同样,想知道一个数是不是2的乘方也有很多方法,不过要是面试的人想用mod运算符,嗯……你知道我的意思吧。(你不知道也没关系,来根香蕉?)

1. 你能给出一些非功能性(或者质量)需求的例子么?
2. 如果客户需要高性能、使用极其方便而又高度安全,你会给他什么建议?
3. 你能给出一些用来描述需求的不同技术么?它们各自适用于什么场景?
4. 需求跟踪是什么意思?什么是向前追溯,什么是向后追溯?
5. 你喜欢用什么工具跟踪需求?
6. 你怎么看待需求变化?它是好是坏?给出你的理由。
7. 你怎样研究需求,发现需求?有哪些资源可以用到?
8. 你怎么给需求制定优先级?有哪些技术?
9. 在需求过程中,用户、客户、开发人员各自的职责是什么?
10. 你怎么对待不完整或是令人费解的需求?

1. 在功能设计中有哪些隐喻?给出几个成功的例子。
2. 如果有些功能的执行时间很长,怎么能让用户感觉不到太长的等待?
3. 如果用户必须要在一个很小的区域内,从一个常常的列表中选择多个条目,你会用什么控件?
4. 有哪些方法可以保证数据项的完整?
5. 建立系统原型有哪些技术?
6. 应用程序怎样建立对用户行为的预期?给出一些例子。
7. 如何入手设计一组数量庞大而又复杂的特性,你能举出一些设计思路吗?
8. 有一个列表,其中有10个元素,每个元素都有20个字段可以编辑,你怎样设计这种情况?如果是1000个元素,每个元素有3个字段呢?
9. 用不同的颜色对一段文本中的文字标记高亮,这种做法有什么问题?

1. 什么是低耦合和高聚合?封装原则又是什么意思?
2. 在Web应用中,你怎样避免几个人编辑同一段数据所造成的冲突?
3. 你知道设计模式吗?你用过哪些设计模式?在什么场合下用的?
4. 是否了解什么是无状态的业务层?长事务如何与之相适应?
5. 在搭建一个架构,或是技术设计时,你用过几种图?
6. 在N层架构中都有哪些层?它们各自的职责是什么?
7. 有哪些方法可以确保架构中数据的正确和健壮?
8. 面向对象设计和面向组件设计有哪些不同之处?
9. 怎样在数据库中对用户授权、用户配置、权限管理这几项功能建模?
10. 怎样按照等级制度给动物王国(包括各种物种和各自的行为)建模?

1. 你怎样保证你的代码可以处理各种错误事件?
2. 解释一下什么是测试驱动开发,举出极限编程中的一些原则。
3. 看别人代码的时候,你最关心什么地方?
4. 什么时候使用抽象类,什么时候使用接口?
5. 除了IDE以外,你还喜欢哪些必不可少的工具?
6. 你怎么保证代码执行速度快,而又不出问题?
7. 什么时候用多态,什么时候用委派?
8. 什么时候使用带有静态成员的类,什么时候使用单例?
9. 你在代码里面怎么提前处理需求的变化?给一些例子。
10. 描述一下实现一段代码的过程,从需求到最终交付。

1. 怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数?
2. 怎样找出链表中间的元素?
3. 怎样改变10,000个静态HTML页面中所有电话号码的格式?
4. 举出一个你所用过的递归的例子。
5. 在哈希表和排序后的列表中找一个元素,哪个查找速度最快?
6. 不管是书、杂志还是网络,你从中所学到的最后一点算法知识是什么?
7. 怎样把字符串反转?你能不用临时的字符串么?
8. 你愿意用什么类型的语言来编写复杂的算法?
9. 有一个数组,里面是从1到1,000,000的整数,其中有一个数字出现了两次,你怎么找出那个重复的数字?

1. 怎样在内存中实现伦敦地铁的结构?
2. 怎样以最有效的方式在数据库中存储颜色值?
3. 队列和堆栈区别是什么?
4. 用堆或者堆栈存储数据的区别是什么?
5. 怎样在数据库中存储N维向量?
6. 你倾向于用哪种类型的语言编写复杂的数据结构?
7. 21的二进制值是什么?十六制值呢?
8. 不管是书、杂志还是网络,你从中所学到的最后一点数据结构的知识是什么?
9. 怎样在XML文档中存储足球比赛结果(包括队伍和比分)?
10. 有哪些文本格式可以保存Unicode字符?

1. 什么是回归测试?怎样知道新引入的变化没有给现有的功能造成破坏?
2. 如果业务层和数据层之间有依赖关系,你该怎么写单元测试?
3. 你用哪些工具测试代码质量?
4. 在产品部署之后,你最常碰到的是什么类型的问题?
5. 什么是代码覆盖率?有多少种代码覆盖率?
6. 功能测试和探索性测试的区别是什么?你怎么对网站进行测试?
7. 测试栈、测试用例、测试计划,这三者之间的区别是什么?你怎么组织测试?
8. 要对电子商务网站做冒烟测试,你会做哪些类型的测试?
9. 客户在验收测试中会发现不满意的东西,怎样减少这种情况的发生?
10. 你去年在测试和质量保证方面学到了哪些东西?

1. 你用哪些工具在维护阶段对产品进行监控?
2. 要想对一个正在产品环境中被使用的产品进行升级,该注意哪些重要事项?
3. 如果在一个庞大的文件中有错误,而代码又无法逐步跟踪,你怎么找出错误?
4. 你怎样保证代码中的变化不会影响产品的其他部分?
5. 你怎样为产品编写技术文档?
6. 你用过哪些方式保证软件产品容易维护?
7. 怎样在产品运行的环境中进行系统调试?
8. 什么是负载均衡?负载均衡的方式有哪些种?
9. 为什么在应用程序的生命周期中,软件维护费用所占的份额最高?

1. 你知道配置管理中基线的含义么?怎样把项目中某个重要的时刻冻结?
2. 你一般会把哪些东西纳入版本控制?
3. 怎样可以保证团队中每个人都知道谁改变了哪些东西?
4. Tag和Branch的区别是什么?在什么情况下该使用tag,什么时候用branch?
5. 怎样管理技术文档——如产品架构文档——的变化?
6. 你用什么侗剧管理项目中所有数字信息的状态?你最喜欢哪种工具?
7. 如果客户想要对一款已经发布的产品做出变动,你怎么处理?
8. 版本管理和发布管理有什么差异?
9. 对文本文件的变化和二进制文件的变化进行管理,这二者有什么不同?
10. 同时处理多个变更请求,或是同时进行增量开发和维护,这种事情你怎么看待?

1. 范围、时间、成本,这三项中哪些是可以由客户控制的?
2. 谁该对项目中所要付出的一切做出估算?谁有权设置最后期限?
3. 减少交付的次数,或是减少每个每个交付中的工作量,你喜欢哪种做法?
4. 你喜欢用哪种图来跟踪项目进度?
5. 迭代和增量的区别在哪里?
6. 试着解释一下风险管理中用到的实践。风险该如何管理?
7. 你喜欢任务分解还是滚动式计划?
8. 你需要哪些东西帮助你判断项目是否符合时间要求,在预算范围内运作?
10. 如果客户想要的东西太多,你在范围和时间上怎样跟他达成一致呢?

}

点击大R说安全关注我,加★星标★

很多人有使用手机来拍摄记录生活精彩瞬间的习惯,但你发送在网络上的照片,可能正在给你带来危害。

近日,#一张照片能暴露多少隐私#和#群聊晒照片原图有多危险#的话题引发网友热议。据央广网报道,许多青少年在进行网络社交时,敏感信息不加以处理,就直接将照片原图发送给网友或发到陌生交友群,这样很容易造成个人隐私泄露、遭遇网络威胁。

“开源情报”是近几年开始大热的一个词,指的是仅仅只依靠抓取网络上的公开信息和数据,然后对信息数据进行分析和挖掘,最后得到相应的情报,该技术主要运用于商业情报的分析和获取。

信息数据是公开的,但最后获取的情报却极具商业价值,关键就在于数据的“分析挖掘”环节,哪怕是一张普通的照片就可能隐藏着大量的“商业信息”,甚至有一些不法分子还会通过照片获取“隐私信息”。

曾经网上有一篇很有名的文章叫做《我是如何推理出王珞丹住址》,文章中就给大家描述了他的推理过程,推理过程大概如下。

首先他在百度上搜索到了王珞丹的博客和微博,并对其上的信息进行筛选,获得了以下两张比较有价值的图片:

这两张照片,是王珞丹发表在微博上的从她家里往外拍的照片,表面上看,这是两张极为普通的照片,或许浏览者不会过多地注意,而实际上,这两张图片所传递的信息已足以推理出她家的位置。

从以上照片可以分析得出这是西式小区,小区建成有一段时间,房子住在顶层,小区有三个同样大小的正方形花坛,正方形连线的一段是一个俯视图为长方形的拱门建筑。

下一步要锁定这个小区。

打开 Google Earth 截取的一张北京城区的俯视图,为了方便解说作者的分析过程,将其划分为九个区域。划分方式是按照四环为标准的,也就是E区域的边界便是四环。

很显然,这仅仅是一张大比例的俯视图,放大比例尺寸之后,每一个区域都够浏览几个小时的。

下面要做的工作就是一一排除这些待选区域,有的区域无法立即排除,需要在其它某个关联区域被排除掉之后才能够排除,这个稍后会具体解释。

以下是原作者排除非关联区域的过程,在王珞丹的微博上,注意到有这样一条:

联排要到城里的摄影棚去,而她堵车堵在四环,时间是下午一点五十左右,刚好是从家里吃过午饭往摄制组赶的时间,说明她家不在四环以里。

虽然不够充分,但极有可能是这样的。在她另一条微博里,她提到演出这么多年,自己还没有在北京中心地带买一套房子,便是佐证。因此排除E区域。

后面他再根据微博上的其它信息排除了其它区域,认为 C 区域的可能性最大,重点排查 C 区域的小区。

之前的分析大概花去了二十多分钟的时间,接下来的工作就是搜索。在Google Earth 上作者截取了如下这张俯视图,乍看上去,没有什么特别之处。

让我们对局部放大看一看:

请注意图片中间左部的三个正方形区域,注意这三个正方形在俯视图上的不同体现,再加上正方形区域边上的那个长方形区域,基本上可以确定,这就是他所要找的目标小区。

为了验证这个确实是所寻找的目标小区,作者还特意前往此地,下图是作者在现场拍摄的照片。

和之前王珞丹从阳台上往外照的照片进行比较,便可获证这确实是作者所寻找的目标小区。

下图是作者拍的另一张小区照片,可以看到三个正方形花坛中的一个,以及背后的长方形拱形门。

以上便是作者分析推理加搜索的全部过程,前后用时四十多分钟,其中信息采集、分析推理占了较长时间,二十分钟左右,搜索也接近二十分钟。

另外王珞丹早已经搬家,作者的文章也只是为了证明自己的推理过程。作者表示自己并没有恶意,等王珞丹现在已经搬走了才分享出来给大家。

这是一张发表在国外论坛上的旅行照片,发出照片的博主还附了三条简短的信息。

1、天空中的那道白线是一架波音747-8F,此时,它正从伦敦飞往香港。

2、照片的拍摄时间是2019年10月30日。

3、拍摄者此时站在旅馆里。

问:这家旅馆的名字是?

也许你会对这个莫名其妙的问题感到一脸茫然。这其实是网友发起了一项侦探挑战赛。

那么仅凭一张照片和简单的三条提示到底能获取多少信息?接着看下去,你大概就会了解你的隐私是如何泄露的。

天气很晴朗,拍摄者背对着太阳,天空中飞过一架从伦敦飞往香港的波音747。

前三个条件在地球上任何地点都可以实现。所以解密的关键在于那架从伦敦飞往香港的飞机,要知道商业飞机的航线基本是固定的。既然航线是固定的,从伦敦到香港,而我们又知道照片拍摄的日期。

所以只要在相关的航空咨询网站查找一下在2019年10月30日这一天从伦敦飞往香港的飞机,再结合他的型号波音747-8F我们就可以得知照片中这架飞机航班号是N617UP找到这次航班之后,我们就可以在对所有人公开的网站上得到航班对应的KML文件。

KML是一种特殊的文件格式,它可以在地图软件中显示特定的地理数据。比如一家飞机从起飞到降落所经过的所有的经纬度位置,还有他在每个具体点的飞行高度。如此就可以准确的再现它在2019年10月30日的活动轨迹。

KML文件不仅仅记录了飞机的轨迹,他同时还对应着飞机在每个点的时间信息,根据解析出来的信息,我们可以知道这架飞机是在当天上午6点多出发的。而照片中飞机所在的天空晴空万里,所以我们首先可以排除那些在航线上处于黑夜的地段。根据这个信息再结合原始照片和飞机航线图,照片里的飞机不可能在已经入夜的中国,所以大概可以先排除航线的后半程。

而当我们的目光聚焦到飞机的前半程后,会发现此时的飞机航线大体朝向正东。所以原先这张几乎一清二白的照片里面又多了一个重要的信息,飞机指向正东,既然飞机向东前进,那拍摄者应该在航线的北侧。否则的话,这条线看起来会和原图完全相反。

不过光知道这一点还是不足以让我们推测出问题的答案。好在这张照片里还隐藏着一个不起眼,但是同样关键的信息。拍摄者面前的这栋建筑至少也有五六层高,而照在这栋楼上的影子几乎快要没过它本身。考虑到欧洲地广人稀的局面,这应该是一座比较繁华的大城市。

所以我们现在的筛查点是:一、航线的前半部分,也就是欧洲。二、距离航线非常近的城市。三、拍摄是在航线以北,所以这座城市也靠北。至少它不可能完全位于航线的南侧,让我们从西向东开始寻找。

阿姆斯特丹是一个很有诱惑力的选项,但是飞机经过这里的时间是UTC上午6点半左右。此时的阿姆斯特丹天也还没有亮。经过反复的对比和筛查,以此排除了沿途的大部分城市。

随着航线的东移,一座条件几乎完美的城市来到了我们的眼前——柏林。航线穿城而过,而且柏林的大部分城区都在它的北部。此时的时间是上午7点14分左右,柏林阳光正好。

网络上的大神们把从不同地点看到的航线的角度和原图做对比,划定了一个和原图视角大致一致的区域。然后开始了摸网式的排查,最终经过大量的对比,那座熟悉的大楼终于出现在了我们的眼前。

顺着大神的指引,这家旅馆的名字是:Hotel H+ Mitte Berlin。他们甚至还根据照片中的位置关系,推测出了拍摄者当时所在的房间。还根据此处的KML数据推测照片拍摄于柏林当地时间8点13到14分之间。

从一条浅浅的痕迹推测出拍摄者具体的酒店房间,这本是007电影才会出现的剧情。

以上说的照片探秘都是在社交网上公开发布的,是网友们通过网络工具进行推理最终得出。而在我们的日常生活中,更多的时候个人数据信息是直接被第三方获取的。

我们的个人数据就像一滴水,汇聚在大数据的海洋中,而洋流的流向我们却无法控制。

一个人从出生、上幼儿园、上学、买手机、就业、结婚、开公司、体检、买车、网上购物,在所有的这些过程中,我们的数据在各个环节就已经被收集。以网上购物为例,在一家电商购物,从账号登录开始,到浏览页面,到购买完成支付,每一个细节都已经被记录。

年初,朋友圈被支付宝“年度个人账单”刷屏,殊不知,当你被这些小确幸感动之时,可能不经意同意了《芝麻服务协议》的默认选项。

一些支付宝用户在刚获悉此消息时,一脸茫然地反问:“哪里有这行字,第几页,完全没看到啊?”

还有一些用户表示,看到这行字了,但是手快直接滑到下一页,没及时取消,等第二次打开账单时,这行字就没有了,心情复杂……

“被同意”的用户究竟会“被默认”哪些协议呢?根据《芝麻服务协议》,其中包括:

“您授权我们可以从合法保存有您信息的第三方,采集及处理您的各类信息”

“您同意第三方可直接向我们提供您的信息而不需要您再次授权”

“采集您的信息包括但不限于您的个人信息、行为信息、交易信息、资产信息、设备信息等”

另一方面,在信息的使用环节,其实我们在意的不是隐私被使用,而是隐私信息被滥用。

8月17日,个人信息保护法草案三审稿提请十三届全国人大常委会第三十次会议审议。

草案三审稿进一步完善了个人信息处理规则,特别是对应用程序(APP)过度收集个人信息、大数据杀熟等作出了针对性规范,为个人信息处理活动划出红线。

我们必须要明确的一点是,尽管大数据技术的应用带来了大规模个人数据泄露的隐患,但我们不能因噎废食般就此否定它的价值。技术本身没有对错之分,每一个技术的产生也都不带有原罪。为了确保数据不沦为人的有毒资产,数据保护的原则与思路,需要进行与时俱进,从处理和使用环节上着手。我们要规范的不是技术,而是使用技术的人。

在#一张照片能暴露多少隐私#相关话题下方,有博主称仅凭网友在群聊里发的一张照片就精准找到了他的家。

到底是如何从一张小小的照片里读取出家庭住址等信息的呢?

要知道,任何手机、相机拍摄的照片都是含有exif信息的,这些信息可以调用GPS数据,记录照片拍摄的时间、位置等信息。

如果满足以下三个条件,那么我们使用微信或者一些通讯工具发送图片时,会泄露自己的详细信息:

不听 不信 不转账 不汇款

转载此文是出于公益之目的。如果分享内容侵犯您的版权或者非授权发布,请联系“中国反诈骗联盟”删除,我们会及时审核处理,谢谢。

来源:大R说安全综合整理(中国反诈骗联盟/大R科普/大R警示/大R普法/网络等)转载请注明来源。

关注、点赞、在看、转发、

}

安徽·工程部经理兼项目技术负责人

正常 现在很多单位在招聘时 面试官都会有很多个人的情感参杂在工作中,他会算吗? 不一定,那个东西对生产管理有作用吗 很多企业都用不到,但他要问 就认命吧 真正好的管理者 会吧复杂的问题简单化,态度比能力更重要 任何一个人到新的工作环境都是要适应的 二次学习能力比第一学历更重要,组织认同比你的能力更重要,这就是当前企业人力资源的困惑。

}

我要回帖

更多关于 手机网页视频提取软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信