天外天工作室面试指南 - 2019 秋



  • 天外天工作室技术方向面试指南

    Hi,欢迎报名天外天工作室。为了能让你在面试中充分发挥出你的实力,我们特意准备了这一份「面试指南」。 希望你能在面试前仔细阅读本指南中与你所报名组别相关的内容,并做好相关的准备。天外天期待着你的加入!


    通用部分 (请所有报名同学阅读此部分)

    相信不少同学会有这样一个疑问,面试前需要准备些什么呢?这里为大家写出了面试各组别都需要准备的东西内容。

    1. 了解所报名组别的基本用途、所用语言、发展趋势等。

      对自己要报名的组别有基本的认识,不至于在面试中一头雾水、无话可答。

    2. 复习或预习相关的基本知识
      如果你提前接触过相关语言,但不太熟练,可以先翻出相关的资料进行复习。

      如果你完全没有相关经历,可以在网上搜索相关的入门资料或到图书馆借阅入门书籍

      面试并不会提前划重点,但也不会像普通的考试一样成为定向的测验。我们会考察你的每一分付出与努力

    3. 准备一个项目(最好带上源代码) 一个完善的项目可以让我们更好地考察你的能力。

      如果可以,请不要忘记准备相关的源码——良好的代码 风格和清晰的逻辑结构会为你的面试表现锦上添花 如果你还没有现有的项目,下面各组的部分中为你准备了任务——你可以根据自己的能力在面试前完成任 务或进行针对性的学习。

      不要过于担心,如果你是零基础的新生,我们更加注重你的学习能力与成长空间

    4. 做好准备,准时参加面试

      不要因为紧张或是疏忽而错过面试时间哦~


    Web 前端组

    前端技术的应用非常广泛,以网页构建为中心,近年来已经延伸至后端、Web App、桌面应用等多个维度。但他们都是以 HTML、CSS、JavaScript 为基础实现的。

    任务:准备一个个人主页

    我们推荐你自主完成个人主页的设计和编写。当然,如果你没有思路的话,也可以参照网络上的设计。下面也推荐了一些常见的元素:

    1. 头像
    2. 简短的个人介绍
    3. 兴趣爱好

    参考书目

    1. Head First HTML & CSS
    2. 深入浅出 HTML 与 CSS
    3. HTML5 与 CSS3 基础教程 / (美) Elizabeth Castro, Bruce Hyslop 著 , 望以文译
    4. w3school (http://www.w3school.com.cn/)
    5. learnCSSlayout (http://zh.learnlayout.com)

    移动 - iOS 组:

    概况

    iOS 组负责天外天工作室的 iOS 端的应用开发, 使用 Objective-C 和 Swift 语言进行编写工作, 开发工具为 Xcode.

    要求

    • 如果你之前没有任何编程基础:
      1. 将 Swift 作为入门语言, 了解面向对象编程的基本概念;
      2. 熟悉 Swift 中的基本类型, 集合类型, 运算符, 分支结构, 函数等内容;
      3. 根据面向对象部分的内容, 构建一个 '人' 的, 其具备 '姓名', '性别' 和 '身高' 等属性, 能够进行 '走路', '吃饭' 和 '说话' 等行为 (面向对象中称为方法).
    • 如果你有其他语言的开发经验:
      1. 将 Swift 作为新语言, 了解 Swift 较于之前所学语言的区别;
      2. 使用 Xcode 进行开发, 熟悉苹果开发的氛围, 了解 WWDC 等苹果开发者文化;
      3. 根据构建 iOS 应用指南, 构建一个小型应用, 并尽可能展示到目前为止你所掌握的内容 (包裹除 Swift 语言本身以外的框架, 不限于 Foundation 和 UIKit 等), 可以简单到一个 Hello World 的 Single View App, 也可以丰富到具有完备功能的应用.
    • 如果你有苹果应用的开发经验:
      1. 对 Swift 甚至 Objective-C 进行深入学习, 并对部分底层机制有所了解;
      2. 了解苹果软件的完整开发流程, 熟悉从架构到设计等的开发规范;
      3. 根据已有的应用开发经验, 结合过去使用的各种框架, 编写一个如资讯类 (知乎日报) 或音乐类 (网易云音乐) 的较为复杂应用.

    参考


    程序组

    程序组主要负责天外天产品后台研发,包括 Web 站点后台代码编写,移动产品API接口数据提供。

    要求

    团队要求对 Web 网站开发有一定了解,了解内容包括但不限于 PHP、Java、Python 等任一后端开发语言、结构化查询语言 (SQL) 等。

    加分项: 对 Linux 操作系统有一定了解。

    推荐任务 (选一个即可)

    1. 使用 C++ 或 Java 完成一个“人”的数据结构。(姓名、年龄、身高,吃饭、说话、运动等),需要运用继 承与多态等知识,定义不同的人(老师、学生、工人等)

    2. 通过自学,能够思路清晰地向他人讲解 IP 地址、端口、HTTP 协议等概念,对 Web 网站运作原理有大致了解。

    3. 使用 PHP 与 MySQL 交互,完成简单的数据存储与显示的功能。(输入数据,储存数据,显示数据)完成

      一个完整的留言板。(留言,删除,查看,修改)


    移动 - Android 组

    移动 - Android 组主要负责 Android 系统上的原生 App 开发,使用程序设计语言 Java 和 Kotlin 编写业务逻辑、 脚本语言 XML 编写界面布局,开发工具为 Android Studio。

    推荐任务: Java 语言的学习

    推荐开发环境: IntelliJ IDEA
    推荐教程: Java 语言快速入门
    学习路线: 数据类型 -> 基本语法 -> 方法 -> 面向对象程序设计 -> 异常处理 -> 反射机制 -> 注解机制

    这只是推荐的学习路线,也可以选择更适合自己的学习方法,学到哪里算哪里。

    如果这些还不能满足你,就继续学习 Java 语言更深层次的内容,学无止境!


    此外,欢迎大家加入我们的预备队 QQ 群: 907363318
    有工作室里帅气的小哥哥和漂亮的小姐姐们直接回答你们的疑问。