<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>monkeygq (倾觞)</title>
    <link>https://ruby-china.org/monkeygq</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[北京] 百度核心搜索部图片搜索招聘工程师</title>
      <description>&lt;h2 id="架构开发工程师"&gt;&lt;strong&gt;架构开发工程师&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;工作职责 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;负责超大数据量，请求量的图片检索系统架构开发设计&lt;/li&gt;
&lt;li&gt;负责服务端检索架构优化，提升检索系统性能，容量，稳定性等&lt;br&gt;
&lt;/li&gt;
&lt;li&gt; 负责服务端架构的开发与改造，以使产品更高效的迭代&lt;/li&gt;
&lt;li&gt; 负责图片搜索相关产品数据分析平台设计、研发与应用&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;岗位要求  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;熟练掌握 python、C++、php、go 等至少一门语言，熟悉数据结构和算法&lt;/li&gt;
&lt;li&gt;熟悉 Linux 操作系统以及常用命令，具有较强的 Debug 能力&lt;/li&gt;
&lt;li&gt;熟悉网络编程/多线程编程技术，有高并发高可用的系统设计开发经验&lt;/li&gt;
&lt;li&gt;做事细心、稳重踏实，良好的逻辑思维能力，敏锐的数据洞察力，较强的总结归纳能力&lt;/li&gt;
&lt;li&gt;对搜索技术、图像和文本相关技术有强烈的兴趣，对主流开源分布式系统有研究和应用经验者优先&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="算法工程师"&gt;&lt;strong&gt;算法工程师&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;工作职责  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;超大规模图文资源挖掘、图文质量判定&lt;/li&gt;
&lt;li&gt; 深入理解与应用海量用户行为数据&lt;br&gt;
&lt;/li&gt;
&lt;li&gt; 应用机器学习、自然语言处理、深度学习等尖端技术，进行图文相关性计算与 ranking 算法开发&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;岗位要求  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; 掌握 python、C++ 等至少一门常用语言，熟悉数据结构和算法&lt;/li&gt;
&lt;li&gt;了解自然语言处理、信息检索相关知识。&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;良好的逻辑思维能力，敏锐的数据洞察力，较强的总结归纳能力&lt;/li&gt;
&lt;li&gt;良好的团队合作精神，敢于接受挑战&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;对图像和文本相关技术有强烈的兴趣，并具备一定的相关项目经验优先&lt;/li&gt;
&lt;li&gt;熟悉 NLP、CTR 模型或者 Rank 模型涉及的相关基础技术&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;工作地点：北京百度科技园，
简历投递：houguanqun@baidu.com&lt;/p&gt;</description>
      <author>monkeygq</author>
      <pubDate>Wed, 17 Apr 2019 14:59:29 +0800</pubDate>
      <link>https://ruby-china.org/topics/38418</link>
      <guid>https://ruby-china.org/topics/38418</guid>
    </item>
    <item>
      <title>心疼自己，Ruby 程序员-1</title>
      <description>&lt;p&gt;大疆校招终面后等了一个月，等来了终面未通过，心很痛！&lt;/p&gt;

&lt;p&gt;自己感觉终面的问题回答的还可以，但是欢声笑语中打出 gg，可能还没有达到大疆的要求吧。&lt;/p&gt;

&lt;p&gt;估计要去写 C++ 了，Ruby 程序员新鲜血液 -1。&lt;/p&gt;

&lt;p&gt;我是北京终面第一天中午面的后台开发，最后问了大疆是不是要用 elixir，如果我的面试官能够看到帖子并且对我有印象并且能够告诉一下不足就太好了，另外感谢&lt;a href="/jasl" class="user-mention" title="@jasl"&gt;&lt;i&gt;@&lt;/i&gt;jasl&lt;/a&gt;的内推。&lt;/p&gt;</description>
      <author>monkeygq</author>
      <pubDate>Thu, 26 Oct 2017 09:05:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/34432</link>
      <guid>https://ruby-china.org/topics/34432</guid>
    </item>
    <item>
      <title>对 ActiveSupport::Concern 中 append_features 的疑问</title>
      <description>&lt;p&gt;结合《Ruby 元编程》的例子写了如下代码，有几点疑问，感谢解答：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;为什么 Concern 中的 append_features 会执行三次&lt;/li&gt;
&lt;li&gt;链式包含问题如代码这样理解是否正确&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Concern&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extended&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"extended:self=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,base=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instance_variable_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:@_dependencies&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[])&lt;/span&gt; 
  &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;append_features&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instance_variable_defined?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:@_dependencies&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instance_variable_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:@_dependencies&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;
      &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"if:self=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,base=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,@=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instance_variable_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:@_dependencies&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;
      &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"else:self=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,@_dependencies=&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="vi"&gt;@_dependencies&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
      &lt;span class="vi"&gt;@_dependencies.each&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;dep&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dep&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="k"&gt;super&lt;/span&gt;
      &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt; &lt;span class="nb"&gt;const_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:ClassMethods&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;const_defined?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:ClassMethods&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;end&lt;/span&gt; 
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Myc2&lt;/span&gt;
  &lt;span class="kp"&gt;extend&lt;/span&gt; &lt;span class="no"&gt;Concern&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;m3&lt;/span&gt;
    &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"Myc2 instance method"&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;ClassMethods&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;m4&lt;/span&gt;
      &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"Myc2 class method"&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;end&lt;/span&gt; 
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Myc1&lt;/span&gt;
  &lt;span class="kp"&gt;extend&lt;/span&gt; &lt;span class="no"&gt;Concern&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Myc2&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;m1&lt;/span&gt;
    &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"Myc1 instance method"&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;ClassMethods&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;m2&lt;/span&gt;
      &lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="s2"&gt;"Myc1 class method"&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt; 
  &lt;span class="k"&gt;end&lt;/span&gt; 
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Mytest&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Myc1&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="s2"&gt;"extended:self=Concern,base=Myc2"&lt;/span&gt;
&lt;span class="s2"&gt;"extended:self=Concern,base=Myc1"&lt;/span&gt;
&lt;span class="s2"&gt;"if:self=Myc2,base=Myc1,@=[Myc2]"&lt;/span&gt;
&lt;span class="s2"&gt;"else:self=Myc1,@_dependencies=[Myc2]"&lt;/span&gt;
&lt;span class="s2"&gt;"else:self=Myc2,@_dependencies=[]"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>monkeygq</author>
      <pubDate>Sat, 25 Feb 2017 17:00:08 +0800</pubDate>
      <link>https://ruby-china.org/topics/32382</link>
      <guid>https://ruby-china.org/topics/32382</guid>
    </item>
  </channel>
</rss>
