信心满满的去面算法工程师,竟然凉了...

640?wx_fmt=gif


我是小A,一个没能当成算法工程师的菜鸡Java工程师,内心却等着上AI这趟车。

 

去年正是人工智能火热的时候,看着各种高薪招聘,我沉寂很久的内心也火热起来了。但是想归想,我内心还是有很多纠结的。

640?wx_fmt=gif

自己已经很多年没有碰过高数线代概率论,“刚毕业的本科生也能年薪50万”这样的话看着心动,但又觉得不会那么容易。


身边转型的朋友倒是越来越多,想来想去,我决定自己先自学一番。我瞄准了算法工程师里最火的推荐算法,毕竟开源资料多如牛毛,有啥不懂,Google一下,问题全解决。


在撸完西瓜书、统计学习方法后,自己动手刷了刷天池的新人赛。但是成绩一直很一般,却不知该如何下手。

640?wx_fmt=jpeg

前辈说,不能等着什么都学会了,才去找工作,不然黄花菜都凉了。于是,我鼓起勇气,就拿现有的项目试试看吧。一顿海投之后,还真有收到不少面试邀请,其中还不乏行业老大!我的求职之路start!

 

面试那天早上在电梯里碰到了同一层下的哥们,凑过去套近乎发现是面同一岗位的竞争对手。不过是从化学专业转过来的,对自己多了点信心,感觉offer有点稳!


 640?wx_fmt=jpeg

回顾下面试的情况:

一面只是简单问了下个人情况,二面的技术面竟然是我和电梯那位小哥一起。

不过之前了解了些情况,对自己还是很自信的,强调了自己的Java背景,什么转型上手快啊、学习能力强。面试官听完自我介绍开始对我俩提问了。


面试官:推荐系统有哪些处理方式?

我 :(这还不简单,早背下来了)基于内容推荐、协同过滤、矩阵分解与隐语义模型

面试官:嗯,好

帅哥:还有word2vec行为序列建模

面试官点点头。


面试官:小A,你来说说基于内容的推荐是怎么做的

我:对文本做表示(简单的主题词提取、词袋模型表示、TF-IDF向量表示),再匹配距离。

面试官转向小帅哥:协同过滤有哪几种?它的基本原理是什么?

帅哥:两种,基于用户的协同过滤推荐,基于物品的协同过滤推荐。协同过滤就是一种基于近邻的推荐算法。

面试官点点头。


面试官:那么你们各自最常使用的是哪种?说说理由吧。

我(抢答):最常使用的是基于物品的协同过滤。原因是物品相似度的稳定度高,而且可以给出可理解的解释

帅哥:同意


面试官:实际应用时,有新数据会遇到冷启动问题,你一般怎么解决这个问题

我:(卧槽!他说的是啥?)额···

帅哥:基于内容的推荐可以一定程度缓解冷启动问题,还是就是要采集信息了

面试官低着头,抬了抬眉毛。


面试官:TF-IDF计算方式,表示成向量以后,相似度计算的度量准则有哪些?

帅哥:两个部分term frequency和inverse document frequency,计算后作乘积。度量标准有cos距离,pearson相似度,Jaccard相似度等

我:······


面试官:你会用word2vec对用户行为序列进行建模,了解word2vec的模型结构吗?层次化softmax和负例采样分别是什么样的?

帅哥:是一个不带隐层的分类器,比如CBOW就是用窗口内周边的词去预测中间词,因为尾部的类别(词表大小)很多,所以需要用一些方式去优化,比如层次化softmax是构建了一颗哈夫曼树,然后把平铺开的多分类转成类似多次二分类;negative sampling是采样一部分非positive的类别构建分类器。具体的图是这样的...

我:······


面试官:换个领域吧。能写一下SVM的原理公式吗?

帅哥:拿起笔洋洋洒洒

我:······

 

一如我当初的预料,面试呈现碾压态势,只不过是小帅哥碾压了我.......


我不记得最后那十几分钟是怎么度过的,只恨没有一个洞给我钻进去,什么算法工程师刚毕业也能做,不懂数理啥都做不了!


出门时我很不甘心的问:你咋这都懂呢?你不是化学专业出身吗,咋比我这个程序员还程序员?


小帅哥答:一开始我也遇到过你这种情况,并不理解算法背后的原理和数学知识,说来有点惭愧,面试不知道失败多少次才下定决心改变。朋友推荐我去学习网易微专业的机器学习工程师和人工智能数学基础,我才彻底跨进了人工智能的大门,虽然路还很远,不过总算找到正确的方向了。


听了小帅哥话,我心态有点不好,小帅哥说网易云课堂还经常有免费的直播课和体验课,我可以先看免费的课程体验下,再看看自己是不是合适,我觉得小帅哥讲的还挺有道理。


免费的直播时间是:

8月8日 20:00-21:00


直播课主题及大纲:

《AI数学的庖丁解牛:思想与原理的双重破解之道》

① 数学是人工智能的稳固基石

② 简单如线性回归,还跟AI有关系?

③ 线性回归算法拆解,帮你回忆高数线代!

④ 获取最优解的套路:梯度下降

⑤ 带你手推公式浪一把


直播讲师:

Jason博士,澳大利亚数据机构研究员

640?wx_fmt=png


免费体验课:

《人工智能数学基础》

① 为什么说学人工智能之前必须先学数学

② 大学数学知识复习(高数、线代、概率论)

③《人工智能数学基础》微专业课程试学


免费资料包:

640?wx_fmt=jpeg


领取方式:

扫码加入QQ群即可获取所有免费福利,群号:851925535

640?wx_fmt=jpeg

每次信心满满的做个项目在开始都会出现各种错误。。

06-17

先准备用servlet+jsp写,但就在第一步,就报错了rnDAOUtilrn[code=java]package ffn.util;rnrnimport java.sql.Connection;rnimport java.sql.DriverManager;rnrnpublic class DAOUtil rn public static final String URL="jdbc:mysql://localhost/ffn?useunicode=true&charset=utf8";rn public static final String USER="root";rn public static final String PASSWORD="111111";rn private static Connection connection = null;rn public static Connection getConnection()rn try rn Class.forName("com.mysql.jdbc.Driver");rn connection=DriverManager.getConnection(URL,USER, PASSWORD);rn catch (Exception e) rn e.printStackTrace();rn rn rn return connection;rn rnrn[/code]rn其中的一个FoodDAOrn[code=java]package ffn.dao;rnrnimport java.sql.Connection;rnimport java.sql.PreparedStatement;rnimport java.sql.ResultSet;rnimport java.sql.SQLException;rnimport java.util.ArrayList;rnimport java.util.List;rnrnimport ffn.entity.Food;rnimport ffn.util.DAOUtil;rnrnpublic class FoodDAO rn public static Connection connection;rn private static ResultSet rs;rn public static List getFoodList()rn ArrayList list=new ArrayList();rn try rn connection=DAOUtil.getConnection();rn PreparedStatement ps=connection.prepareStatement("select * from food");rn rs=ps.executeQuery();rn while(rs.next())rn Food food=new Food();rn food.setId(rs.getInt(1));rn food.setName(rs.getString(2));rn food.setDesc(rs.getString(3));rn food.setPic(rs.getString(4));rn food.setShopId(rs.getInt(5));rn food.setPrice(rs.getDouble(6));rn list.add(food);rn rn catch (SQLException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn return list;rn rn /**rn *在本类测试没问题呀,可以查询,可以打印rn */rn public static void main(String[] args) rn FoodDAO dao=new FoodDAO();rn List list=dao.getFoodList();rn for(Food food:list)rn System.out.println(food.getName()+":"+food.getDesc());rn rn rnrn[/code]rn然后我就准备把这个FoodDAO放到servlet里面去了..rn[code=java]package ffn.servlet;rnrnimport java.io.IOException;rnimport java.util.List;rnrnimport javax.servlet.ServletException;rnimport javax.servlet.http.HttpServlet;rnimport javax.servlet.http.HttpServletRequest;rnimport javax.servlet.http.HttpServletResponse;rnrnimport ffn.dao.FoodDAO;rnimport ffn.entity.Food;rnrnpublic class IndexServlet extends HttpServletrn private static final long serialVersionUID = 1L;rnrn public void service(HttpServletRequest request, HttpServletResponse response)rn throws ServletException, IOException rn List list=FoodDAO.getFoodList();rn for(Food food:list)rn System.out.println(food.getName()+":"+food.getDesc());rn rn request.getRequestDispatcher("/WEB-INF/jsp/main/index.jsp").forward(request, response);rn rn rn rnrn[/code]rn然后,启动项目.../ffn/index.do 进入上面那个servlet,报错了,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,可能写的有点多,其实都是基本代码,就是搞不清楚为什么在本类测试可以,在外面就报错了。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试