面试问遇到最难的事情
When I went to university, I found myself studying Physics at the University of St Andrews in Scotland. This worked out very well for me: I can wholeheartedly and unreservedly recommend St Andrews as a place to study. The School of Physics is chock-full of great teachers and researchers, and my understanding is that the rest of the university is at the same calibre.
当我上大学时,我发现自己在苏格兰的圣安德鲁斯大学学习物理学。 这对我来说非常好:我可以全心全意地推荐圣安德鲁斯作为学习的地方。 物理学院里挤满了优秀的老师和研究人员,我的理解是,大学的其余部分都是同等水平的。
Unfortunately, the University also uses a marking scheme that I have chosen to call The World’s Most Confusing Marking Scheme. It is so complicated that I have devoted an entire section to trying to explain it to you. If you aren’t interested in the absurd complexities of the University of St Andrews’ marking scheme, skip to the section entitled Mitigate The Problem.
不幸的是,大学还使用了一种我选择的评分方案,称为“世界上最令人困惑的评分方案”。 它是如此复杂,以至于我已经花了整整一整时间试图向您解释它。 如果您对圣安德鲁斯大学的评分方案的荒谬复杂性不感兴趣,请跳至标题为“解决问题”的部分。
分级有多难? (How Hard Can Grading Be?)
Most universities grade individual modules and items of work on a percentage scale. This system is easily understood, and makes it simple to evaluate the relative differences in achievement between individuals and modules.
大多数大学都按百分比等级对单个模块和工作项进行评分。 该系统易于理解,并且使评估个人和模块之间成就的相对差异变得简单。
St Andrews, however, only takes the brightest of students, and it attempts to challenge them in every possible way. This means using the The World’s Most Complicated Marking Scheme. Allow me to explain it to you.
但是,圣安德鲁斯只招收最聪明的学生,它试图以各种可能的方式挑战他们。 这意味着使用“世界上最复杂的标记方案” 。 请允许我向您解释。
Let’s begin by considering examinations. Each department (or ‘School’) sets its own examinations. These examinations are marked out of some number, defined by the School. The more sensible Schools (cough cough Physics) mark exams out of some number that goes into 100 nicely, like 50 or 100. The less sensible Schools mark out of some weird number, like 72.
让我们开始考虑考试。 每个部门(或“学校”)都设置自己的考试。 这些考试是由学校定义的一些数字标记出来的。 较明智的学校(咳嗽物理学)在考试中满分为100分(例如50或100),而较不明智的学校则在某些怪异分数(例如72分)中得分。
The examination mark is converted into a percentage. At this point it would be perfectly possible to report this percentage to students and then call it a day. However, the next stage is actually to convert this percentage grade to a grade on the so-called ‘20 point mark scale’. This scale is a number between 0 and 20 inclusive, with a single decimal point allowed (so isn’t that a 200 point mark scale?).
检验标记将转换为百分比。 在这一点上,完全有可能将这一百分比报告给学生,然后称之为一天。 但是,下一步实际上是将该百分比等级转换为所谓的“ 20分制”。 该刻度是一个介于0和20之间(含0和20)的数字,并且允许使用一个小数点(因此不是200点标记刻度吗?)。
So far it’s complex, but not complicated. It’s easy to establish a linear relationship between a percentage mark and a 200 point mark scale. However, what happens next is utterly bizarre. Rather than use a linear conversion, a non-linear conversion is used. This means that the difference between 30% and 40% is different on the 20 point scale to the difference between 80% and 90%.
到目前为止,它很复杂,但并不复杂。 在百分比标记和200点标记刻度之间建立线性关系很容易。 但是,接下来发生的事情完全是离奇的。 而不是使用线性转换,而是使用非线性转换。 这意味着30%和40%之间的差异在20点刻度上与80%和90%之间的差异不同。
This is absurd. What is more absurd is that, as far as I can tell, these conversions are not the same from School to School. The School of Physics publishes their conversion rates (though the table is buried deep inside a PDF document), but I’ve been unable to find a published version of any other School’s conversion. Additionally, many of the Schools in the Faculty of Arts don’t do the percentage grading, but instead grade straight onto the 20 point scale! This makes it impossible to determine accurately what it means for a student to have gotten a 16.
这是荒谬的。 据我所知,这些转换在学校之间是不同的。 物理学院公布其转换率(尽管表格深藏在PDF文档中),但是我找不到其他任何学院转换的出版版本。 此外,艺术学院的许多学校不进行百分比分级,而是直接按20分制评分! 这使得无法准确确定学生获得16分意味着什么。
It gets worse, though. In the UK, most degrees are what are known as honours degrees. This definition of ‘honours degree’ is not the same as that used in some other countries (e.g. Australia), by the by. Anyway, the crux of that meaning is that, upon graduation, your degree is given one of the following classifications: First Class Honours, Upper Second Class Honours, Lower Second Class Honours, Third Class Honours, and Pass.
不过,情况变得更糟。 在英国,大多数学位是所谓的荣誉学位 。 “荣誉学位”的定义与by在其他一些国家(例如,澳大利亚)使用的定义不同。 无论如何,该意义的症结在于,毕业后,您的学位将获得以下分类之一:一等荣誉,二等上等荣誉,二等低等荣誉,三等荣誉和及格。
In Universities with sensible marking schemes, a percentage grade is set as the boundary between one classification and the next. At the end of the degree you take an average of your modules (weighted by how many credits they were worth), and wherever you fall defines your classification.
在具有合理评分标准的大学中,将百分比等级设置为一种分类与另一种分类之间的边界。 在该学位课程的最后,您将取平均模块数(按其学分的多少来加权),无论您落在哪里,都将定义您的分类。
In St Andrews, you do that too, except you take a credit-weighted mean of your 20 point scale grades. Additionally, the university defines 0.5-point-wide ‘border zones’ where your degree classification depends on your median grade. And not just any median, your credit-weighted median.
在圣安德鲁斯(St Andrews),您也可以这样做,只不过您要对20分制的成绩进行信用加权平均。 此外,大学还定义了0.5点宽的“边界区域”,您的学位分类取决于您的中位成绩。 不仅是任何中位数,还有信用加权中位数。
Needless to say, this mathematics rapidly becomes something that is not easy for students to do. Lots of students assemble spreadsheets that do the mean easily, and then struggle with the median. Later in my university career, an Excel spreadsheet started doing the rounds that could do the median, but was using macros (Macros! In this day and age!) to do it. This seemed absurd to me. People who weren’t familiar with Excel struggled with the spreadsheet, it looked like ass, and needed to be emailed around the student body. It had to be possible to do better.
不用说,这种数学很快就变成了学生不容易完成的事情。 许多学生都在组装电子表格,这些电子表格很容易做到均值,然后与中位数作斗争。 在我大学生涯的后期,一个Excel电子表格开始进行可以进行中位数的四舍五入,但是却使用宏(Macros!在当今这个时代!)来做。 在我看来这很荒谬。 那些不熟悉Excel的人为电子表格而苦恼,它看起来像个屁股,需要通过电子邮件发送给学生。 必须有可能做得更好。
会发生什么最糟糕的事情? (What’s The Worst That Can Happen?)
It occurred to me that I have just enough knowledge to be dangerous on this front, so I went ahead to try to build a web app that would help. The result is here. The name isn’t exactly snappy, but it’s fairly attractive and works pretty well.
在我看来,我在这方面只有足够的知识来应对危险,因此我继续尝试构建一个可以提供帮助的Web应用程序。 结果在这里 。 这个名字并不是很活泼,但是很吸引人,效果很好。
This was my first introduction to Javascript: before beginning to write this app I had never written a line of it. This blog uses only Javascript written by others (namely Google and Disqus), and so I didn’t really know the first thing about it. Still, I knew that I wanted there to be a dynamic number of modules, and short of forcing the user through an extra web-page for them to POST a form telling me how many modules they did, I would have to manipulate the DOM, and that means Javascript.
这是我第一次对Javascript进行介绍:在开始编写此应用程序之前,我从未编写过任何内容。 该博客仅使用其他人(即Google和Disqus)编写的Javascript,因此我并不真正了解它。 不过,我知道我希望有动态数量的模块,并且没有强迫用户通过额外的网页让他们发布一个表格,告诉我他们做了多少模块,我必须操纵DOM,这就是Javascript。
With that in mind, then, I decided I should aim to scale as well as possible while keeping costs as low as possible. This means a static site using one dyno on Heroku, which makes my hosting cost zero. I used a sub-domain of my blog domain, which means no domain registration fee. I hosted the single minified CSS file on S3, which costs almost nothing to host and serve. The only other way I could think of to improve scalability would be to cause all the calculation to be client-side, in the Javascript itself.
考虑到这一点,我决定在降低成本的同时尽可能扩大规模。 这意味着在Heroku上使用一个dyno的静态站点,这使我的托管成本为零。 我使用了博客域的一个子域,这意味着无需域名注册费。 我将单个缩小CSS文件托管在S3上,几乎不需要托管和服务。 我想提高可伸缩性的另一种方法是使所有计算都在Java脚本本身的客户端进行。
The user would already have to download some JS, which means they’d already have to hit S3 twice, so the only cost increase would be bandwidth and storage of a larger JS file. Because the calculation is client-side, my Heroku dyno can process requests incredibly quickly, as it will only ever take a single request from a given visitor.
用户必须已经下载了一些JS,这意味着他们已经必须两次击中S3,因此唯一的成本增加就是带宽和更大的JS文件的存储。 因为计算是在客户端进行的,所以我的Heroku dyno可以非常Swift地处理请求,因为它只会接受来自给定访问者的单个请求。
The only downside is that Javascript isn’t usually all that fast. However, it turns out that, for this relatively simple calculation, Javascript is ‘fast enough’. Neither I nor anyone I’ve spoken to has noticed any lag with the JS, even on mobile devices. Altogether, Javascript is probably faster for the user than having to POST onto the server and have it do the calculation!
唯一的缺点是Java语言通常不会那么快。 但是,事实证明,对于这种相对简单的计算,Javascript是“足够快”的。 我和与之交谈的人都没有注意到JS的任何滞后,即使在移动设备上也是如此。 总的来说,对于用户而言,JavaScript可能比必须发布到服务器上并进行计算要快得多!
All that I needed to do then was wrap the static index.html
page in the thinnest Heroku-suitable client I could find (in this case, Sinatra) and viola! A fully functioning web app, from conception to completion in about 8 hours.
然后,我要做的就是将static index.html
页面包装在我能找到的最薄的Heroku适用客户端(在本例中为Sinatra )和中提琴中! 功能齐全的Web应用程序,从构思到完成,大约需要8个小时。
缓解问题 (Mitigate The Problem)
Why bother? Well, the app has some major advantages over the Excel spreadsheet. For one, it’s a lot more approachable for non-technical users, especially those who are unfamiliar with Excel. It’s also easily available, without requiring an installed copy of Office, and works on mobile devices. This makes it widely usable by the student body.
何必呢? 好吧,该应用程序具有优于Excel电子表格的一些主要优势。 一方面,对于非技术用户,尤其是不熟悉Excel的用户,它更容易上手。 它也很容易获得,不需要安装Office副本,并且可以在移动设备上使用。 这使得它可以被学生团体广泛使用。
This wide usage base is important, because, and I cannot stress this enough, this should not be a problem students face. The fact that I was able to identify a problem and build something that actually helps in 8 hours suggests that the university has made a serious faux pas with the grading system. In the event that a university official swings by this blog (unlikely, but possible), it’d be great if you’d drop me a line to explain why you use a system this apparently-braindead.
这种广泛的使用基础非常重要,因为而且我不能足够强调,这也不应该是学生面临的问题 。 我能够在8个小时内发现问题并提出实际的帮助,这一事实表明,该大学在评分系统方面取得了举足轻重的地位。 如果大学官员因这个博客而跳槽(不太可能,但可能),那么如果您给我下一行来解释为什么使用这种显然是死脑筋的系统,那就太好了。
More importantly, though, it gave me an opportunity to mitigate the problem. I have personal experience of students, myself included, being irritated by attempting to work out what class of degree they can expect. I can’t fix the issue, because I don’t work for the university, but I can contribute something that makes peoples’ lives a little bit better. This gives me the warm fuzzies, so that alone was worth it.
不过,更重要的是,它为我提供了缓解问题的机会。 我对学生(包括我自己)有亲身经历,因为他们试图找出可以期望的学位程度而感到恼火。 我无法解决该问题,因为我不在大学工作,但是我可以做出一些使人们的生活更好的事情。 这给了我温暖的模糊感,所以仅此而已是值得的。
翻译自: https://www.pybloggers.com/2012/06/things-that-are-way-too-hard/
面试问遇到最难的事情