PHP 开发 - 岗位职责

岗位职责

把需求或产品实现为用户可用的软件产品

  • 参与项目框架设计、系统分析及流程控制、沟通对接等工作。
  • 独立或者分组进行针对项目需求的功能开发和优化。
  • 拥有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低;
  • 根据项目开发进度和任务分配,开发相应的应用模块。
  • 根据需要不断修改完善项目功能。
  • 参入核心代码的编写
  • 运营数据处理和分析

任职资格

  • 2 年及以上 PHP 开发经验
  • 具有 MySQL 索引优化、查询优化和存储优化经验、PHP 缓存技术、静态化设计方面的经验,要求随时随地贯彻最优化开发的思想,所负责的项目须能承担繁重的访问压力, 熟悉大数据量下性能管理及优化,并有较强数据库规划能力
  • 精通 PHP/MySQL 开发,精通 memcache、squid、redis 等缓存技术者优先;
  • 悉 MVC 开发,掌握部分开源 PHP 框架, Laravel 5 等;
  • 熟悉 Javascript 语言和 HTML 语言熟悉 HTTP 协议及 W3C 相关互联网规范,熟练掌握 XHTML、CSS、 DIV 等页面技术;
  • 熟悉 Unix/Linux 操作系统和开发环境
  • 具有优良的编程风格和习惯, 要求结构清晰、命名规范、逻辑性强、代码冗余率低
  • 有创新思想,敢于挑战新事物,了解用户体验
  • 责任心强,良好的对外沟通和团队协作能力,能承受工作压力, 具有项目管理经验优先
  • 团队协同工具少不了的(Git+)

加分项目:

  1. 有大型负载开发
  2. 能够编写项目技术文档者优先考虑
  3. 有成熟作品和独立开发整站的经验

氛围足够轻松和舒适

  1. 良好的技术提升空间
  2. 全栈/高阶工程师的发展方向
  3. 济南范围内高薪待遇和高薪目标, 有项目管理经验继续加薪
  4. 缴纳五险一金, 法定节假日
  5. 良好的办公环境和高配的 Mac 办公机器

岗位评级

初级

  1. 能够独立配置 Linux 上的 Web 运行环境,包括 PHP/MySQL/Nginx/Apache 等软件及其相关扩展
  2. 知道如何使用 PHP 手册、如何使用百度、谷歌等搜索引擎快速解决问题;
  3. 了解面向对象软件开发基本概念;
  4. 了解 mvc 思想和运行机制
  5. 熟练利用 MySQL 进行动态应用开发;
  6. 能够独立开发留言板、小型 CMS 等应用;
  7. 能够独立编译安装 PHP Extension;
  8. 对常用的 Linux 命令能够熟练使用;
  9. 能够使用 ZF/Yii/CI 等框架进行应用开发

中级

  1. 对面向对象开发有深入了解
  2. 能熟练应用常用设计模式来应用开发
  3. 了解 php 框架底层实现原理和设计思想
  4. 能够对 mysql 等数据库进行性能优化
  5. 了解并能应用常用缓存技术 redis/memcache 等
  6. 熟练掌握常用的数据结构和算法
  7. 熟练使用 composer 并能够自己开发 composer 扩展包

1、能够独立解决 Windows/Linux 上的 web 运行环境中出现的问题,能够熟练对 Web 运行环境进行优化;

2、了解如何使用 C 语言进行 PHP Extension 的开发;

3、熟练使用 Memcache/Redis 等工具对 Web 应用进行优化;

5、可以熟练进行较为复杂的 shell 编程;

6、能够对 MySQL 等数据库进行性能优化,能够独立查找并解决 Web 应用中的性能问题;

7、深入理解面向对象软件开发原则,对设计模式有深入学习、研究;

8、熟练掌握常见的数据结构及算法;

9、对 ZF/YII/CI 等框架源代码有过研究,了解框架精髓;

高级

  1. 了解 php 工作机制及 php-fpm 运行机制
  2. 熟悉 php 内存性能和效率优化
  3. 对 zend 引擎有基本了解
  4. 对 swoole, workerman 异步多线程有深入了解
  5. 对 redis/memcache 有深入了解
  6. 对分布式, 高并发系统有深入了解
  7. 有自主开发框架的能力

1、熟练利用 C 语言进行 PHP Extension 的开发,并能够快速解决 Web 运行环境出现的复杂问题;

2、对 Linux 系统有深入的研究,可以解决 Linux 系统出现的复杂问题;

3、对 MySQL 索引优化、Memcached 实现等工具的实现原理有深刻理解;

4、对分布式、高并发系统有深入研究;

5、在 PHP 领域中主导或参与部分开源项目,对 PHP 行业发展做出较为明显的贡献;

基本技能

  1. 基本能力
  • 搭建开发环境, 并且能够处理因为开发环境问题导致的问题

    • nginx

      • 413 无法上传图片
      • 无响应, 但是服务器能够正常访问(代理问题)
      • 服务器提交但是返回 500 , 查询 nginx 日志看 127.0.0.1:9000 端口的 cgi 响应
      • 根据日志来找错误

-php - 无法加载指定扩展 (进行扩展的安装) - 500 错误 / 一般是权限问题 - 通过 PHP 错误日志来处理问题所在

  • mysql

    • 表的创建/修改
    • 表的 [增 / 删 / 改 / 查]
    • 建立基本索引
  • 其他服务

    • supervisor
    • centrifuge
    • crontab
  • 代码管理

    • git 版本管理工具

      • git 提交/推送
      • git 代码合并
      • 提交合并请求
      • 代码审核(Review)
  1. 基础能力

    • php 基础

      • 类, 对象
      • 函数基础
    • Mysql 基础

      • 索引
      • mysql 基础函数
      • mysql 慢查询优化
    • Linux 服务器

      • 基本环境搭建
      • 服务配置维护
    • 前端技术

      • html, css, JavaScript
      • vue, react 框架

数据架构师 - 岗位职责

数据架构师岗位职责:

1、主导数据中台系统数据架构设计,编写相关技术文档;

2、主导公司数据分析工具集的落地,搜索产品、图分析、时空分析、自定义建模分析工具,交互分析工具,统计报表分析等产品设计;

3、基于项目需求,编写技术方案,为公司大数据项目落地提供技术指导;

4、把握大数据最新技术应用及发展方向,开展相应技术预研;

5、跟踪大数据行业进展及市场动态,不断创新完善设计方法论和解决方案,能够突破创新。

任职要求:

1.精通离线和实时数据处理和图计算框架等;

2.熟悉大数据技术生态圈,精通大数据技术架构,有大数据平台构建经验;

3.有实际大规模数据(10TB 级以上)处理经验优先;

4.有数据治理或人工智能相关项目经验;

5.本科及以上学历,4 年以上工作经验; .

6.具有项且管理经验优先

Android 开发 - 岗位职责\_评级

岗位职责

  • 负责 Android 手机客户端软件的设计及开发,根据项目的具体要求,完成任务目标
  • 负责工程中主要功能的代码实现,调试及后期维护
  • 负责根据其他开发组提供的数据接口进行数据交互
  • 负责编制 Android 项目相关的技术文档
  • 完成 Android 项目的日常升级,解决测试,领导提交的 bug 和改进建议
  • 协助测试人员完成软件的测试
  • 负责软件集成,部署,发布等工作
  • 严格遵守相关开发工具的编码规范,优化代码
  • 与其他员工合作开发,共同进行产品的开发,维护以及测试
  • 对 Android 项目进行版本控制及分支管理
  • 配合领导管理,完成领导安排的其他临时任务, 遵守公司相关制度

岗位要求

岗位评级

见习工程师

Title : 实习生(student engineer)

[1500-3000]

  1. 掌握基本的 Android 应用开发和调试技能,了解 Android SDK,会用 Eclipse,AS 等开发工具;
  2. 掌握基础控件、UI 布局,能够处理多分辨率适配;
  3. 具有较强的团队协作精神及高度的责任心,会使用 SVN,GIT 等协同开发工具;
  4. 了解面向对象编程思想,了解 MVC、MVP、MVVM,了解 JSON、XML 等数据解析。

补充:

可以写出 UI 界面,完成基本需求功能,会用开源框架以及开源控件,甚至会改造成符合自己项目的,了解一些 android 源码,但是知识面比较单一,懂数据结构,设计模式,计算机网络(OSI7 层模型每一层),数据库,服务器,熟练各大开源库,熟悉 Git,会造些轮子,会翻阅 android 源码,会逛各大技术网站,对新技术敏感(RxJava,Retrofit,Dagger,MVP,kotlin……),会反编译去研究别人 APP。

完全掌握 View 绘制过程,消息处理机制,事件分发机制,进程间通讯,NDK 开发。有一些不错的作品。

初级工程师

Title : 菜鸟(junior engineer)

[3000-5000]

  1. 熟悉 Android 平台下 GUI 设计和实现;
  2. 能够熟练配置 Android 开发环境, 有 1 年以上 Android 开发经验
  3. 具备扎实的 java 基础;熟练掌握 B/S、C/S 开发,有实际项目经验;
  4. 对数据结构、基本算法熟练掌握,并具备基本的算法设计能力;
  5. 优秀的文档编写和语言表达能力,良好的中英文阅读水平;
  6. 必须具备良好的编程习惯;对待工作认真负责,有较强独立解决问题的能力。

中级工程师

Title : 大虾(intermediate engineer)

[5000-7000]

  1. 对各种系统版本和机器适配有充分的经验
  2. 熟悉性能调优,崩溃处理
  3. 熟悉 UI 表现和用户体验
  4. 理解框架和背后的设计,而不是简单的 API 堆砌
  5. 对 UI 控件有丰富经验,包括自绘控件和动画
  6. 扎实的编程功底,能享受编程乐趣
  7. 高效的学习能力和分析解决问题能力

2 年以上 android 开发经验

写一些项目中要用的自定义控件,并优化出部分功能集成到工具类,能把控整体项目架构,搭出基本框架,可能耦合性高,扩展性不抢,看懂过 android 部分源码,知识面比较广。

高级工程师

Title : 大牛/专家(senior engineer)

[7000-9000]

  1. 熟悉 Android OS 系统体系结构、framework 层;
  2. 良好的 Java 技术功底,精通多线程、socket 通信、文件操作等 java 底层技术;
  3. 精通 Android 的基本组件使用,熟练使用 Android 各种布局与控件,熟练运用各种动画特效;
  4. 熟悉 View 的绘制原理,精通自定义动画以及自定 View 的开发,熟悉常用组件和框架的实现原理
  5. 有丰富的 Android 性能优化经验,善于解决系统崩溃,内存溢出和兼容性问题;
  6. 熟悉 JNI 技术和代码混淆
  7. 有单元测试、自动化测验及相关框架经验;
  8. 有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低,代码注释清晰;
  9. 对新技术有一定的创新和优化能力

本科或以上学历,计算机软件相关专业;

3 年以上 Android 开发经验;

搭项目框架,解耦,扩展性强,造专业的轮子,优化程序性能,掌握些黑科技,研究 android 源码,知识面设计广而深

架构师

Title: 大神/骨灰(android architect)

[9000 以上]

  1. 精通 Java 平台开发,熟悉面向对象设计方法和常用设计模式;
  2. 精通 Android 框架,深入了解底层服务、Binder IPC、SurfaceFlinger 等技术;
  3. 精通 Android UI 布局开发/Animation/OpenGL|ES/Multimedia 开发技术;
  4. 有丰富的软件架构设计经验,能快速搭建、调试或重构大规模软件代码;
  5. 掌握 JNI 技术,能熟练使用 Android SDK,能独立进行应用程序开发和移植;
  6. 精通 Android 多线程,对 HTTP/HTTPS/TCP/Socket 等网络通信协议有深刻理解和经验;
  7. 有足够的软件安全意识,掌握数据加密、代码混淆、防破解、性能优化等技术;

掌握两种以上开发语言或开发平台、全栈等技能

对新技术领域有较强的探索性研究能力

可根据实际需要加入学历,开发年限等附加条件

技术经理岗位职责以及任职要求

岗位职责

任务管理:开发工作量评估、定立开发流程, 技术选型、分配和追踪开发任务

质量管理:代码 review、开发风险判断/报告/协调解决

效率提升:代码底层研发和培训、最佳代码实践规范总结与推广、自动化生产工具、自动化部署工具

技术能力提升:招聘面试、试题主拟、新人指导、项目复盘与改进

文档管理: 对文档进行统一管理, 并要求技术人员在开发过程中完善开发文档

技术评定: 对在岗技术人员进行合理的技术评定, 并有有效的晋升机制

组建平台研发部,与架构师共建软件公共平台,方便各条产品业务线研发

通过技术平台、通过高一层的职权,管理和协调公司各个部门与本部门各条线。

推广落实绩效的有关内容
对员工状态进行跟踪, 异常问题进行处理
关注同事的生活状态, 如果有需要公司帮助的, 及时提出
对技术提升有严格, 要求, 需要有技术部分的进步

任职要求

1、技术愿景:识别新技术、利用新技术、整合新技术、驱动新技术。驱动商业战略、驱动产品战略

2、技术架构:建立主营业务中的技术架构与实施模式,建立技术体系标准

3、流程制度:建立高质量,高效率的技术团队。健全的项目管理体系;完善的员工能力发展体系

4、知识培训:建立以研发内容为主的知识库管理体系、技术分享与技术文化的体系

5、业务支撑:与其它部门的沟通协作,如 HR、市场、BD、财务、客服等提供技术管理接口;在产品技术层面能够领先于业内同行

6、影响力:在公司内部与行业中具备一定影响力与口碑

7、视野&格局&执行力:看待问题全面,具有强大的学习力,具备技术前瞻力,敏锐的市场嗅觉,战略落地的能力

测试工程师 - 岗位评级

岗位职责

  • 功能测试任务

    • 和产品核对需求并编写测试用例, 如有需求变动及时修改用例
    • 制定测试计划
    • 对开发出的产品进行完整测试
    • 对开发修复的问题进行回归测试
    • 对测试结果进行记录, 总结
  • 文档任务

    • 编写技术帮助中心, 线上出现相关问题说明文档(开发过程中的文档)
    • 对线上的数据进行记录并生成报表
  • 性能, 压力

    • 对开发软件进行性能测试
    • 接口的完整覆盖测试(线上无损)
    • 跟踪线上性能指标, 将指标以及不稳定行反馈给开发并进行下一步工作推进
    • 性能指标包含 接口性能, 压力测试, app 性能, 崩溃率, 慢接口
  • 上线

    • 上线前改动部分内容与运营, 产品进行确认, 引导运营进行后台的配置
    • 对 bug 进行跟踪, 对业务及运营等提出问题及遗留问题进行跟踪测试;
  • 根据产品经理提供的文档对功能进行复核

  • 编写使用说明书

    • 各模块介绍以及使用说明
    • 模块的相关性(前台/后台)

岗位评级

软件测试实习生(学习阶段)

1、软件相关专业毕业,但对工作性质、内容有一定了解,暂时不具备胜任工作的基本技能;

2、掌握软件测试的理论知识,熟悉软件测试相关工具,

3、有成为软件测试工程师的意愿和潜力,值得公司培养;

软件测试助理(参与工作)

1、能看懂产品原型、UI 设计,熟悉软件测试工具,对基础知识掌握比较完善;

2、能在指导下根据产品原型、UI  设计发现并提交 bug;

3、熟悉工作的流程,能明确直属上级在工作输出上对自己的要求;

软件测试专员(指导下完成工作)

1、能根据产品原型、UI 设计发现并提交 bug;对提交的 bug 进行跟踪和管理,能进行回归性测试;

2、对测试工作的要求、流程有充分认识,能根据流程进行基本的测试,

3、遇到困难能积极寻求帮助、主动查找解决方案,推动项目进展;

4、能明确自己的工作职责,顺利开展工作;

5、能够融入所在部门,能够和同事相互协作;

初级软件测试工程师(独立完成工作)

  1. 能根据产品原型、UI 设计准确的发现并提交 bug,独立完成里程碑测试;
  2. 能针对发现的 BUG 及时有效的和相关负责人进行沟通,督促其完成修改进行回归性测试;
  3. 能独立解决工作中遇到的问题,有自己的主观逻辑思想,能对 BUG 作出明确判断;
  4. 能严格按照规范流程进行测试工作,并能严格要求自己;
  5. 能够主动和同事进行有效沟通,解决当前问题,推动项目进展;
  6. 能够在他人带领下独立完成测试工作
  7. 有测试的想法和思路,能够编写测试用例,能够理解需求,能够自律

实施软件测试,并对软件问题进行跟踪,推动测试中发现问题及时合理解决

能独立解决工作中遇到的问题,有自己的主观逻辑思想,能对 BUG 作出明确判断,并且按流程、规范完成所承担测试工作

选择、确定并验证所承担任务的具体测试方案,能够主动和同事进行有效沟通,解决当前问题,推动项目进展

参与项目计划制定

完成所承担工作的文档

完成直接领导分配的其他工作,及时根据工作安排进行合理的优先级改变

中级软件测试工程师(指导工作)

1、熟练掌握测试工具和测试方法,能独立完成项目的整体测试,并给出评估报告;

2、针对项目有自己的见解,能够参与项目的整体方案讨论,给出合理建议;

3、能整理出逻辑思维漏洞、常见 bug 类别,给予其他同事技术指导、帮助其完成测试工作;

4、了解行业新的测试技术和测试工具,结合公司的实际情况将其应用到实际工作中,改善测试环境、提高测试效率;

5、能根据测试进展,合理分配时间,安排好测试项目的具体进程;

有较多相关软件测试经验,可以承担多个项目的完整测试工作

可以很快的分析和理解测试用例并可以找到问题,实施软件测试并对软件问题进行跟踪、复现,推动测试中发现问题及时合理解决

针对项目有自己的见解,能够参与项目的整体方案讨论,给出合理建议

了解行业新的测试技术和测试工具,结合公司的实际情况将其应用到实际工作中,改善测试环境、提高测试效率;

5、能根据测试进展,合理分配时间,安排好测试项目的具体进程;

高级软件测试工程师(主导工作)

1、参与过中型以上项目测试,对系统的测试方案有所了解;

2、能熟练、高效、准确的完成测试工作,并给出可行性意见报告;

3、能够根据各个测试项目的进展,制定出整个部的详细工作方案,主导工作进展;

3、能够对测试中出现的各种逻辑思维漏洞、常见 bug 进行分类汇总并找出解决方案,能对其他同事进行技术培训;

5、能够制定测试的规范流程,并监督实施;

有较深的相关软件测试的经验,承担多个项目的完整测试工作

对先关行业有较多经验,对程序设计有一定经验,具有技术创新能力,为软件测提供新的方法和新的技术

能够根据各个测试项目的进展,制定出整个部的详细工作方案,主导工作进展;

能够对测试中出现的各种逻辑思维漏洞、常见 bug 进行分类汇总并找出解决方案,能对其他同事进行技术培训;

能够制定测试的规范流程,并监督实施;

有较丰富的软件测试专业技能和工具运用技能,特别是从专业实践中获得的技能

资深软件测试工程师(全局把控)

  1. 拥有多年的项目测试经验,熟悉各种技术和应用场景,带领过中型以上项目测试;
  2. 熟悉整个测试环境的搭建,能够提供系统测试方案;
  3. 能够预估项目风险、告知技术疑难,提出规避方案,全局把控测试工作;
  4. 有能力管理整个测试审核部门、建立完善测试规范和流程;
  5. 能根据客户需求、受众情况对产品原型、UI 设计、技术研发进行深入分析提出可行性建议;

软件测试工程专家(前瞻规划、实施)

1、拥有丰富的研发、测试经历,能带领团队进行大型项目测试;

2、能建立、建全质量监控管理体系和内部管控系统;

3、能根据公司的发展需求,追踪收集测试新技术,能通过系统培训,提高团队能力;

4、对行业行情有深入研究,能根据公司现状、发展需求对测试部门进行前瞻性的职能规划,满足公司发展需求;

UI 设计师

工作内容

一、UI 设计师(APP)

  • 根据产品经理提供的产品需求,对产品的整体美术风格、交互设计、界面结构等做出设计;

  • 负责项目中各种交互界面、图标、LOGO、按钮等相关元素的设计与制作;

  • 能积极与开发沟通,推进界面及交互设计的最终实现。

  • 对页面进行优化,使用户操作更趋于人性化。

  • 进行界面完成后的尺寸标注工作

    • 制定相应的颜色以及尺寸规范
    • 进行界面的切图与图标提供工作
  • 辅助开发进行项目进展工作

  • 维护现有的应用产品

二、UI 设计师(网站)

  • 负责网站项目的整体版式、风格设计。
  • 进行对外合作的广告及专题设计。
  • 与前端配合进行界面切图以及图标提供工作
  • 进行尺寸的标注工作
  • 辅助开发进行项目进展工作
  • 以用户为中心的设计理念,对页面进行优化,改善网站用户体验。

三、广告设计

  • 设计相关的广告图片,PC 端与 APP 端

四、其他部分

UI 标准的指定

用户体验设计

交互设计

评级

初级

视觉设计的基础级别

视觉能力:

  1. 能用 PS 等绘图工具进行矢量或像素类的图形绘制
  2. 掌握 PS 中的图层样式、滤镜、图层叠加等功能,能模仿别人作品中所体现的造型和质感。比如知道了怎么用矢量或非矢量方式去勾画和调整图形,而不会造成边缘模糊等问题的;怎么用高光+渐变去体现形体质感的;知道哪里能弄到一些材质去贴上去得到什么样的效果等等。
  3. 懂得输出切图、懂得程序实现的方式和术语之类的。

交互能力:

  1. 知道交互是啥,明白软件流程图。
  2. 能在没有交互图的情况下看一个参考图或是领导的几句话就去做设计,也就是知道上哪去抄一些界面的交互过来的。

这就是初级的 UI 设计师,我相信大部分设计师都是停留在这个阶段,毕竟这样要达到,都有一定的难度的。需要很多临摹,很多实践,才能积累下来的。

中级

视觉设计需要突破到一个新领域的级别

视觉能力:

  1. 满足初级能力
  2. 能达到像素级的刻画,比如 16x16 的图标修整等,眼睛也要有像素级别的眼睛,一看就知道那里不对劲和是不是没有对齐等等。为何不把小图标的修正放到 C,是觉得这个确实不是每个公司都需要那样去做的。
  3. 懂得质感与色彩的搭配,了解整个行业的设计动向,比如风格、质感等,并且掌握其实现的技巧和懂得利用这些知识去创新设计。
  4. 有一定的设计理论,并能利用这些理论去输出进行教学,或是用于说服你的领导或客户。

交互能力: 5. 对于交互有比较深入的理解,并且已经能够胜任交互设计的工作。 6. 有一定的沟通能力,能清晰的表述整个设计的逻辑和交互方式。 7. 能根据产品文档或领导口述进行交互图制作,并且参与 PK 会议,能不能胜出我觉得还是靠别人是不是认可你的,不是靠自己说了就能赢的,哈哈。

用研能力: 8. 掌握用研基础,实时关注用户的反馈,认真去分析用户反馈的真实问题在哪,而不是盲目听从和跟风。 9. 掌握用研的方式和分析其有效性

高级

一个把控和平衡全局级别

综合能力:

  1. 满足中级能力,这里会发现已经不分交互和视觉或用研来说了,因为本身这几个领域在我看来它就是一体化的东西,不能拆分的。拆分就是等于缺胳膊少腿的,等别人的决定干事情,自己天天就等拍板那种。
  2. 能把交互和视觉两者都完美的做一个结合,做到可牺牲交互,或可牺牲视觉效果,拿捏自由。其实这里甚至会涉及到产品功能一些删减和修改其原有的功能方式都说不准。
  3. 有一定的程序开发逻辑知识,这里指的逻辑不是程序源代码,而是开发的一些实现方式,比如我在做 QQ 输入法的时候,设计皮肤底层就是和程序去 PK 皮肤底层的实现,并不需要懂代码,但是要把原理都解释清晰和皮肤实现架构都构造好。
  4. 设计初期能对交互框架,视觉框架,程序实现框架都很清晰的去了解,做到一次大的设计支持,而后面的版本变更不用有太大的改动,比如资源加载简便和多次复用。当然这里会存在很多因开发时间不允许的情况,那就看怎么去衡量这个问题了。

作为视觉来说,如果实现皮肤的底层强大,足以支持未来几年的需求,那么之后的工作会顺利很多的。这里又要拿 QQ 输入法举例,当时的底层设计的时候支持蒙板遮罩、Apng 动态图、切图带链接等。所以到今天为之,这个底层可以适应各种皮肤,如相框皮肤、动态皮肤、点击皮肤进入网站等等。而听说搜狗输入法现在的皮肤底层有 3 套架构在支持不同类型的皮肤,这就是当初设计的时候考虑欠缺或是开发时间限定的原因。这会导致安装包臃肿和系统缓慢,或是皮肤实现困难工作量大等问题。 5. 从用户研究中分析出准确的原因,并且提出实效的建议去解决问题。 6. 熟悉各种终端的交互和视觉规范或风格特性等。比如 pc、mac、ios、安卓之类的,并且在上面利用其特性合理的进行设计。

神级

所谓的 S,就是未能划分的,全都丢到 S 去,一般这样的情况的时候,人的能力点都非常突出和饱满了,就会往自己的方向去走了。那就是在这个阶段会孵化出独特的个人能力和魅力,会产生出不同形态的神级设计师。

综合能力:

  1. 高级产品经理能力。把产品经理的能力放到神级里面来说,因为能不被产品牵着头来走的视觉本身就少之又少,所以能自我控制产品方向的时候,那就完美了。

那么,如果单纯设计一个外形的话,看似是一个视觉的事情,但是要由产品去定义其个性和功能点,交互定义其行为方式,视觉最终去实现的话,通常都会出现很有趣的状态,我把他称为肢解再组合的产物。 2. 自我体现能力,通常这个时候,应该是积累很多的了,会根据经验和能力产生出独特的念能力的。

也就是说,会形成一个独特的神级形态,比如有些是喜欢在级别 B 的基础上,做专攻视觉的大师,把视觉发挥到极致,不管多么不合理的交互,都可以用视觉去弥补。或则是在 A 的基础上,做产品经理,来让引导整个局面等等,这里其实可以不用说特别多的例子,因为在这里去分化的话,是不可控的,结果也是很精彩的。 3. 神级设计师的地位,因为在这个行业里面的时间很长才能达到,所以资格会很老,加上嘴巴也很能说,自然会各有千秋。

iOS 开发工程师

工作内容

  • 对项目负责,负责软件项目的详细设计、编码和内部测试的组织实施,完成分配项目的实施和技术支持工作。

  • 与项目相关人员配合共同完成应用软件的开发工作;

    • IOS 平台开发环境(平台及工具软件)的设计、实现和维护
    • 按照项工作目计划在保证质量的前提下、按时完成开发任务
    • 负责与服务器端调试,确保应用质量
    • 适应性维护
    • 提供技术指导,促进系统操作技术和译码编程的有效使用
  • 参与需求调研、项目可行性分析、技术可行性分析和需求分析。

  • 熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。

  • 负责向项目负责人及时反馈软件开发中的情况,并根据实际情况提出改进建议。

  • 参与软件开发和维护过程中重大技术问题的解决。

  • 追踪上线情况已经线上存在问题。

  • 跟踪 IT 技术进展,做好技术储备

初级工程师:

  • 精通 OC/Swift 语言基础 精通 UIKIT 熟悉网络通信机制 具备主流开源框架使用经验,研究过源码,并懂得他们的原理,

  • 完成基本的页面搭建,通过三方库的引用于使用完成功能

  • 熟悉常用网络框架并使用网络框架进行上传

  • 熟悉 iOS 常用内置的 API

    • 消息传递:代理、block、通知;
    • 数据存储:sqlite、xml、json;
  • 能根据业务逻辑,完成数据与 UI 的对接

    • 第三方:分享、登录、支付等;
  • 了解视图加载顺序

中级工程师

  • 能够快速完成界面搭建以及较为复杂页面搭建
  • 能够根据项目业务逻辑以及项目需求封装出常用的工具类
  • 熟练常用 iOS 内置 API
  • 能根据业务需要快速选择合适的第三方,并快速完成第三方学习.
  • 了解常用第三方框架底层并能做二次封装
  • 具备基本的架构能力.能够根据项目以及业务方向设计健壮的项目架构 较好的编程习惯
  • 具备一定的产品意识

扎实的编程基础、数据结构、算法基础 深入理解语言机制、内存管理、网络、多线程、GUI、运行时 精通常用设计模式、框架、架构 良好的分析、解决问的能力 熟悉 Core 相关的框架 单元测试

能够接受各种新功能的开发(这里是指,即使你没有做过,但是你仍然可以凭借着学习,解决任何业务需求:例如:蓝牙.AR.摄像头.硬件交互.等)

  1. 音频、视频的使用;
  2. 简单动画效果;
  3. 运行时 runtime、RunLoop;
  4. 线程的使用(GCD&NSOperation);

中级知识点

设计模式

• UIScrollView/UITableView/UICollectionView 的嵌套

• 动态行高

• 通知/代理/block

• 程序启动原理 • 触摸事件/手势

• 图文混编

• Runtime

• NSRunLoop

• GCD

• ReactiveCocoa 开发

• 3DTouch

• 界面渲染

• Charles 花瓶抓包

高级工程师

第三方库安全性评估

架构风险评估,项目风险评估

具备创新并开发出新框架的能力

有自身技术专项领域.在这个领域有积累有造诣,解决公司核心业务.比如项目安全.图形图像处理,音视频.能够帮助公司攻克技术难度,做技术预研.

解决研发过程中的关键问题和技术难题(方案和思路)

调优设备流量、性能、电量

较强的软件设计能力,动态加载,异步绘制框架

对 iOS 内部原理有深刻理解

高级算法:加密等

逆向,OpenGL ES, Metal

iOS 高级知识点

XMPP 加密

Socket

MD5 详解 Base64 加密解密 RSA 非对称加密 AES 对称加密

音频

基础 Core Audio Audio Toolbox OpenAL AVFoundation Speex 语音聊天 AudioQueue/AudioSession Speex 简介

视频

AAC 视频.H264 推流 P2P 传输

直播

直播的技术分析与实现 RTMP 协议 RTMP 直播应用与延时分析 如果做一款 inke 版的 App 推流发布和播放 RTMP FFmpeg 基于 FFmpeg 的推流器 HLS 流媒体传输协议(HTTP Live Streaming) FFmpeg ijkPlayer

算法

简介 冒泡排序 快速排序 插入排序 归并排序 二分查找 希尔排序 动态规划 堆排序

资深工程师:

精通底层原理,数据结构等,可以进行二进制重排

能领导公司相关方面的研究、开创业界一些实践

对公司某一方面的战略规划和未来走向产生影响

精通高性能编程以及性能调优(前期性能瓶颈分析)

灵活运用数据结构、算法解决复杂程序设计问题

提供性能优化、日志搜集、统计分析方案

架构、模块设计

App 内核

底层框架的解读;

  1. 工程架构;
  2. 高级动画效果实现;
  3. 网络编程、socket 编程;
  4. 视频、直播底层技术;
  5. 即时通讯底层技术;
  6. 人脸识别;
  7. 性能检测;

自身:跨平台技术学习、iOS 开发语言学习(Objective-C、swift)、SQL 使用

运维 - 岗位职责

例行工作

  • 访问请求高于 300 ms 的链接定时发送,过滤唯一性链接(每周两次发送)
  • 404 日志错误链接定时发送(每日一次)

工作职责

一、 开发环境

  • 1、规整开发环境,设定自动开发环境部署,构架自动开发平台 devauto 建设。
  • 2、管理 git/svn 代码版本控制并实现本地、测试与线上代码的管控和流程优化
  • 3、按照开发要求,提前搭建、添置开发新组件、环境和系统;
  • 4、构建内部开发 WIKI 知识体系,为技术员工入职技术培训提供支撑,尽快熟悉代码开发流程与规范;

二、线上服务器管控

  • 1、根据产品要求,构建可靠的网站、应用服务平台并保证正常运行;
  • 2、保障线上网站 ixdcw 平台正常运行。使用 Zabbix NAGIOS 等监控软件,对服务进行监控,异常处理,自动恢复,系统瓶颈分析和报表周期汇报;
  • 3、监控数据库的正常运行。获取慢查询信息,并自动去重复,发送给指定的开发人员对数据进行优化和代码调整;每天进行一次汇报;
  • 4、网站数据访问分析;分类整理网站访问日志、APP 的访问日志并做汇总和分析,并自动发送给指定人员。每天一次。每月 1 次大汇总;
  • 5、部署自动化运维工具 ansible 或 SaltStack 提高对服务器平滑部署和管理的可行性和效率;

三、系统安全

  • 1、设定信息发布堡垒机,ssh 安全连接堡垒机,合理分配使用账户,并使用周期检查和修改密码方式,保证信息发布入口安全;
  • 2、设定测试环境访问限定、mysql 连接安全、优化系统运行账户安全、运行权限和登陆日志安全检查,并定期汇总;
  • 3、部署硬件防火墙(软件防火墙),和入侵检测系统并设定合适测试,防止 CC 工具和 DDOS 等网络攻击;
  • 4、应用服务器(php nginx lvs mysql)设定合理的防火墙策略,对异常请求和访问进行自动过滤和攻击防范,强加安全;
  • 5、关注漏洞网站,针对系统漏洞和应用漏洞进行组件升级、应用升级和系统升级。
  • 6、定期对网站进行风险评估、压力测试和应用访问统计来升级硬件、拓展服务。
  • 7、定期更换关键系统的密码。

四、数据安全

  • 1、每日对开发人员提交的代码库定时备份;
  • 2、定时备份开发人员使用的数据库和数据库结构;
  • 3、每天对线上运营服务器数据库进行完整备份、完整单表备份、完整数据结构备份。并使用主从库来保证数据的实时性;
  • 4、同步备份数据至本地服务系统,并保留归档;
  • 5、设定高可用 HA MYSQL、保证数据库故障后的无缝接管;

五、其他需求

  • 1、对各种系统、服务运行日志进行分析,针对性优化系统;
  • 2、根据开发和其他部门要求,完成新系统的构建和二次开发;
  • 3、领导安排的其他事宜;

工作内容

运维工程师详细工作内容

  • 1.设定所有服务器的监控报警机制,并发送报警信息至 js_xlq 和js_zdy@ixdcw.com;
  • 2.设定系统故障后的自动重启 shell 脚本实现和接管机制 nginx 的反向代理存活机制或 Keepalived 检测机制;
  • 3.设定图片服务器的防爬功能,时时关注异常抓取并设定封堵;采用 nginx 的三方插件或自行写 shell 实现;
  • 4、分析 nginx php mysql linux 的访问日志,并把网站、api 访问统计、数据库 0.5ms 慢查询日志、PHP feata error、汇总自动发送到指定人员(使用 python 来是实现分析并发送邮件),关注前段 static 下的图片、css、错误日志记录并发送前段。所有以 show ,list 访问不存在的死链,统计后发送 SEO;
  • 5、数据库的实时备份从备份、每日的完整备份和完整单表备份;并归档到本地;采用主从库设定、binlog 和 shell 来实现;
  • 6、防止 DDOS 和 CC 攻击 WAF 软件部署; 采用 LUA 的扩展实现;
  • 7、优化开发人员环境并开发部署;(采用张宴使用的方式进行)

运维考题

  1. 如何监控一个 ip 访问异常并进行处理

行政 - 岗位职责

工作内容

  • 配合技术部主管相关工作

    • 会议跟踪及会议记录
    • 辅助文秘工作
  • 技术中心文件归档

  • 账号管理

    • 系统使用的开发者账号
    • app 上线开发者账号(IOS/Android)
    • 钉钉管理
    • 企业邮箱管理
  • 整理产品文档

  • app/平台上线跟踪及上线通知

  • 技术中心员工入职引导/离职善后

    • 账号分配
    • 新人指引
    • 离职账号清理
  • 技术部卫生跟踪

  • 日常工作管理

C++\_C_C# 开发 - 岗位职责

岗位职责:

  1. 维护易代练以及附属项目的代码编写, 调试, 测试和维护
  2. 编写代码注释和开发文档
  3. 对系统进行性能优化, 功能定义以及程序设计
  4. 分析并解决软件开发, 发布, 用户反馈的问题
  5. 按时根据产品经理要求完成功能开发

岗位要求:

  1. 1 年及以上的 C/C++/C#/.net 开发经验,能独立完成 PC 客户端项目开发
  2. 熟悉面向对象编程和多层架构的设计和开发,熟悉常用的设计模式
  3. 精通 C#语言,asp.net 程序开发和 Visual studio 使用
  4. 有 C++ 语言功底视为加分项
  5. 有良好的沟通技能、团队合作能力, 代码协同,责任心强
  6. 有良好的编程风格,具有规范化,标准化的代码编写习惯

产品经理 - 岗位职责

工作内容

  • 需求整理, 需求分析
  • 将产品需求转换为产品功能
  • 对需求进行原型设计(PRD, 交互稿)
  • 对功能提升用户体验
  • 优化用户体验, 优化视觉呈现
  • 把控产品质量

任职要求

  • 有一定的行业认知
  • 对产品负责, 对数据负责, 对老板负责
  • 熟练使用 axure 等一种产品交互工具

岗位分级

Web 前端 - 岗位职责

技能要求

Vue/React/Angular 框架中的至少一种

工作职责

• 配合产品经理和设计师快速实现优秀的前端界面

• 持续改进当前产品的前端功能,优化性能,改善访问体验

• 主导前端的设计和开发, 维护, 部署

• 维护伙玩聊天室项目, 网页端项目

岗位要求

• 2 年以上 web 前端开发经验

• 精通 H5、CSS3,JavaScript 基础, 熟悉 Es5/Es6 便捷语法结构

• 使用 js 编写封装良好的前端交互组件, 维护以及优化前端页面性能

• 熟练使用 Vue/React/Angular 至少一种框架使用经验, 对框架的数据管理有自己的应用经验, 对 route/middleware 应用有自己的见解

• 熟悉前后台交互流程, 并有对流程优化的经验

• 熟悉 websocket 以及相关类库

• 具有优秀的团队协作及沟通能力

• 对前端技术有持续的激情,追求最佳用户体验,责任心强,善于学习新事物

• 对 SPA 有 SEO 经验的视为加分项

• 熟练使用 React/Redux 视为加分项

• 有 Npm 包封装经验视为加分项

详细工作内容

  • 保障网页访问是 https 访问, 并且不要出现非安全的资源