ava對圖片Base64編碼
package base64;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
import javax.imageio.ImageIO;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class imageToBase64 {
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in) ;
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 歡迎使用W_Jp的Base64編碼 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("輸入圖片地址:");
String path = scanner.next() ;
if(!getImageBinary(path).equals(""))
{
System.out.printf("\n" + getImageBinary(path) + "\n\n");
System.out.printf("是否導出內容?(Y/N):");
String boo = scanner.next() ;
if(boo.equals("Y") || boo.equals("y")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 1.導出現Base64編碼到TXT文檔 **\n");
System.out.printf("\t\t** 2.導出Base64解碼后的png圖片 **\n");
System.out.printf("\t\t** 3.同時操作以上兩個 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("輸入您的選擇:");
boo = scanner.next() ;
if(boo.equals("1")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.txt **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("輸入Base64編碼的導出地址:");
String toTxtPath = scanner.next() ;
if(base64StringToTxt(getImageBinary(path), toTxtPath).equals("success")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 導出成功 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
} else if(boo.equals("2")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.png **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("輸入解碼后圖片的導出地址:");
String toImgPath = scanner.next() ;
if(base64StringToImage(getImageBinary(path), toImgPath).equals("success")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 導出成功 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
} else if(boo.equals("3")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.txt/wjp.png **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("輸入導出地址(兩個文件都會在這個目錄下):");
String toBothPath = scanner.next() ;
base64StringToImage(getImageBinary(path), toBothPath);
if(base64StringToTxt(getImageBinary(path), toBothPath).equals("success")){
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 導出成功 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
} else {
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 您輸入的編號無效!!! 程序意外退出了!!! **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
} else {
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
}
}
static String getImageBinary(String path){
File f = new File(path);
BufferedImage bi;
try {
bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
// e.printStackTrace();
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
return "" ;
}
static String base64StringToImage(String base64String, String path){
try {
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
BufferedImage bi1 =ImageIO.read(bais);
File w2 = new File(path + "/wjp.png");
ImageIO.write(bi1, "jpg", w2);
} catch (Exception e) {
// e.printStackTrace();
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
return "err" ;
}
return "success" ;
}
static String base64StringToTxt(String base64String, String path){
File filename = new File(path + "/wjp.txt");
RandomAccessFile mm = null ;
try {
mm = new RandomAccessFile(filename,"rw");
try {
mm.writeBytes(base64String);
} catch (IOException e) {
//e.printStackTrace();
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 寫入失敗 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
return "err" ;
}
} catch (FileNotFoundException e) {
//e.printStackTrace();
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** 創建txt失敗 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
return "err" ;
} finally {
try {
if(mm!=null){
mm.close();
}
} catch (IOException e) {
//e.printStackTrace();
System.out.println();
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** RandomAccessFile關閉失敗 **\n");
System.out.printf("\t\t*********************************************\n");
System.out.printf("\t\t** Thanks!!! **\n");
System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");
}
}
return "success" ;
}
}
HTML對Base64解碼
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title></title>
<script type="text/javascript">
//hideElement() , showElement()
function hideElement(id){
document.getElementById(id).style.display="none";
}
function showElement(id){
document.getElementById(id).style.display="";
}
function wjp(id){
if(id == 1){
var values = document.getElementById("code").value ;
var str = "<span><img src=\"data:image/gif;base64," + values + "\"/></span><br />" ;
showElement("div2") ;
hideElement("div1") ;
document.getElementById("insert").innerHTML = str;
}
if(id == 2){
showElement("div1") ;
hideElement("div2") ;
document.getElementById("code").value = "" ;
}
}
</script>
</head>
<body>
<center>
<div id="div1">
<h2 style="color:red;">W_Jp Base64解碼</h2>
<textarea rows="20" cols="100" id="code"></textarea>
<br />
<input type="button" value="轉碼" onclick="wjp(1)"/>
<br /><br /><br /><br /><br />
</div>
<div id="div2">
<h2 style="color:red;">W_Jp 給您的結果</h2>
<label id="insert"></label>
<input type="button" value="繼續轉碼" onclick="wjp(2)"/>
</div>
</center>
<script type="text/javascript">
showElement("div1") ;
hideElement("div2") ;
</script>
</body>
</html>
繼續給大家一組測試數據,嘗試用我的HTML代碼試試,看看能不能顯示出圖片
/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAJoAMgDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rS2K
aLpwCJzaoTlQf6VLPfwW3lfaJ7WLzZBFH5iqodz0UZ6k+lRWIH9k6eD2tlJFcX4m05obnT7jWTba
tLf30OniKSApFbwyA7zEu8kSErneST0Axisbu+5r0O+81t4BWMe3lr/hUUV/BNPLBHNbPNAAZo1C
Fo9wyu4dRkcjPWs7T4LnR7GRdR1Rbq2t/wDVzzR7JFjGT+8fdhiBj5sL0JOc1xvhzU7yHxU2sXsC
w6d4lOy2LIVZDEMRB8naC6ZxgtuOMYFK77hoegHVLVXuEa5sw1soa4XKZhBG4F/7owM89qmgulni
iliaGSKRdyuiqQw7EEDkGvLPiPpjXHiO3MxtpYrmxmED3G5PsrRAO7ExrucBQdoJb5mbjHBi8H6b
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
4f7zf98H/CiiijmYWP/Z
一些字符在 HTML 中擁有特殊的含義,比如小于號 (<) 用于定義 HTML 標簽的開始,所以有時候直接在頁面中書寫的話,會產生意想不到的結果。如果我們希望瀏覽器正確地顯示這些字符,我們必須在 HTML 源碼中插入字符實體。
字符實體有三部分:一個和號 (&),一個實體名稱或者 # 和一個實體編號,以及一個分號 (;)。
要在 HTML 文檔中顯示小于號,我們需要這樣寫:< 或者 <
使用實體名稱而不是實體編號的好處在于,名稱相對來說更容易記憶。而這么做的壞處是,并不是所有的瀏覽器都支持最新的實體名稱,然而幾乎所有的瀏覽器對實體編號的支持都很好。
注意:實體對大小寫敏感。
空格
空格是 HTML 中最普通的字符實體。
通常情況下,HTML 會裁掉文檔中的空格。假如你在文檔中連續輸入 10 個空格,那么 HTML 會去掉其中的9個而只顯示1個。如果使用 就可以在文檔中增加空格。
以下就羅列下html頁面能使用到的字符實體
顯示結果 | 描述 | 實體名稱 | 實體編號 |
空格 |
|
| |
< | 小于號 | < | < |
> | 大于號 | > | > |
& | 和號 | & | & |
" | 引號 | " | " |
' | 撇號 | ' (IE不支持) | ' |
顯示結果 | 描述 | 實體名稱 | 實體編號 |
¢ | 分 | ¢ | ¢ |
£ | 鎊 | £ | £ |
¥ | 日圓 | ¥ | ¥ |
§ | 節 | § | § |
? | 版權 | © | © |
? | 注冊商標 | ® | ® |
× | 乘號 | × | × |
÷ | 除號 | ÷ | ÷ |
學畢業當了一年多的音樂老師后, 曾就讀于華北地區某二本院校音樂教育專業的李娟決定轉行,“到了社會上,發現計算機行業崗位多、好的公司也多,就花一萬多報了家培訓機構,學習java轉去做后端。”
文科生轉為碼農、程序員被稱作“文轉碼”。今年5月,某大型招聘平臺發布《2023大學生就業力調研報告》,其中一項核心發現為:深造畢業生“文轉碼”意愿強,但“缺乏基礎”是最大障礙。
上述報告分析,當前數字經濟成為經濟發展的新動能,掌握數字技能的畢業生在就業市場上更具有優勢,因此“文轉碼”成為熱議的現象。
社交媒體上,以“文科零基礎轉碼”“純文科轉碼上岸”“國內文科生轉碼路徑”等關鍵詞為主題的經驗分享不勝枚舉,成百上千的點贊、評論和收藏量似乎映射出“文科生轉碼或成趨勢”。
1158萬,今年,再創新高的高校畢業生人數讓社會對大學生就業愈加關注。在嚴峻的就業形勢下,對文科生而言,“轉碼”能否為他們描繪出新的職業發展前景?當一名文科生決定踏進“轉碼”賽道,需要做好哪些準備、應對哪些挑戰?
觸“碼”的動因
今年9月,邱雨將赴香港攻讀語言學碩士,方向為計算語言學、語音識別 、以及NLP(自然語言處理)。她就讀于華北地區某211高校小語種專業,是2023年本科應屆畢業生,大學期間,她決定轉碼。“我覺得傳統文科不太好就業。”
申請讀研學校的時候,邱雨瀏覽了各目標院校網站對畢業生就業去向的介紹,又到招聘平臺了解語言學相關的崗位,最后對技術產品經理產生了興趣。在她看來,應聘技術崗尤其是算法崗,計算機科班生的競爭已經很激烈;她現在的實習、未來找工作,都聚焦在技術產品經理崗,認為這是基于教育背景和學習經歷、理性的思維模式以及自身能力做出的更合適選擇,“雖然嚴格來說不屬于程序員,但我覺得和‘碼’是脫不開關系的。”
從銷售轉型為程序員,蘇蒙用了差不多一年時間。2018年,他從東北一所普通本科院校的工商管理類專業畢業,入職了大連某快消品公司,負責客戶維護工作。在他看來,這份工作的天花板比較低,大連的物價和房價又相對較高,好的工作機會卻很少。“考慮到這座城市的IT行業還算熱門,第二年10月,我開始關注轉行。”
瀏覽了當地IT類企業技術崗的用人需求后,蘇蒙在網上查找視頻了解學習方向,也向從事開發的大學同學請教,經過一個月的前期摸索,他為自己做好了規劃:用六個月時間完成轉碼。“當時想著花半年去學后端,但其實那段時間學習的只是基礎,實際學習時間延長到了一年左右。”
網易數讀曾在多個“轉碼”相關的豆瓣小組、共2451條帖子里爬取過數據,結果顯示,文科轉碼的熱度指數以100.00問鼎,其次為商科和生化環材等學科;好就業、想出國、工資高是轉碼者們的主要考量原因。
今年5月9日,國家統計局發布2022年城鎮單位就業人員平均工資數據,指出過去一年里,在城鎮非私營單位中,收入最高的為信息傳輸、軟件和信息技術服務業,從業人員年平均工資達22.04萬元,在19個行業門類中位居首位。6月上旬,麥可思研究發布的《2023年中國本科生就業報告》也表明,2022屆本科畢業生10大高薪專業,幾乎都被與IT緊密相關的計算機類、電子信息類專業占領,前三名分別為信息安全、信息工程以及數據科學與大數據技術。
麥可思對2022屆本科畢業生畢業半年后的月收入及其專業調研情況表。圖/麥可思研究
但也并非所有文轉碼者都出于“找到更好工作”的目的。文學類專業大三在讀生章瀟坦言,計算機行業在國內的吸引力是他轉碼的原因之一,但更主要的,是他發現所學專業不太能滿足自己的需求。當他大一下學期想更換賽道時,已經錯過了轉專業時間,于是,他選擇了輔修計算機技術與科學。“我的初衷不完全為了高薪,在本專業,我能一眼看到未來,從入學老師就告知我們,大部分同學會去考研、考公或者當老師。”
李星是受訪者中最受“興趣”推動的轉碼者。目前,她就讀于華東地區某985高校中文系研二年級,轉碼的主要契機始于大二下學期時,她在書上看到了“計算語言學”的概念,并對此產生了濃厚興趣。“于是我決定去學計算機,更傾向于涉足交叉領域,因為我本人不太喜歡只做純文科的東西。”
本專業的學分壓力使得李星無法再抽時間去修計算機的所有課程,她查資料了解了計算語言學方向的必學內容是哪些,自學了python、數據結構、計算機組成原理等,也選修了學校的一門課程。“后來保研我還是選擇留在本校中文系,不過已習慣于用計算機技術做科研。”
“8小時學習制”
剛進入研究生階段,李星就正式轉型了。在導師有關如何設計更好的交互模式促進二語習得的項目中,她對前端的興趣越來越大,便將前端開發確定為發展方向,且基于統計學和計算機語言,完成發表了兩篇文章。
李星的轉碼基本都靠網絡自學,集中學習在研一學年,滿打滿算用了4個月,每天6-8小時,掌握JavaScript、html、css、Vue、React、TypeScript等相關知識,數據結構等內容也不能落下。“感覺確實挺困難的,如果我沒有這么強大的興趣、或者沒有從大二接觸一些相關內容的話,轉碼會是件非常痛苦的事情。”
李星覺得,作為沒有體系化計算機學習背景的文科生,想要實現一個步驟,需看書或者上網大量查閱資料,不熟悉語法就容易敲錯代碼。“大家可能經常看到‘優雅的代碼’這一說法,其實代碼是可以精簡的,只要把它的邏輯想通,就不需要頻繁賦值或者開一個變量,但對當時的我來說,這種轉換是很緩慢的。”
邱雨也提到了“8小時學習制”,大三上學期,她就跟著網課自學python和一些數據科學方面的課程,同時通過實習公司的內部培訓學習處理方法、語義理解和操作邏輯,具體方向為語音識別。“那段時間,因疫情居家的我除了學碼就沒有別的事了,每天起碼要用8小時聽課、刷推送、看書、練習,遇到問題就上csdn論壇或者找計算機專業的朋友請教,堅持了大半年,投入時間和精力超過了本專業的學習。”
但章瀟的網課之路顯得更為艱難。覺得輔修專業課老師講授的理論可以吸收,他又找到加州大學伯克利分校的經典課程——CS61A,“它教我們使用python去探索和理解諸如‘遞歸’等很基礎的計算機概念,看視頻還行,但課上測試和課后大作業都非常難,向網友請教對我來說不太夠用。”他用一個暑期加一個學期、每天一兩個小時的時間去學習,實際產出卻很少,“學的東西就像是屠龍術,我產生了強烈的挫敗感。”
同樣陷在產出困難里的蘇蒙選擇了借助外力。起初,他在業余時間跟著視頻寫代碼,越到后期涉及到框架搭建的內容時,他不太能憑一己之力找出bug(缺陷、漏洞、故障等)的問題所在,“說實話難度挺大的,即便很小的問題我都要摸索很久,當時給自己定了4小時未解決就跳過的時限,這自然會影響一個項目的完整性,我也有過放棄的想法。”
后來,蘇蒙找到某知名軟件公司旗下的一家培訓機構,以2萬元的價格購買了三個多月的線下班,并辭職學習,上課時間為每個工作日的早上9點到下午5點。和他同班的學生大概二三十人,有工作了幾年的、也有沒畢業的,有計算機專業的、也有非科班生。在如今的蘇蒙看來,培訓班的授課內容基礎、速度緩慢,知識點與網絡視頻大同小異,并且體系老舊,難以銜接市面上要用到的技術,“不過,報班的好處就是能有人協助解決實操中遇到的困難,提高寫碼效率。”
記者咨詢了千鋒、傳智、中公、達內等職業教育培訓機構,對方均表示未按文理科背景統計過學員數據。記者又以學員身份致電兩家頭部機構,雙方都提到學員里“很多是零基礎轉行”,其中一位課程規劃老師小塔說:“我的學生有學幼師、土木、法律、金融、漢語言文學等專業的,文科生不少,IT企業重學歷多于專業,所以非科班沒有關系。”她談及,在機構目前的學碼者中,來自計算機類專業和非計算機專業的學員占比分別為40%和60%,“敲代碼更加考驗的是邏輯,就看你能不能下功夫了。”
“轉碼”路上的成功與失敗
通過“曲線救國”的方式,邱雨如愿進入某知名科技公司做技術產品經理的實習,達成內心的轉碼目標。
“雖然專業背景是純文科生,但我找實習還挺順利的,因為我跨領域的幅度不算很大,而且語言學+計算機的雙重積累非常符合崗位要求。”實際工作中,她遇到的困難主要跟數據抓取有關,這需要她寫代碼接入平臺;有時她會想,如果技術能力再強一點,主管應該會派出更重要的任務,自己也能從中學到更多。
邱雨在社交平臺分享的轉碼經驗得到725個點贊和896份收藏。網絡截圖
章瀟的“轉碼”之路則不太順利。兩年過去,他輔修的專業已進入畢業設計階段,他將自己定義為轉碼失敗者。
暑期臨近,章瀟在投遞實習簡歷的同時摸索著新方向,“我沒有非要做技術的想法了,因為我只寫出過小游戲,履歷上沒有項目,短期內幾乎找不到面向計算機科班生的崗位。”嘗試大中廠(大、中型互聯網公司)的前端和框架設計師崗無果后,他主要向互聯網企業、媒體單位的運營崗發出了十余份簡歷。在等待回復中,章瀟開始審視自己到底更擅長和需要什么。
“中小廠的程序員崗位反而比較排斥非科班人員,培養新人對其而言壓力和風險較高;大廠則有更富裕的時間和資源,但看重應聘者的學歷。”這是李星在求職過程中的發現。最近,她入職了一家大廠的非熱門部門做前端崗實習。
此前,簡歷上只有一段小廠實習經歷的她沒能通過大廠主管面試,也去不了中小企業,“既消沉又焦慮,心想要不就不轉了,回原專業讀博吧。”在準備第三篇文章的時候,李星突然被“撈”了起來,三個面試官流露出對她的喜歡。“我能拿到這個大廠的offer,也跟上段實習做的偏3D交互方向的項目有關,當時用到了three.js封裝庫,面試我的團隊正好也需要會這一技術的人。”李星分析道。
“之前接觸過從文科轉來做程序員的,其實我們不介意這點。”某大型網絡媒體公司HR告訴新京報記者,文轉碼的應聘者能否順利入職,主要取決于業務組成員的態度;互聯網企業里做算法比較厲害的團隊,會比較介意從外行轉入算法的候選人。
愈發激烈的崗位競爭
培訓班結課后,李娟瞄準后端崗投遞求職簡歷。她發現,現在的市場對本科以下學歷者已經不太友好了,“我們班里的專科生,找工作會很困難。”
該說法在小塔老師和另一家頭部培訓機構招生老師小蓓處均得到印證,兩人多次向記者強調,本科及以上學歷是學習轉碼的優勢。小塔舉例說,機構對想要學java的學員,背景要求是大專計算機專業或者本科不限專業,學python、人工智能則必須是本科。“學歷是第一位,然后最主要的是提升技術,這行就是靠經驗積累慢慢走。”
小蓓所在的機構對學員亦有背景要求,“大數據開發、人工智能須本科學歷,計算機、統計學、數學專業的會更好;前端、后端這些崗位就不怎么限制專業了。”但她個人不建議專科及以下學歷者再去學前端、測試、數據分析這類門檻相對更低的轉碼方向,“就業難度比較大,除非你不在乎工資。”小蓓補充說,從去年8月畢業班的求職情況來看,北京地區的招聘要求“突然”提高了,IT企業對學歷和年齡都卡得比較嚴,部分大專和中專學員去往了成都、沈陽等新一線或二線城市工作。“后端還稍微好一點,畢竟它屬于核心技術點。”
一位不愿具名的業內人士透露,此前受疫情影響,就業比較難,所以程序員崗位的競爭非常激烈。“企業的用人條件高,需要有經驗,還可能要求本科也是計算機專業,行業狀況是變得難了些。”
“我的求職還算順利。”結束了培訓機構的學習,蘇蒙在半個月里以平均每天兩三場的頻率參加程序員面試,坦誠說明自己文科生的背景,并未察覺到面試官有顧慮,之后,他到北京開啟了新的職業生涯。“我在北京待了不到兩年,從初級開發做起,供職過三家公司。”閑暇時,蘇蒙會繼續看視頻學習開發技術,工作遇到困難就上網搜索或者詢問組員,“問題多是常態,所以就得加班。隨著越來越熟練,月薪從七八千漲到兩萬,但因為在北京留不住,去年9月我又回到了大連。”
有了一線城市的工作經歷,蘇蒙在大連找工作優勢明顯,他入職了一家公交產業相關的科技公司工作至今,做全棧開發工程師,月入約一萬五。他也注意并感知到越來越多的人正在涌入“碼”賽道,“導致行業更卷了,這就需要掌握更多知識,哪怕是工作中用不到的,面試時也要答得上來。”
每年的10月24日是廣大程序員的共同節日。1024是2的十次方,二進制計數的基本計量單位之一。寓意程序員就像是一個個1024,以低調、踏實、核心的功能模塊搭建起這個科技世界。圖/IC photo
專家建議不要追熱度盲目“轉碼”
在蘇蒙看來,文科生想要轉碼,首先得看有無興趣,前期的基礎都學完了才能做開發,而理論學習是很枯燥的;其次,不宜一開始就花錢報班,可以先通過免費的網絡視頻了解相關知識,“有的人可能并不適合這個工作,它不需要數學有多好,但對推理邏輯能力有較高要求。”
李星也認為,“文轉碼”者須具備比較強的邏輯能力和抽象能力,但更需要提前考慮的,是自身是否具備毅力和平穩的心態,不會因為寫不出程序而產生很大的情緒波動或者畏難心理;還要有充足的時間。“我們本專業的就業率其實挺高的,我很難說去當程序員就一定比同學們考公考編考教師走得好。”她提到,除了AIGC(人工智能生成內容)等少數方向,今年前端的形勢不算明朗,很多公司希望前端員工也能承擔一些后端內容,“所以是否轉碼一定要想清楚,我的規劃是把這份大廠實習當作平臺,跟著全棧的趨勢往前走。”
那么,對于缺乏核心技術、在就業市場中競爭力不強的部分文科生群體而言,轉碼會是一個好的選擇嗎?
“我覺得不應該用好壞來做主觀判定,而要用適不適合的客觀標準來檢驗。”中國教育科學研究院研究員儲朝暉談及,上大學之前,很多學生不知道自己的潛能在何處,報專業具有一定盲目性,不排除有部分文科生經過編程訓練成為了碼農,“他們是勝任還是轉行,通常兩三年就能見分曉。一個人只有做自己優勢所在的工作,才能更有利于整體的成長發展。”
儲朝暉不建議對“碼”沒興趣、沒潛能的文科生匆忙轉碼,他認為青年人更應該在復雜艱難的環境中認識自己,與社會需求相匹配,“這是一個基本且關鍵的邏輯。”
在職業發展經紀人佟志剛看來,“文轉碼”存在一定的偶然性,小眾行為普遍化,與培訓產業鏈的助推密不可分。“適合去做程序員的文科生數量太有限了。從客觀理智的角度講,市場上本身就有符合文科生素質的崗位,且文科生整體具備比較突出的語言表達能力和跳躍交互的思維,為什么要去相對不那么擅長的領域呢?轉碼并不是大多數文科生應對就業難題的最佳選擇。”他解釋道,固有的邏輯思維習慣和底層知識結構很難讓文科生在程序員崗位上走得遠,涉及到最純粹的技術討論時,文科生存在感變弱,時間一長容易傷害自尊心,“缺乏復雜思考、只是停留在應用層的技術好比砌磚,技術是不斷更新的,學習也要觸達核心。”
佟志剛表示,年輕人在進行職業規劃時,要考慮自己的思維習慣或者專業背景;畢業后沒能從事理想工作,有時候不是專業的問題,而是學生本身欠缺一些垂直的專業技能和綜合素質。他建議大學生應多培養自己通用型的思維能力,提高理智性。
對于不喜歡所讀專業或者覺得專業不適合的大學生,儲朝暉建議,如果轉專業失敗,還可以在空余時間盡量尋找和擴大自己的愛好與優勢,抓住考研或者求職的機會,把優勢發展起來。佟志剛則認為,“他們從一入學就缺少了對大學生活的準確認知。”他強調,上大學不僅是為了學一門專業,更多時候是在提升思維、開闊眼界,除了享受青春時光,大學生更要為未來提前做規劃和準備,比如了解就業市場上適合文科生的崗位有哪些、需要滿足什么條件,“車到山前必有路是很多學生存在的思維惰性。”
儲朝暉和佟志剛都不贊成追熱度、隨大流的心態。佟志剛提醒,無論何時,都不應該放棄自我思考;此外,尊重國內就業環境,避免擺出過高姿態。“文科生不必妄自菲薄,文字功底、藝術文學積累、市場化的策劃能力等等,都是技術,只是和理工科造出一輛車、架設一座橋的技術角度不同罷了。”
(為保護受訪者隱私,除儲朝暉和佟志剛外,文中人物均為化名)
新京報記者 羅艷
編輯 繆晨霞 校對 柳寶慶
*請認真填寫需求信息,我們會在24小時內與您取得聯系。