网页版简历制作经验分享

转自:Heero.Luo

2012年中,因为换工作面试的需要,我得更新旧的简历。但是在Word中排版实在是各种不顺手,于是就发挥了作为前端工程师的优势把简历做成了网页;2014年末想换工作时又对其进行了改版。这份简历曾经受到好几位HR和猎头的好评,所以特地分享制作经验,也算是给想换工作的同行参考。

进入正题之前,先想想HTML简历的好处:

  • 无须下载,直接打开。
  • 可以采用更丰富的设计和更灵活的排版。
  • 可以通过超链接访问其他资源。
  • 可以顺带展示自己设计以及前端方面的技能。

而在此基础上,我还给这份简历定下了以下目标:

  • 一个页面中展示所有内容。
  • Write once, run anywhere. 兼容PC设备与移动设备,最好还能直接打印。
  • 简单实用,最好连JS都不用写。那些用上了各种动画做出来的甚至是做成了小游戏的炫酷简历,其实并不利于阅读。

好了,下面具体讲讲如何打造这样一份简历。

设计

很多程序员会喊:“我是写代码的,不懂设计。”但俗话说得好:没吃过猪肉,总见过猪跑吧。平时逛这么多网站,难道没有几个特别顺眼的?现在浏览器的开发工具非常先进,看上哪个直接扒过来“参考”就行。像简历这种简单页面也不需要先做PSD稿,构思好之后直接写HTML和CSS更为方便。

设计时应尽量使用图形、图像表达内容,这是因为相比大段的文字,人更喜欢看图。这里也贴一下我简历中其中一节改版前后的对比(左旧右新):

相比左侧大段密密麻麻的文字,右侧的柱状图让人一眼就能看清技能水平。

字体大小

这年头显示器越来越大,相对地文字就越来越小,现在大部分网站都把标准文字大小设为14px。考虑到简历的内容不多,排版可以宽松一些,因此建议把标准文字大小设为16px,这在屏幕尺寸较小的移动设备上看起来也不会那么吃力。

关于兼容

简历的受众是谁?无非是两类人:HR以及技术工程师。可以确定的是,技术工程师基本上是用Chrome或者Firefox的好同志,并且非常鄙视IE。HR常年耳濡目染,也会逐渐地换上新的浏览器。然而,考虑到那小部分的HR以及极小部分的技术工程师的感受,还是准备一段“温馨”的提示吧:

实现方法很简单,通过条件注释对IE 9.0以下版本的浏览器,直接用iframe套个提示页面去把原页面挡住:

<!--[if lt IE 9]>
<script>
!function(body) {
body.style.width = body.style.height = ‘100%‘;
body.parentNode.style.overflow = body.style.overflow = ‘hidden‘;
}(document.body);
</script>
<iframe src="4oie.html" frameborder="0" scrolling="no" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 99999;"></iframe>
<![endif]—>

为什么连IE8也要抛弃呢?这是因为它不支持Media query以及一些CSS 3样式,而这恰好是后面说到的多设备适配所必须要用到的技术。

加密联系方式

这一步主要是为了避免被各种骚扰电话、垃圾邮件的扫号软件扫到,这里说的加密并不需要做得很复杂,只要稍微加一点干扰因素即可。比如你的QQ号是1234567,那么在网页上可以这样输出:

<p>QQ:<script>document.write( ‘a1b2c3d4e5f6g7h‘.replace(/\D/g, ‘‘) );</script></p>

至于邮件地址则可以这样(以 [email protected] 为例):

<p>Email: <script>document.write( [‘com‘, ‘126‘, ‘abc‘].reverse().join(‘.‘).replace(‘.‘, ‘@‘) );</script></p>

电话号码是比较敏感的信息,可以搞复杂点,这里我采用的是base64方案。可能很多朋友还不知道,稍微先进点的浏览器都已经原生支持base64的编码和解码了,分别是调用window.btoawindow.atob两个函数。所以电话号码可以这样输出(以 13800138000 为例):

<p>Phone number: <script>if (window.atob) { document.write( window.atob(‘MTM4MDAxMzgwMDA=‘) ); }</script></p>

再者,我并不想任何人都能看到我的电话号码,所以还可以加点限制。比如URL带有某个参数才显示电话号码:

<p id="phone-number" style="display: none;">Phone number: <script>
if (window.atob) { document.write( window.atob(‘MTM4MDAxMzgwMDA=‘) ); }
if ( /[?&]show-phone-number(&|$)/.test(window.location.search) ) {
    document.getElementById(‘phone-number‘).style.display = ‘‘;
}
</script></p>

适配PC与移动设备

首先,通过Media query在不同的宽度下采用不同的布局。

其次,市场上Retina屏幕的设备(如大部分iPad、部分Macbook、大部分手机)越来越多,像图片这些非矢量内容在这些屏幕上会因为被拉大而失真。所以,在准备内容图片的时候,最好是做成实际显示尺寸的两倍,再通过CSS缩小。而对于装饰性质的小图标,可以用两倍大小的图片(通过background-size缩小),也可以用字体图标。这里我不建议用SVG,因为它的性能比较差,在移动设备上打开会明显地卡了一下。

最后,不要忘了贴上个二维码,方便移动设备扫码访问。

做好这一步,就可以带着iPad去面试了。

打印

其实打印机也是一种设备,按理说这部分内容应该跟上一节放一起的,但是打印设备的情况比较特殊,而且有不少坑,所以就单独作为一节。

打印设备特殊在哪呢?A4纸的尺寸是宽21cm高29.7cm,但是我用Chrome把页面存成PDF(在打印的界面可以存)之后,看到的分辨率是宽595px高842px。这到底是怎么算的呢?研究了一番之后发现这是按72ppi(Pixels Per Inch,即一英寸所含的像素数)换算的:

1in = 2.54cm

21cm / 2.54cm * 72px ≈ 595px

按照Media query的规则,这个宽度在打印的时候明显是进入了手机设备的布局。而16px大小的文字打印出来之后的大小就是:

2.54cm * 16px / 72px ≈ 0.56cm

这文字明显太大了,所以得缩:

@media print {
    body { font-size: 12px; }
}

可这缩了之后,内容相对变小,再用原来小宽度的布局就不合适了,反而是大宽度的布局更好,于是就有了这样的代码:

@media not print and (max-width: 639px) {
    /* ... */
}

然后坑来了,这里的Media query表达的并非“不是打印设备并且宽度不超过639px”,而是“不是宽度不超过639px的打印设备”。(关于这一点可以看看Mozilla的解释说明

这个小问题难不倒我们,把代码改成嵌套的Media query

@media not print {
    @media (max-width: 639px) {
        /* ... */
    }
}

本来以为问题已经解决,但是用微信扫一扫后发现样式异常。原来手机QQ浏览器的内核还不支持嵌套的Media query,顺带查了一下,IE系列全部浏览器也不支持这项特性。

被折腾地没办法了,最后乖乖地写了两个CSS:

<link href="css/style.css" media="not print" rel="stylesheet" type="text/css" />
<link href="css/style-for-print.css" media="print" rel="stylesheet" type="text/css" />

接下来再研究一下打印的样式要怎么写。首先是 @page ,可以用来修改页面容器的版式,最常用的是指定页面的尺寸及边距:

@page {
    size: A4 portrait;
    margin: 2.1cm 1.9cm;
}

其次,某些浏览器默认是不打印背景色和背景图片的,这样一来背景小图标就没了。对于Chrome,可以加上这段CSS代码强制打印背景:

body { -webkit-print-color-adjust: exact; }

再次,要处理链接。要知道打印出来之后,用手指往纸上戳是戳不开网页的。所以诸如“在线地址”、“个人博客”这样的文字链接要么隐藏,要么把链接地址也打印出来。要显示链接地址可以这么写:

a:after { content: ‘[‘ attr(href) ‘]‘; }

此外,纸质简历的篇幅不宜过长,可以选择性地隐藏一些内容。比如黑白打印的简历可以忽略图片:

最后,大家还要记住一个前提,以上这些都是不兼容IE 6、IE 7、IE 8的,但是落后的打印店可能用的还是XP系统,所以输出个PDF去打印是比较保险的。

简历做完以后

先用各种浏览器看一下有没有露馅,不过更重要的是:请阅读你的简历至少10遍。程序员的表达能力普遍不强,在这个过程中,你可以发现:

  • 各种错别字。比如把“登录”写成了“登陆”。
  • 各种错误术语。比如把“jQuery”写成了“JQuery”,把“iOS”写成了“IOS”。
  • 各种语句不通。
  • 各种表达累赘。

至于放置简历的服务器,可以用Github pages,也可以每年花¥100多租个虚拟主机

成功换工作以后

当你在新公司完成一个有价值的项目时,请及时更新你的简历。为何?因为此时你对项目的记忆最深,要是等到想再跳槽的时候再更新简历,往往在那时候忘记了项目的许多细节。

最后

附上我新版简历的截图(图大,移动网络慎开;请允许我对敏感内容打马赛克)。

出处:点我

时间: 2024-12-24 23:00:49

网页版简历制作经验分享的相关文章

简历制作经验总结

简历制作经验总结 本文转载自知乎回答,如何写一个程序员简历回答中,对其中一些注意点进行了总结,如若哪部分内容不允许转载,请联系我删除. ThoughtWorks中国 这是 ThoughtWorks中国 的一个五年HR的回答总结 一.基本格调 加分项: 简介明了,逻辑结果清晰 字体排版顺畅,清晰整齐 PDF格式 减分项: 浮夸 冗余 二.基本信息 应包括姓名.毕业院校.电话.邮箱.居住地.期望地(期望地应该是有分公司的大公司) 加分项: 清晰罗列以上信息 如有必要加上微信联系方式 减分: 大部分信

网页聊天室制作步骤分享

结合网页与Asp来实现一个简单的网页聊天室制作案例,有在线聊天.在线人员名单.在线时间等功能.在这篇教程的最后,还比较详细地介绍了Flash与Asp结合使用的平台环境和常用的调试手段. 一.原理 主要的流程是先在网页端发送一个请求到服务器端,然后等待从服务器端的返回值,当值返回网页端后,根据相应的值做相应的操作.在网页部 分,跟前面的教程一样,用到的主要都是loadVariables()函数和循环等待的技巧.在Asp部分,主要用到了global.asa文件和 application()属性,先定

两年Java程序员面试经验分享,从简历制作到面试总结!

前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. 面试 其实关于面试总结这块,我也看过不少文章,但是大部分都是关于面试题以及面试中的问题所谈.但是对于一个不擅长找工作的同学来说,其实在简历制作这一块很重要.因为简历没写好的话,连面试邀请都没,何谈面试呢.所以我准备谈谈我对简历制作这块的一些见解.如有不妥,欢迎指出! 简历制作 在写简历这方面,需要

shareTo 网页版分享

// share -------- var shareTo = function (dest, shareCode) { var appKey = "1667889534"; // 东财appkey:"3050999700" var ralateUid = "2248818320"; // 东财ralateUid: "1801487174" // 分享的链接:shareCode 追踪分享源 var url = location

Vue+Element实现网页版个人简历系统

这篇文章介绍一个使用Vue+Element实现的个人简历系统,主要用到的技术有:vue.element.css3.css定位. 作者在window10进行开发,目前只在chrome上进行过测试,没有大的毛病.但是还有很多小功能还不完善,代码也未进行优化,后续会继续完善功能,优化代码. 声明:项目相对来说就是一个纯静态页面,代码都比较简单,大佬可闭眼绕过,或者看一眼留下宝贵意见也可 一.项目介绍 本项目是一个网页版的个人简历系统,主要使用的技术为vue2+element进行实现. 个人简历系统主要

分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业不是百度来的,我只是百度了一些示例代码的意思,怎么用!算了,越解释万一越黑呢!哈哈O(∩_∩)O哈哈~) ----------------------------------------------------------------分界线------------------------------

Pongo网页版JavaScript源代码及设计思路

1.游戏背景介绍(写在前面的废话): 五月初的某天,看到某网推荐了这款游戏,Pongo,看着还不错的样子就用ipad下下来试玩了下,玩了两局感觉还错挺过瘾的,因为是手欠类游戏嘛大家懂的. 但是没一会发现游戏在ipad似乎有些bug,玩一会就会卡住然后只能强退了,真是揪心,记录还等着破呢. 怎么办?玩游戏不如玩自己的游戏的念头又邪恶的出现了,然后就把pad丢给了朋友虐心去,我默默回到电脑前开始动手自己写个不会卡的. 大概两小时吧,写出了基本框架,然后扔sinaapp里试了下效果基本能玩就洗洗睡了.

网页版截图工具上线啦

最近由于公司的一些事情再加上忙着开发完善这个网页版截图工具,所以有差不多一个星期没有和大家分享一下代码学习上的心得,就在今天也就是愚人节,终于上线了.这款网页截图工具被定义为beta版本,目前工具还存在着几个bug没有时间解决, 这些Bug会在下个版本v2.0得到解决,同时如果是有什么好的功能或者是建议的话,也希望大家在下面进行留言(大家快来做做测试工程师) 一.为什么会有这款工具? 其实这款工具在目前市面是还是比较少见的,但是为什么我会制作这款工具呢,一个原因是公司应该说是半个月前,老板想要对

基于HTML5的捕鱼达人游戏网页版

之前给大家分享了html5实现的水果忍者,愤怒的小鸟,中国象棋游戏.今天给大家分享一款捕鱼达人(fishjoy)网页版游戏的源码.可以在线玩也可以下载到本地.它使用html5技术和javascript制作而成.整个游戏的仿真度99.99%.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="outer"> <div id="middle"> <div id="container" s